NVIDIA DKMS driver failure on Proxmox VE 9.2.4 with kernel 7.0.x (Quadro P2000) — seeking guidance

pveadmin01

New Member
Jul 16, 2026
1
0
1

Summary​

I recently upgraded my Proxmox VE host to Proxmox VE 9.2.4 (Debian Trixie base) and ran into NVIDIA driver build failures. It was working fine on Proxmox 8 and never had any issue but when I upgraded to Proxmox 9 I've not being able to use the GPU at all due to nvidia drivers failing.

The host has a NVIDIA Quadro P2000 that I want to use for:

  • Jellyfin hardware transcoding (NVENC/NVDEC)
  • Frigate GPU processing
  • Passing the GPU into LXC containers
The issue appears to be a compatibility problem between the new Proxmox VE 9 kernel series (7.0.x-pve) and currently available NVIDIA kernel modules.

I have tested both:

  1. Debian's packaged NVIDIA driver (550.163.01)
  2. NVIDIA's upstream .run installer (580.126.18)
Both fail while building the NVIDIA kernel module.


Environment​

Proxmox VE:
pve-manager/9.2.4/5e5ae681198514d4

Current kernel:
7.0.14-5-pve

GPU:
NVIDIA Quadro P2000
Kernel headers are installed:

proxmox-headers-7.0.14-5-pve is already the newest version
Build tools:

build-essential is already the newest version

Initial problem​

After upgrading, dpkg --configure -a failed while configuring the NVIDIA DKMS module:

Setting up proxmox-kernel-7.0.14-5-pve-signed ...

Autoinstall of module nvidia-current-open/550.163.01 for kernel 7.0.14-5-pve

Building module(s)...........(bad exit status: 2)

Error! Bad return status for module build on kernel:
7.0.14-5-pve
The failure was from:

nvidia-open-kernel-dkms
550.163.01

Debian package investigation​

I checked the available NVIDIA packages:

apt policy nvidia-driver
Result:

nvidia-driver:
Installed: (none)
Candidate: 550.163.01-2

Version table:

550.163.01-2
500 http://ftp.ca.debian.org/debian trixie/non-free
apt-cache madison confirmed only:

nvidia-driver | 550.163.01-2
Available packages:

apt-cache search '^nvidia-driver'

nvidia-driver
nvidia-driver-bin
nvidia-driver-full
nvidia-driver-libs
nvidia-tesla-535-driver
So Debian Trixie currently provides the 550 branch, not newer 570/580 packages.


Debian NVIDIA 550 DKMS failure​

The 550 DKMS build failed with multiple Linux kernel API incompatibilities.

Examples from:

/var/lib/dkms/nvidia-current-open/550.163.01/build/make.log
Errors included:

error: ‘struct vm_area_struct’ has no member named ‘__vm_flags’; did you mean ‘vm_flags’?
error: implicit declaration of function ‘in_irq’
error: ‘const struct dma_map_ops’ has no member named ‘map_resource’
error: too few arguments to function ‘pci_resize_resource’
error: implicit declaration of function ‘dma_buf_attachment_is_dynamic’
This looked like the NVIDIA 550 kernel module source was not compatible with the new Proxmox 7.0.x kernel API changes.


Attempted cleanup​

I removed the NVIDIA DKMS module:

dkms remove -m nvidia-current-open -v 550.163.01 --all
This returned:

Error! The module/version combo:
nvidia-current-open/550.163.01
is not located in the DKMS tree.
After cleanup:

dkms status
returned nothing.

NVIDIA packages:

dpkg -l | grep -i nvidia
Only firmware remained:

firmware-nvidia-graphics
firmware-nvidia-gsp
The system was then clean:

apt -f install
apt full-upgrade
completed successfully.


Attempted NVIDIA upstream driver installation​

Since newer NVIDIA branches (580) are available upstream, I tested:

NVIDIA-Linux-x86_64-580.126.18.run
Prerequisites:

pve-headers-$(uname -r)
build-essential
were installed.

The installer failed while building the kernel module.

Relevant errors:

nvidia/nv-mmap.c:875:24:
error: 'VMA_LOCK_OFFSET' undeclared
and:

nvidia/nv-mmap.c:927:9:
error: too many arguments to function '__is_vma_write_locked'
Full error:

ERROR: The nvidia kernel module was not created.
ERROR: Installation has failed.

Additional warning observed​

The build also reported:

sh: 1: pahole: not found

warning: pahole version differs from the one used to build the kernel
However, this does not appear to be the root cause because the actual failure occurs later due to NVIDIA source incompatibilities.


Current state​

Currently:

  • Proxmox VE 9.2.4
  • Kernel 7.0.14-5-pve
  • NVIDIA driver removed
  • DKMS clean
  • NVIDIA firmware packages remain
The GPU is currently unused.


Hypothesis​

My current assumption is:

The Proxmox VE 9 kernel series (7.0.x-pve) introduced kernel API changes that are not yet supported by the NVIDIA kernel modules available today.

The failure is not related to:

  • Missing headers
  • Missing build tools
  • Incorrect DKMS configuration
  • GPU hardware compatibility
Both NVIDIA 550 and NVIDIA 580 fail for different kernel API reasons.


Possible next steps I am considering​

  1. Waiting for:
    • NVIDIA driver updates
    • Debian Trixie package updates
    • Proxmox kernel/NVIDIA compatibility improvements
  2. Applying community patches to NVIDIA DKMS (if available).

Questions for the community​

  1. Has anyone successfully run NVIDIA drivers on Proxmox VE 9.2.x with the 7.0.x-pve kernel?
  2. Is the recommended approach currently to stay on the 6.8.x-pve kernel for NVIDIA workloads?
  3. Are there known patches for NVIDIA 580.126.18 to support the Proxmox 7.0.x kernel?
  4. For LXC GPU passthrough workloads (Jellyfin/Frigate), what is currently the recommended NVIDIA driver/kernel combination?
I've attached the nvidia-installer.log. Let me know if there are any additional details required. Any guidance would be appreciated.
 

Attachments

Last edited:
Hmm, I also ran through the Debian Trixie and Debian Forky backports path, removed ALL images with nvidia or its driver version in it, downloaded the upstream package, compiled it and it worked with current 9 non-subscription repo on a 3080ti.
 
I haven't had good luck using the distribution bundled drivers. Howwever, I am succesfully using 580.173.02 downloaded directly from NVidia on my venerable GTX1080

I used:

Bash:
./NVIDIA-Linux-x86_64-580.173.02.run --no-install-compat32-libs --no-x-check --no-opengl-files --no-wine-files --no-install-libglvnd --allow-installation-with-running-driver --dkms --rebuild-initramfs

As the install command.

Then inside the LXC (e.g., Plex) I used this command:

Bash:
./NVIDIA-Linux-x86_64-580.173.02.run --no-kernel-module --no-opengl-files --no-x-check --no-install-libglvnd

In order to reduce idle power consumption, I had to manually enable persistence via

Bash:
nvidia-smi -pm 1

Bash:
root# nvidia-smi
Fri Jul 17 17:02:17 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.173.02             Driver Version: 580.173.02     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1080        On  |   00000000:01:00.0 Off |                  N/A |
|  0%   40C    P8              6W /  200W |       2MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+