Skip to main content

Hardware transcoding inside an unprivileged LXC container on Proxmox

·1 min

I usually run unprivileged LXC containers on Proxmox (as opposed to privileged ones). I did the following to make Jellyfin hardware transcoding work inside the container:

cat > /etc/udev/rules.d/99-intel-chmod666.rules << 'EOF'
KERNEL=="renderD128", MODE="0666"
KERNEL=="card0", MODE="0666"
EOF

# Reboot Proxmox host once.

Add the following to the /etc/pve/lxc/xyz.conf file:

lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/renderD128 none bind,optional,create=file

(Another resource that looked promising was this, which talks about some kind of user mapping from inside the container to Proxmox, but I found the above easier.)