Jellyfin Forum
Proxmox LXC Hardware Transcoding - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Proxmox LXC Hardware Transcoding (/t-proxmox-lxc-hardware-transcoding)

Pages: 1 2


Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-06

Hello everyone,

after a day of troubleshooting and looking at tutorials and forum posts I decided I will ask here, sorry I know this topic has been opened a million times by now. So I try to get Intel QSV inside a Proxmox priviledged LXC to work. I successfully passed through my gpu, but when enabling Hardware transcoding in Jellyfin, I am left with a playback error. Looking in the LOGs, I can find the following entries:

[2025-01-06 18:24:31.463 +00:00] [ERR] FFmpeg exited with code 234
[2025-01-06 18:24:31.562 +00:00] [ERR] Error processing request. URL "GET" "/videos/1d3a78ff-a07f-0173-c6b8-b26e7159a051/hls1/main/-1.mp4".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 234


LXC Config file:
-
arch: amd64
cores: 4
features: mount=cifs,nesting=1
hostname: jellyfin-prox
memory: 4098
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.178.1,hwaddr=BC:24:11:3EGrinning-face9Grinning-face5,ip=192.168.178.11/24,type=veth
ostype: ubuntu
rootfs: DIR01:900/vm-900-disk-0.raw,size=64G
swap: 2048
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
-
In the LXC I can see the renderD128 device. vainfo displays me the correct driver as well:
-
vainfo: Driver version: Intel iHD driver for Intel® Gen Graphics - 24.1.0 () in both the LXC and the Host.
-
I also can see all the supported profiles.

Jellyfin is part of the render group:
-
root@jellyfin-prox:~# members render
jellyfin
-
When using intel-gpu-top inside the jellyfin container I can read the current power usage and it is the same as on the proxmox host.
The driver intel-media-va-driver-non-free is installed on both, the Host and LXC.

The thing is, and I think there is my problem that I dont't fully understand as to how you modify the GID. The example on the Jellyfin Docs is:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm

But the GID of renderr on my Proxmox host is 104 and in my jellyfin container 993. I guess this could be my problem?


RE: Proxmox LXC Hardware Transcoding - TheDreadPirate - 2025-01-06

Can you share the entire ffmpeg log via pastebin?


RE: Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-07

(2025-01-06, 09:22 PM)TheDreadPirate Wrote: Can you share the entire ffmpeg log via pastebin?

Hey,
there it is: https://pastebin.com/HELMpEUb

Thanks for the help!


RE: Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-07

(2025-01-07, 05:03 PM)C0nfigurator Wrote:
(2025-01-06, 09:22 PM)TheDreadPirate Wrote: Can you share the entire ffmpeg log via pastebin?

Hey,
there it is: https://pastebin.com/HELMpEUb

Thanks for the help!

Also, as this is part of the official documentation:

intel-opencl-icd:
  Installed: 23.43.27642.40-1ubuntu3
  Candidate: 23.43.27642.40-1ubuntu3
  Version table:
*** 23.43.27642.40-1ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages
        100 /var/lib/dpkg/status

Should be ok, I think?


RE: Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-07

(2025-01-07, 05:03 PM)C0nfigurator Wrote:
(2025-01-06, 09:22 PM)TheDreadPirate Wrote: Can you share the entire ffmpeg log via pastebin?

Hey,
there it is: https://pastebin.com/HELMpEUb

Thanks for the help!

I also saw a bunch of people online suggesting this on the Proxmox Host, whicht would comfirm my suspicion that there is a permission related issue:
chmod -R 777 /dev/dri`

But I dont know about this solution...


RE: Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-07

(2025-01-07, 05:50 PM)C0nfigurator Wrote:
(2025-01-07, 05:03 PM)C0nfigurator Wrote:
(2025-01-06, 09:22 PM)TheDreadPirate Wrote: Can you share the entire ffmpeg log via pastebin?

Hey,
there it is: https://pastebin.com/HELMpEUb

Thanks for the help!

I also saw a bunch of people online suggesting this on the Proxmox Host, whicht would comfirm my suspicion that there is a permission related issue:
chmod -R 777 /dev/dri`

But I dont know about this solution...

An somehow the wrong device was selected when providing the logs, same issue with renderD128:

[AVHWDeviceContext @ 0x6176e4597f40] No VA display found for device /dev/dri/renderD128.
Device creation failed: -22.
Failed to set value 'vaapi=vaConfused-facedev/dri/renderD128,driver=iHD' for option 'init_hw_device': Invalid argument
Error parsing global options: Invalid argument


RE: Proxmox LXC Hardware Transcoding - TheDreadPirate - 2025-01-07

Is there a device listed in /dev/dri in the LXC?


RE: Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-07

(2025-01-07, 06:54 PM)TheDreadPirate Wrote: Is there a device listed in /dev/dri in the LXC?

Yes there is.

root@jellyfin-prox:~# ls /dev/dri
card0  renderD128


RE: Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-07

Also, what I just noticed, when looking at my installed packages I can see that jellyfin-ffmpeg7 is installed. But when I want to check if the encoding is working with the following command:

ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -v verbose -i Input.mkv -filter:v "scale=1920:-2,flags=lanczos,unsharp=5:5:.03:5:5:0.0" -c:v hevc_qsv -preset veryslow -extbrc 1 -look_ahead_depth 99 -b_strategy 1 -bf 7 -mbbrc 1 -rdo 1 -low_power 0 -adaptive_i 1 -adaptive_b 1 -async_depth 7 -b:v 25M -color_range tv -color_primaries:v bt709 -color_trc:v bt709 -colorspace:v bt709 Output.mkv

I get an error message that ffmpeg is not installed. Do I need to install the ffmpeg package as well?


RE: Proxmox LXC Hardware Transcoding - C0nfigurator - 2025-01-07

I just installed the jellyfin-ffmpeg7_7.0.2-8-noble_amd64 package manually, as this seems to be recommended for Ubuntu according to the installation guide? But that didn't do the trick either.