Hey everyone,
I wanted to share a working procedure for installing NVIDIA drivers on Proxmox VE 9.2.10 with Kernel 7.0.x when using legacy Pascal-architecture GPUs (specifically the Quadro P620).
I spent hours fighting and researching, and I'm still nowhere near understanding how I managed it. But if it saves anyone some time and effort I though I would post this.
My aim is to run Plex Media Server on Proxmox VE with hardware transcoding powered by my Quadro P620, in a LXC container (using the host's kernel and shared NVIDIA drivers) rather than a full virtual machine. (Wish me luck)
NVIDIA has transitioned Pascal-era cards (GP107 and older) to legacy support status:
Bash
apt-get update
apt-get install -y build-essential dkms pve-headers-$(uname -r)
Bash
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist-nouveau.conf
update-initramfs -u -k all
Bash
apt-get purge -y "*nvidia*" "*cuda*"
apt-get autoremove -y
rm -f ~/NVIDIA-Linux-x86_64-*.run
Bash
cd ~
wget https://download.nvidia.com/XFree86/Linux-x86_64/580.178.04/NVIDIA-Linux-x86_64-580.178.04.run
chmod +x NVIDIA-Linux-x86_64-580.178.04.run
./NVIDIA-Linux-x86_64-580.178.04.run -m=kernel --dkms --no-check-for-alternate-installs -s
Bash
depmod -a
modprobe nvidia
nvidia-smi
Bash
cat <<EOF > /etc/systemd/system/nvidia-persistenced.service
[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.target
[Service]
Type=forking
ExecStart=/usr/bin/nvidia-smi -pm 1
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
Bash
systemctl daemon-reload
systemctl enable --now nvidia-persistenced
nvidia/580.178.04, 7.0.14-11-pve, x86_64: installed
And nvidia-smi successfully reports the card under CUDA 13.0 without issues.
Hope this helps anyone hitting their head against the wall trying to keep their Quadro P620 or other Pascal cards running on modern Proxmox releases!
Any errors, mistakes or improvements. Let me know.
I wanted to share a working procedure for installing NVIDIA drivers on Proxmox VE 9.2.10 with Kernel 7.0.x when using legacy Pascal-architecture GPUs (specifically the Quadro P620).
I spent hours fighting and researching, and I'm still nowhere near understanding how I managed it. But if it saves anyone some time and effort I though I would post this.
My aim is to run Plex Media Server on Proxmox VE with hardware transcoding powered by my Quadro P620, in a LXC container (using the host's kernel and shared NVIDIA drivers) rather than a full virtual machine. (Wish me luck)
Background / The Trap
If you attempt to use open-gpu-kernel-modules or newer driver branches (such as the 595.x release), the installation will fail or throw modprobe: ERROR: could not insert 'nvidia': No such device.NVIDIA has transitioned Pascal-era cards (GP107 and older) to legacy support status:
- Branch Limit: Pascal cards are capped at the 580.xx driver family (580.178.04 working verified).
- Proprietary Modules Required: Pascal GPUs do not support NVIDIA's open-source kernel modules (nvidia-open). You must force the proprietary kernel module build (-m=kernel).
Step-by-Step Installation Guide
1. Prepare Environment & Install Build Tools
Ensure Proxmox headers, build tools, and DKMS are installed on the host:Bash
apt-get update
apt-get install -y build-essential dkms pve-headers-$(uname -r)
2. Blacklist Nouveau
If you haven't already, ensure the open-source nouveau driver is disabled:Bash
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist-nouveau.conf
update-initramfs -u -k all
3. Purge Conflict Driver Packages
Clean out any conflicting APT packages or old build remnants to avoid alternate driver installation errors:Bash
apt-get purge -y "*nvidia*" "*cuda*"
apt-get autoremove -y
rm -f ~/NVIDIA-Linux-x86_64-*.run
4. Download & Install NVIDIA 580.178.04
Fetch the last working driver release for Pascal, enforce the proprietary kernel module using -m=kernel, and register with DKMS:Bash
cd ~
wget https://download.nvidia.com/XFree86/Linux-x86_64/580.178.04/NVIDIA-Linux-x86_64-580.178.04.run
chmod +x NVIDIA-Linux-x86_64-580.178.04.run
./NVIDIA-Linux-x86_64-580.178.04.run -m=kernel --dkms --no-check-for-alternate-installs -s
5. Verify Installation
Refresh system dependencies and test driver load:Bash
depmod -a
modprobe nvidia
nvidia-smi
Post-Install Optimization: Enable Persistence Mode
To prevent launch latency when initializing containers or compute workloads, create a systemd service to keep GPU persistence active on boot:Bash
cat <<EOF > /etc/systemd/system/nvidia-persistenced.service
[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.target
[Service]
Type=forking
ExecStart=/usr/bin/nvidia-smi -pm 1
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
Bash
systemctl daemon-reload
systemctl enable --now nvidia-persistenced
Verification
Checking dkms status shows the module compiled cleanly against 7.0.14-11-pve:nvidia/580.178.04, 7.0.14-11-pve, x86_64: installed
And nvidia-smi successfully reports the card under CUDA 13.0 without issues.
Hope this helps anyone hitting their head against the wall trying to keep their Quadro P620 or other Pascal cards running on modern Proxmox releases!
Any errors, mistakes or improvements. Let me know.