Discover, Review, Enjoy — Byte by Byte

Category: Proxmox

Proxmox – Emby Intel GPU Setup

Important: This is for use with Debian 12 (BookWorm) / Proxmox (8.2.7).

Run these commands on both the proxmox host and Emby CT. I have this method working on successfully on both a N100 iGPU and Sparkle Intel Arc A310 ECO


nano /etc/apt/sources.list

add the following

non-free firmwares
deb http://deb.debian.org/debian bookworm non-free-firmware

non-free drivers and components
deb http://deb.debian.org/debian bookworm non-free

Install the following
apt update && apt install intel-media-va-driver-non-free intel-gpu-tools

cd /dev

Use the following command to list all files and folders in the current directory

ls -lah

Make a note of the numbers in bold you see for dri / fb0 (If it exists)

drwxr-xr-x 3 root root 100 Aug 30 20:56 dri

crw-rw---- 1 root video 29, 0 Aug 30 21:19 fb0

Navigate to the dri folder using the following command

cd /dev/dri

ls -lah

Make a note of the the number in bold for renderD128

crwxrwxrwx 1 root render 226, 128 Aug 30 21:19 renderD128

Now we will add the numbers that were noted down to our CT config on proxmox for Emby – Important amend the command below with your CT’s ID number shown the proxmox webgui (Example Below) Mine is 3006

Now open your CT’s config files on your Proxmox host.

nano /etc/pve/lxc/3006.conf

Add the following lines to the file and save using CTRL + O and then enter.
lxc.cgroup2.devices.allow: c 29:* rwm
lxc.cgroup2.devices.allow: c 100:* rwm
lxc.cgroup2.devices.allow: c 226:* 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.apparmor.profile: unconfined

Adding Persistent GPU Permissions on proxmox host so the GPU is accessible to the CT after reboot.

nano /etc/udev/rules.d/99-renderD128-permissions.rules
KERNEL=="renderD128", MODE="0777"

udevadm control --reload-rules

udevadm trigger

How to Test?

Run the following command (This is basically task manager for your GPU)

intel_gpu_top

You can also check the Emby admin webpage under Server > Transcoding. If you see your GPU and a list of Hardware Decoders its likely working. Test forcing something to Trancode by change the bitrate and monitor the CPU usage and using intel_gpu_top see if there is any ffmpeg processes running on the GPU

Proxmox – Persistent GPU Permission

If you are having issues with GPU transcoding in emby and your GPU permission keep changing after reboot use the following commands to fix the permission.

Run the following command inside your proxmox shell.

nano /etc/udev/rules.d/99-renderD128-permissions.rules

Add the following to the file

KERNEL=="renderD128", MODE="0777"

CTRL + O then Enter to save the changes to the file.

Now run the following command

udevadm control --reload-rules

Run the following command

udevadm trigger

© 2024 bytesmith17

Theme by Anders NorénUp ↑