Hardware transcoding not working right?

I just build a dedicated plex media server machine using a Dell R230 with the following specs.

E3-1225 V5 (Quick Sync enabled per ARK site)
8GB ram
mirrored 480GB SSDs for Boot/storage

The plex “experience” is much snappier now, coming from a FreeNAS jail running on an E3-1230V5 in my old NAS, but I’m not seeing hardware transcoding work. I spent days reading forum posts, the WIKI/FAQ on Hardware transcoding, just to make sure I bought the right stuff. Dell wanted a premium for a V6 chip with QSV, so I got the 4 core E3-1225 V5 for now with a plan to upgrade that to a 1275v6 later if things looked ok.

I chose Ubuntu 16.04 for the OS, seeing as how it was supported. Everything seems right, yet I don’t see hardware transcoding working:

I’ve tried both HEVC and x264 content…neither will show the “hw” next to it, and cpu usage is through the roof with only 4 cores.

I made sure that “Use Hardware trans-coding where available” is checked, made sure the processor matched, etc.

Am I missing something here? The 1225 v5 should support it, The OS supports it, so why isn’t it working? One last bit, I’m a plex pass subscriber so that’s in place.

Thanks!

x264 xml: pastebin.com/ELryy1Pp
hevc xml: pastebin.com/ewgYa9Qp

plex media server.log after starting the x264: pastebin.com/KrsAfc9p

Grepping for “hw” in the logs turns up something dissapointing:

 Dec 23, 2017 12:37:50.485 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:50.486 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:50.487 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:50.487 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument

Do I need to install drivers or something to get this to work?

More grepping:

Dec 23, 2017 12:37:13.217 [0x7f99b07fd700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:37:13.218 [0x7f99b07fd700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:37:13.939 [0x7f99b07fd700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:37:13.939 [0x7f99b07fd700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:37:21.286 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:21.286 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:21.287 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:21.287 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:21.287 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:21.288 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:21.288 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:21.288 [0x7f99b07fd700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:21.352 [0x7f998affd700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:37:21.352 [0x7f998affd700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:37:21.353 [0x7f998affd700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:37:23.131 [0x7f99adffe700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:37:23.131 [0x7f99adffe700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:37:23.131 [0x7f99adffe700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:37:50.485 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:50.485 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:50.486 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:50.486 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:50.487 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:50.487 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:50.487 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:37:50.487 [0x7f99af5e4700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:37:50.554 [0x7f99adffe700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:37:50.554 [0x7f99adffe700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:37:50.555 [0x7f99adffe700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:37:51.925 [0x7f99af5e4700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:37:51.925 [0x7f99af5e4700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:37:51.925 [0x7f99af5e4700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:38:45.648 [0x7f99a83ff700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:38:45.648 [0x7f99a83ff700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:38:45.649 [0x7f99a83ff700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:38:45.649 [0x7f99a83ff700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:38:45.712 [0x7f99af5e4700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:38:45.712 [0x7f99af5e4700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:38:45.712 [0x7f99af5e4700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:38:49.411 [0x7f99673f9700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:38:49.412 [0x7f99673f9700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:38:49.412 [0x7f99673f9700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:38:49.413 [0x7f99673f9700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:38:49.415 [0x7f99673f9700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:38:49.416 [0x7f99673f9700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:38:49.416 [0x7f99673f9700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:38:55.687 [0x7f99767ff700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:38:55.688 [0x7f99767ff700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:38:55.688 [0x7f99767ff700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Dec 23, 2017 12:38:55.688 [0x7f99767ff700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Dec 23, 2017 12:38:55.691 [0x7f99767ff700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:38:55.691 [0x7f99767ff700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:38:55.691 [0x7f99767ff700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:38:56.331 [0x7f999bbfe700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:38:56.331 [0x7f999bbfe700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:38:56.331 [0x7f999bbfe700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Dec 23, 2017 12:38:59.716 [0x7f99b07fd700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Dec 23, 2017 12:38:59.716 [0x7f99b07fd700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Dec 23, 2017 12:38:59.716 [0x7f99b07fd700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:

If you open up terminal window and type ls -la /dev/dri what do you get?

This will tell us if the OS is recognizing the processor and GPU correctly

@ChuckPA said:
If you open up terminal window and type ls -la /dev/dri what do you get?

This will tell us if the OS is recognizing the processor and GPU correctly

root@plexmediaserver:~# ls -la /dev/dri
ls: cannot access '/dev/dri': No such file or directory

I’m running Ubuntu Server, not desktop…Is the Desktop version required?

root@plexmediaserver:~# cat /etc/debian_version
stretch/sid
root@plexmediaserver:~# uname -a
Linux plexmediaserver 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

root@plexmediaserver:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

root@plexmediaserver:~# lspci -v |grep -e VGA
07:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01) (prog-if 00 [VGA controller])

root@plexmediaserver:~# lshw | grep -A9 VGA
                         description: VGA compatible controller
                         product: G200eR2
                         vendor: Matrox Electronics Systems Ltd.
                         physical id: 0
                         bus info: pci@0000:07:00.0
                         version: 01
                         width: 32 bits
                         clock: 33MHz
                         capabilities: pm vga_controller bus_master cap_list
                         configuration: latency=0 maxlatency=32 mingnt=16

I would expect that something like “Skylake integrated Graphics controller” would show up. I rebooted the box, went into the BIOS and made sure that “integrated graphics controller” was enabled…it was.

I’m sorta stumped here. If I need to, I can get a dedicated GPU, but the point of picking the e3-1225 variant was for the integrated GPU that could do hardware decoding… Waiting to see what anyone has further.

Thanks.

There’s the reason PMS can’t do hardware transcoding. That Xeon doesn’t present itself to Ubuntu in a way Ubuntu recognizes and makes accessible via /dev/dri/renderD128 or /dev/dri/card0.

The TL;DR ? “not compatible”

@evanrich said:

@ChuckPA said:
If you open up terminal window and type ls -la /dev/dri what do you get?

This will tell us if the OS is recognizing the processor and GPU correctly

root@plexmediaserver:~# ls -la /dev/dri
ls: cannot access '/dev/dri': No such file or directory

I’m running Ubuntu Server, not desktop…Is the Desktop version required?

root@plexmediaserver:~# cat /etc/debian_version
stretch/sid
root@plexmediaserver:~# uname -a
Linux plexmediaserver 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

root@plexmediaserver:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

root@plexmediaserver:~# lspci -v |grep -e VGA
07:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01) (prog-if 00 [VGA controller])

root@plexmediaserver:~# lshw | grep -A9 VGA
                         description: VGA compatible controller
                         product: G200eR2
                         vendor: Matrox Electronics Systems Ltd.
                         physical id: 0
                         bus info: pci@0000:07:00.0
                         version: 01
                         width: 32 bits
                         clock: 33MHz
                         capabilities: pm vga_controller bus_master cap_list
                         configuration: latency=0 maxlatency=32 mingnt=16

I would expect that something like “Skylake integrated Graphics controller” would show up. I rebooted the box, went into the BIOS and made sure that “integrated graphics controller” was enabled…it was.

I’m sorta stumped here. If I need to, I can get a dedicated GPU, but the point of picking the e3-1225 variant was for the integrated GPU that could do hardware decoding… Waiting to see what anyone has further.

Thanks.

you need a motherboard with a C236 chipset to support quicksync. Beyond the chipset you also need bios support, which can be sketchy on E3 boards.

@trudge said:

you need a motherboard with a C236 chipset to support quicksync. Beyond the chipset you also need bios support, which can be sketchy on E3 boards.

dell.com/en-us/work/shop/dell-poweredge-servers/poweredge-r230-rack-server/spd/poweredge-r230

The R230 comes with a C236 chipset. I’m going to try installing ubuntu desktop to see if it does anything different ( on a second drive). my guess is that Dell just isn’t exposing it somehow. That, or they didn’t enable it in the BIOS (only option I can find is “enable/disable integrated video”…which did absolutely squat (even disabled, it said enabled once power cycled)

Be advised, if you put a GPU card in, making it the primary display driver and accessible to libva is entirely on you. At present, stand-among GPU cards (nNidia / AMD) aren’t supported for hardware transcoding.

Its disabled by Dell in lieu of the Matrox.

@Achilles said:
Its disabled by Dell in lieu of the Matrox.

http://en.community.dell.com/support-forums/servers/f/956/t/20006431

Well…that’s garbage. Wish I had found that before. Got a steal on the 230… guess now my choices are either to produce optimized versions of 4k content, or go with a e3-1270v6, as the r430 with an e5 8/10 core chip is now too expensive to pick up with the r230 lying around.

Thanks

Sorry about the bad luck there.

@Achilles said:
Sorry about the bad luck there.

Thanks man. Not sure if you remember our chat re: HBR, but I broke down and bought a Nvidia Shield, ditching the NUC 7i3bnk on Ebay, shield does everything, 4k, HBR,HDR, and it seems faster too…if only I could figure out how to boot it into plex.

Re: the Dell, I think I’ll end up doing one of two things. I monitor it in both graphana and librenms, if I see CPU load staying too high, I’ll either swap out the 4c/4t E3-1225 for a 4c/8t E3-1270, or ebay that and get a R430 with a E5-2620v4 (8c/16t) or E5-2630v4 (10c/20t) cpu… I would consider supermicro but I can usually get the Dell’s a lot cheaper…my storage is Supermicro based though…

@ChuckPA said:
Be advised, if you put a GPU card in, making it the primary display driver and accessible to libva is entirely on you. At present, stand-among GPU cards (nNidia / AMD) aren’t supported for hardware transcoding.

Any idea when this would happen? I see it looks like an nvidia shield can do trans-coding, an nvidia AIC can’t?

Edit: disregard, misread the shield…it just decodes, does not encode.

I don’t know either product, sorry.

Of course I remember the conversation @evanrich. I keep track of all my high end peer users trying to setup the ultimate playback experience.

Pardon the bump and my first post. I debated bumping this old thread vs starting a new but somewhat duplicate topic.

However, I believe I have been burned by this issue. I purchased a Dell T130 Power Edge Server in 2017 mainly to be a ZFS / Samba File server. My Celeron G3930 which is nothing fancy but was perfectly suited for serving files does have QuickSync in the processor.

I have been unable to get Plex to HW transcode any video content. I do see a device at: /dev/dri/card0,

sgrey@endurance:~$ ls -la /dev/dri
total 0
drwxr-xr-x  3 root root      80 Sep 15 09:43 .
drwxr-xr-x 18 root root    3560 Sep 15 09:43 ..
drwxr-xr-x  2 root root      60 Sep 15 09:43 by-path
crw-rw----  1 root video 226, 0 Sep 15 09:43 card0

but lspci shows

07:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01) (prog-if 00 [VGA controller])

I was just looking for a confirmation that my suspicions are correct that the internal Intel video adapter is disabled. Thanks to those above who went to the lengths to get an answer from Dell.

Has anyone found a work around? I looked at buying a Nvidia Quatro P2000 but I don’t have the power supply to drive that kind of card. I have also considered getting a Xeon just to brute force CPU transcode. My needs are limited I only need to be able serve up 2-3 streams simultaneously. I was also considering pre-optimizing my content. I am just serving content to a few Apple TVs and an Ipad. The content is LiveTV in MPEG2 format from a HD HomeRun Quatro.

Thanks in advance

For Plex Hardware Transcoding to work right with Intel QSV,

/dev/dri/renderD128

must exist and point to the QSV device.

nVidia uses a different mechanism. If their drivers are loaded, the transcoder will attempt to use it through their driver.

1 Like

I did find an alternative solution.

It would appear the Plex app for Samsung TVs can decode mpeg2 with hardware acceleration. Therefore the content doesn’t require my server with limited resources to transcode to h.264.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.