Hello there! I was hoping some kind soul would be willing to lend me a hand getting hardware encoding/decoding working on my server. No matter what I play, on what client, at what resolution, I can not get that magical “(hw)” to show up on the now-playing file, and my CPU definitely appears to be doing the work with the software transcoder. I did a “grep” on my PMS logs for “hardware” and it’s confirming that PMS doesn’t think quick sync is available:
Sep 10, 2018 13:09:03.129 [0x7f6d9eff9700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Sep 10, 2018 13:09:03.129 [0x7f6d9eff9700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
However Intel ARK lists my i7-8700 as having Quick Sync. Briefly, here are some system details:
Server Version#: 1.13.7.5369
Player Version#: Web 3.67.1 (or any other player)
OS: Ubuntu 18.04.1 LTS
Kernel: 4.15.0-33-generic
CPU: Intel® Core™ i7-8700 CPU @ 3.20GHz
After some googling I have tried adding “i915.alpha_support=1” to my GRUB_CMDLINE_LINUX_DEFAULT line in my /etc/default/grub, reloading GRUB and rebooting, but that hasn’t helped. I’ve also tried installing a few video-related packages, and I ensured my Plex user is in the “video” group. I’ve been searching around but unfortunately I’m at a bit of a loss for what to try next. Any assistance would be greatly appreciated!
BTW I’m happy to send more logs, but the entire massive log folder seemed a bit excessive. Please let me know if there is anything specific I should search for.
It looks like the problem may be that 18.04 has no HWE in its kernel. I’m on 18.04.1 and HWE isn’t expected to be added until 18.04.2 in Feb. 2019 based on the Rolling LTS Enablement Stack. Man, that’s a ways off… Now I’m itching for the 18.10 upgrade with kernel 4.17…
Against all good sense, I went ahead and installed kernel 4.18.7-041807-generic via uktools. My system successfully rebooted (thank the gods), and shows that kernel active. However, Plex is still kicking up errors:
Sep 11, 2018 12:21:52.371 [0x7fe44c7fe700] ERROR - [FFMPEG] - No VA display found for device: /dev/dri/renderD128.
Sep 11, 2018 12:21:52.372 [0x7fe44c7fe700] ERROR - [FFMPEG] - Cannot load libcuda.so.1
Sep 11, 2018 12:21:52.372 [0x7fe44c7fe700] WARN - avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
I see it’s looking for my VA device in /dev/dri, so I had a look:
ls -al /dev/dri
ls: cannot access '/dev/dri': No such file or directory
I’m running a headless box in a colo, and it doesn’t have any GUI installed. I did see someone in some forum or Reddit post saying X might need to be installed for anything to use the GPU. Is this the case? Even though it’s a headless box, do I need to install X so Plex can see the GPU?
You only need the X server if you’re running the proprietary nVidia display drivers. They initialize first and then the rest of the interface comes up.
Plex uses libva to access the /dev/dri/renderD128 node created by the kernel when it initializes.
If you’re not getting /dev/dri at all, then nothing is being recognized whatsoever.
For anyone who stumbles across this thread in a search: after using ukuu to update to mainline kernel 4.18.11-041811-generic, hardware video transcoding with Quick Sync now works. If you update your kernel to 4.18.11-041811-generic and that alone doesn’t solve the issue, perhaps the updated video drivers from the oibaf PPA are needed too; I already had those installed prior to updating my kernel.