Server Version#: 1.19.2.2673
Player Version#: Any
OS: Ubuntu 18.04.4 LTS
Hardware: Intel NUC NUC10i7FNH
I am trying to get hardware transcoding enabled on this setup. I have been reading that there is some issues with 18.04 and HW Transcoding, but am unsure on how to actually troubleshoot this.
ls -la /dev/dri
ls: cannot access ‘/dev/dri’: No such file or directory
lspci -nnk | grep -i vga -A3
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:9bca] (rev 04)
Subsystem: Intel Corporation Device [8086:2081]
When I look in logs I see many lines like…
Codecs: testing h264 (decoder) with hwdevice vaapi
DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Generic error in an external library
DEBUG - Codecs: testing h264 (decoder) with hwdevice nvdec
DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Unknown error occurred
I also see some lines that look like…
DEBUG - Request: [127.0.0.1:53236 (Loopback)] PUT /video/:/transcode/session/24BEE65F-CC55-470C-91BC-BF79C9FCE1D2/9240fd4d-62ae-4903-8d71-b2d82ac21761/progress?progress=1.9&size=-22&remaining=545&vdec_packets=2398&vdec_sw_ok=2384&speed=8.9&vdec_hw_status=0 (44 live) Signed-in Token (xxxxxxxxx) (range: bytes=0-)
Any help to get this working would be great.
The kernel can see the graphics adapter.
It can’t, however, see the ASIC. When it does see the QSV ASIC, it will create the nodes in /dev/dri
This is a kernel deficiency.
Maybe 19.10 will have an updated kernel or you might even need wait until 20.04 is released…
Try updating the PCI IDs on the system:
sudo update-pciids
And then add i915.alpha_support=1 to your kernel command-line.
https://wiki.ubuntu.com/Kernel/KernelBootParameters
This may allow the kernel driver to recognize the newer hardware. I suspect however that @ChuckPa is right and an updated kernel with support for QSV in 10th Gen processors will be required.
Menel
April 20, 2020, 9:01pm
4
There’s often some lag until fresh new hardware gets put into the hwe stack. Maybe you got ahead of it. Is the kernel in Ubuntu 18.04 updated to support Comet Lake?
Look here
https://bugs.launchpad.net/ubuntu/+source/intel-vaapi-driver/+bug/1873262
1 Like
Per the referenced thread about version 2.3.0,
I checked with the transcoder team.
We’re already using a newer version of that driver which means only the kernel dependency remains.
Thanks everyone! I will hop on the 20.04 bandwagon on Thursday and update here what the results are.
2 Likes
Just upgraded to 20.04 and HW transcoding kicked off without any intervention.
1 Like
May I see the DEBUG logs ZIP please?
If it is as I hope, It’ll confirm everything I need to answer other threads.
Hopefully this is ok… never posted these logs before. Nuc10 HW Transcode debug logs.zip (5.9 KB)
Settings - Server - Troubleshooting (along the left panel) - Download Logs
That will give you the ZIP file I need please.
Thanks.
I’m sorry. One more time?
I see the startup.
Please start a transcoding session
Let it play for 20 seconds
Stop it
Download the logs one last time.
That will confirm everything needed. It’ll show the handshake
Sorry about the delay. Here are the new logs. Plex Media Server Logs_2020-04-29_14-40-50.zip (6.8 MB)
Nope, hardware not detected.
Does /dev/dri/renderD128 exist ?
If not then it’s as I’ve seen and expected – Need to wait for the -10xxx processors to be supported by the kernel’s HWE.
Apr 29, 2020 14:16:04.404 [0x7f7cabfff700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Apr 29, 2020 14:16:04.404 [0x7f7cabfff700] DEBUG - [Universal] Using local file path instead of URL: /media/Storage/TV Shows/Bob's Burgers/Bob's Burgers - 04x22 - World Wharf II- The Wharfening (or How Bob Saves+Destroys the Town) (2).mkv
Apr 29, 2020 14:16:04.404 [0x7f7cabfff700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder:
Apr 29, 2020 14:16:04.404 [0x7f7cabfff700] DEBUG - Job running: EAE_ROOT='/tmp/pms-59a3d72a-5559-47bd-aba1-fec3c0046e6d/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/99c90e0-3095-linux-x86_64/' XDG_CACHE_HOME='/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache' XDG_DATA_HOME='/usr/lib/plexmediaserver/Resources' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/usr/lib/plexmediaserver/Plex Transcoder' '-codec:0' 'h264' '-codec:1' 'ac3' '-noaccurate_seek' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/media/Storage/TV Shows/Bob'\''s Burgers/Bob'\''s Burgers - 04x22 - World Wharf II- The Wharfening (or How Bob Saves+Destroys the Town) (2).mkv' '-filter_complex' '[0:1] aresample=async=1:ocl='\''stereo'\'':osr=48000[0]' '-map' '0:0' '-metadata:s:0' 'language=eng' '-codec:0' 'copy' '-map' '[0]' '-codec:1' 'aac' '-b:1' '256k' '-f' 'dash' '-seg_duration' '5' '-init_seg_name' 'init-stream$RepresentationID$.m4s' '-media_seg_name' 'chunk-stream$RepresentationID$-$Number%05d$.m4s' '-window_size' '5' '-delete_removed' 'false' '-skip_to_segment' '1' '-time_delta' '0.0625' '-manifest_name' 'http://127.0.0.1:32400/video/:/transcode/session/np3hmz01djkggstmathkcbik/8958ec33-f8fb-4f0c-973c-56d0eb18736d/manifest?X-Plex-Http-Pipeline=infinite' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'dash' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/np3hmz01djkggstmathkcbik/8958ec33-f8fb-4f0c-973c-56d0eb18736d/progress'
Apr 29, 2020 14:16:04.404 [0x7f7cabfff700] DEBUG - Jobs: Starting child process with pid 235814
20.04 is new and I’m not surprised the Focal kernel in use doesn’t yet have it.
Yes, > /dev/dri/renderD128 exists. I am also seeing (hw) in the Dashboard on lots of streams. Interesting when I tried to force transcoding on a HVEC 4k video to SD the quality really went super down hill, with lots of pixelation and artifacts, but maybe more shockingly, no CPU utilizataion. Where as when the same video went to 1080 it looks great.
“SD” is 480p / 525i.
I’m not going to debate quality issues when attempting 2160p HEVC to something so low on a CPU which is fresh out of the box and minimal / no libva support for yet.
2160p HEVC -> SD is a 16:1 reduction in geometry. Of course it’s going to look bad on the same size display.
Yeah, just more of an observation than reporting a bug.
Menel
May 4, 2020, 5:05pm
18
Was just reading on ars. I’d expect 20.04 to support your NUC…
Ubuntu 20.04 ships with 5.4 kernel, which brings support for Intel’s Comet Lake chips as well as the beginning of Tiger Lake support.
Yes, I installed it the day it came out and it is working.
1 Like
The unknown here is libva. It always lags behind.
Of particular merit here is the iHD_drv_video.so driver which is now required to perform transcoding on all the -9xxx and above CPUs.
I am unaware (but acknowledge there could be) an update for iHD_drv which does include the support for this new chip because Intel is notoriously slow at such things.