Trying to pass iGPU through to Unprivileged LXC container for Jellyfin

disturbd_87

New Member
Jan 26, 2025
4
1
3
I am struggling with passing my Intel iGPU through to my jellyfin container. This is my config file for the container.

My
Code:
arch: amd64
cores: 2
features: nesting=1
hostname: Jellyfin
memory: 4096
mp0: tank:subvol-100-disk-0,mp=/data,size=8000G
mp2: /mnt/pve/share,mp=/share
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.100.1,hwaddr=BC:24:11:E2:BF:08,ip=192.168.100.40/24,type=veth
onboot: 1
ostype: ubuntu
rootfs: local-lvm:vm-201-disk-0,size=32G
swap: 512
unprivileged: 1
lxc.cgroup.devices.allow: c 226:* rwm
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file,mode=0666
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 108
lxc.idmap: g 104 108 1
lxc.idmap: g 105 100105 65430

The GID for the render group is 104 on the host and the lxc container render group is 108.

This is the output I am getting when trying to start the container:
Code:
lxc.idmap: invalid map entry 'g 104 108 1': container gid 104 is also mapped by entry 'g 0 100000 108'
lxc_map_ids: 245 newgidmap failed to write mapping "newgidmap: gid range [104-105) -> [108-109) not allowed": newgidmap 35548 0 100000 108 104 108 1 105 100105 65430
lxc_spawn: 1795 Failed to set up id mapping.
__lxc_start: 2114 Failed to spawn container "201"
TASK ERROR: startup for container '201' failed

I am not sure how to create these mappings as I have tried changing some of the numbers and still have issues starting my container. Any help is appreciated. If any other details are needed, please feel free to let me know and I can add them to this thread. Thank you.
 
Update: I just used the device passthrough GUI in Proxmox and it is working! Disregard this thread. Thank you.
 
Update: I just used the device passthrough GUI in Proxmox and it is working! Disregard this thread. Thank you.
Holy smokes please send me details as to where you found a way to pass through the iGPU using the GUI. I’m hard stuck doing the same thing :(
 
Holy smokes please send me details as to where you found a way to pass through the iGPU using the GUI. I’m hard stuck doing the same thing :(

If you go under “resources” tab on your container in proxmox, click add dropdown at the top and choose passthrough device option. From there, you are going to want to add the device that you want to passthrough. Mine was /dev/dri/renderD128. Then set the location you want it to show up within the container. It was dev/dri/renderD128. I will post some screenshots when I am at home.

I am writing this out of memory so it may not be exactly right. I will update shortly.
 
If you go under “resources” tab on your container in proxmox, click add dropdown at the top and choose passthrough device option. From there, you are going to want to add the device that you want to passthrough. Mine was /dev/dri/renderD128. Then set the location you want it to show up within the container. It was dev/dri/renderD128. I will post some screenshots when I am at home.

I am writing this out of memory so it may not be exactly right. I will update shortly.
That would be awesome. Thank you for doing that for me haha
 
1738451084781.png

1738451128491.png


You will need to run getent group render on both the host and the lxc container to know which group ID you will need to define.

Hope this helps! if you need further advice, please let me know.
 
Last edited:
  • Like
Reactions: sedriick