Nvidia drivers on Debian 13 Trixie? A Proxmox VE 9 user running kernel 7.0 documented a working procedure for passing NVIDIA Tesla A2 GPUs through to privileged LXC containers with CUDA support on Debian 13 Trixie, pinning the NVIDIA driver to version 615 after version 590 failed to build against that kernel branch. The guide instructs blacklisting Nouveau, installing proxmox-headers-7.0 to match the running kernel, enabling the contrib component in Debian's deb822 sources, adding NVIDIA's cuda-keyring repository, and installing the nvidia-open driver with the versioned cuda-toolkit-13-4 metapackage rather than Debian's nvidia-cuda-toolkit. The write-up credits Claude with substantial involvement in resolving the driver and kernel issues. So, a couple months later and I actually found myself in somewhat of the same situation you were in. I’ve got several Nvidia Tesla A2s in my Proxmox servers, and I wanted my LXCs to have access to them with Nvidia drivers and CUDA support. I’m currently running PVE9, on Kernel 7.0. Here’s what worked for me, admittedly with quite a bit of Claude’s involvement as I ran into driver+kernel issues and didn’t want to get too into the weeds myself. Apologies, as I pulled it from my internal Wiki article I made a month ago so versions may have updated since writing. NVIDIA A2 Passthrough to Privileged LXC Applies to all Proxmox nodes with an A2 installed. Reference: NVIDIA Tesla driver installation guide Debian https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/debian.html local-repository-enablement 1. Blacklist Nouveau so it doesn’t grab the card first: echo -e "blacklist nouveau\noptions nouveau modeset=0" /etc/modprobe.d/blacklist-nouveau.conf update-initramfs -u reboot 2. Install headers matching the currently running kernel — Proxmox doesn’t ship a linux-headers-generic virtual package, so target the branch your active kernel belongs to: apt install proxmox-headers-$ uname -r | cut -d. -f1,2 For 7.0.14-11-pve , this resolves to proxmox-headers-7.0 . Confirm with uname -r first if you’re not sure which kernel is currently booted — with multiple PVE kernels installed across update cycles, apt install linux-headers-generic has no candidate, and installing headers for a kernel other than the running one won’t let DKMS build the module. If uname -r ever reports a non- -pve suffixed kernel, e.g. a stock Debian 6.12.107-1 build, that branch doesn’t follow this naming — install linux-headers-amd64 instead. 3. Make sure contrib is enabled. Proxmox doesn’t ship software-properties-common , so add-apt-repository isn’t available — and Debian 13’s default /etc/apt/sources.list.d/debian.sources deb822 format usually already includes contrib non-free-firmware out of the box. Check first: cat /etc/apt/sources.list.d/debian.sources If Components: doesn’t already include contrib , add it repeat for every stanza in the file, e.g. the trixie-security one too : sed -i 's/^Components:\ . \ $/Components:\1 contrib/' /etc/apt/sources.list.d/debian.sources apt update You don’t need Debian’s non-free component for this — the CUDA driver comes from NVIDIA’s own repo via cuda-keyring in the next step, not from Debian’s non-free . Verify contrib is indexed: apt-cache policy | grep -A1 contrib 4. Add the proprietary NVIDIA repo: wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86 64/cuda-keyring 1.1-1 all.deb dpkg -i cuda-keyring 1.1-1 all.deb apt update 5. Pin the GPU-compatible driver version. 590 failed to build against this kernel branch — see the troubleshooting note below — use 615 instead or whatever the current working pin turns out to be at the time you’re reading this; check with apt list -a nvidia-driver-pinning- if in doubt : apt install nvidia-driver-pinning-615 6. Install the driver and CUDA toolkit. Use the versioned cuda-toolkit- metapackage, not nvidia-cuda-toolkit — that name belongs to a different, Debian-maintained package that lives in Debian’s non-free component, not NVIDIA’s own repo, and won’t resolve with only contrib enabled. Check apt-cache search cuda-toolkit for the current versioned options and pin one explicitly, the same way you pinned the driver: apt -V install nvidia-open cuda-toolkit-13-4 Watch the DKMS build output at the end of this command — it builds the kernel module for every installed kernel with matching headers present, and a compile failure here is what the troubleshooting note below walks through. 7. Run this exact sequence, with the same pinned driver 615 and toolkit 13-4 versions, on all three nodes. Since containers may end up scheduled on any node via the gpu-a2 resource mapping, a driver mismatch between nodes will surface as a container-vs-host version error even though each host is internally fine. The version pins make it easy to keep this in sync going forward — just re-run apt install nvidia-driver-pinning-