[SOLVED] LXC hardware acceleration Intel Quick Sync J4105 passthrough

mammit46

New Member
Mar 30, 2025
2
0
1
Hi all,

I know this has been a heavily discussed topic and I tried setting up my iGPU hardware acceleration with several manuals and different ways but I still cannot get it running.

I'm running the latest Proxmox 8.3.4 with a priviliged Ubuntu 22 LXC container with Plex.

The graphics can be seen in both, host:

Code:
root@pve:/# ls -l /dev/dri
total 0
drw-rw---- 2 root root         80 Mar 25 10:29 by-path
crw-rw---- 1 root video  226,   0 Mar 25 10:29 card0
crw-rw---- 1 root render 226, 128 Mar 25 10:29 renderD128

an plex lxc:

Code:
root@plex-priv:/# ls -l /dev/dri
total 0
drw-rw---- 2 root root         80 Mar 25 10:29 by-path
crw-rw---- 1 root video  226,   0 Mar 25 10:29 card0
crw-rw---- 1 root render 226, 128 Mar 25 10:29 renderD128

running vainfo in the plex lxc:

Code:
root@plex-priv:/# vainfo
error: can't connect to X server!
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD

in the config of the lxc I added following lines:


Code:
dev0: /dev/dri/card0,gid=44
dev1: /dev/dri/renderD128,gid=104
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/serial/by-id  dev/serial/by-id  none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0       dev/ttyUSB0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1       dev/ttyUSB1       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0       dev/ttyACM0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1       dev/ttyACM1       none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file


For me it seems like everything is correctly initialized and the graphics can be seen by the LXC but somehow in Plex I don't get hw acceleration to work (all settings are correct in Plex).

Any help is appreciated :)
 
In der Konfiguration des lxc habe ich folgende Zeilen hinzugefügt
Den Ordner /dev/drischickst du mehrmals in den Container. Als devx:und alslxc.mount.entry:

Möglicherweise ist das ein Problem. vainfoSchaut aber OK aus.
 
Last edited:
Thats true. Deleting one of the entries (tried both) doesn't solve the problem unfortunately...
But I just realized that apparently the graphics (UHD 600) doesn't support x265 10bit files and thats what I tested with. Other files hw transcode normally.

case closed