Device /dev/dri/card0 does not exist in your LXC after an update? It’s almost always one of three things: the bind mount is missing, the cgroup rule is wrong for your Proxmox version, or the container is unprivileged and needs an extra line. Here’s the checklist.

1. The bind mount
First, make sure /dev/dri is actually passed through. In your container config (/etc/pve/lxc/<CTID>.conf), you need:
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
If that line is missing, the device won’t show up no matter what else you do. Add it, restart the container, check again.
2. The cgroup allow rule — version matters
This is where the forum threads get messy. Proxmox 7 and earlier use cgroup v1, so the rule looks like:
lxc.cgroup.devices.allow: c 226:0 rwm
But if you’re on Proxmox 8 (or a newer kernel), cgroup v2 is the default and that line does nothing. Instead you need:
lxc.cgroup2.devices.allow: c 226:0 rwm
Yes, the ‘2’ matters. Mixing these up is the most common reason the device disappears after an update — the update changed the cgroup version under you.

3. Unprivileged containers need an extra rule
If your container is unprivileged (the default in Proxmox), the cgroup allow alone won’t cut it. You also need to add the device to the container’s device list:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.cgroup2.devices.deny: a
The deny-all line at the end is the key — without it, the allow rule is ignored for unprivileged containers. If you’re still getting ‘Device /dev/dri/card0 does not exist’, check that deny line is there.
My take
This is a stupid default. Proxmox could easily detect the cgroup version and warn you, but instead you get a silent failure after an update. If you’re not sure which version you’re on, run mount | grep cgroup on the host. If you see cgroup2, use the cgroup2 syntax. If you see cgroup, use the old one. Don’t mix them.
And if you’re passing through a GPU for Plex or Jellyfin transcoding, this is exactly the kind of thing that breaks after every major Proxmox upgrade. Keep a note of your container config somewhere — it’ll save you an evening later.
Related: Migrate VM OS to Physical Device: A Proxmox V2P Walkthrough