Nvidia driver install issue on Proxmox 9

dasaint80

Member
Jun 22, 2023
13
1
8
Hello,

I've upgraded my proxmox from 8 to 9.
I'm trying to reinstall the mvidia drivers.
I've tried everything the magical Google provides.

Currently running Proxmox 9.1.5 on a Zimacube with an RTX 3050 (ZT-A30510L-10L), Kernel is 6.17.4-2-PVE.

# zfs version
zfs-2.4.0-pve1
zfs-kmod-2.3.4-pve1
# cat /sys/module/zfs/version
2.3.4-pve1
# [ -e /sys/firmware/efi/efivars/ ] && echo "EFI" || echo "BIOS"
EFI
# pveversion
pve-manager/9.1.5/80cf92a64bef6889 (running kernel: 6.17.4-2-pve)
# uname -a
Linux ledonnemanor 6.17.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.4-2 (2025-12-03T15:42Z) x86_64 GNU/Linux


Whenever I run ./NVIDIA-Linux-x86_64-580.126.09.run I ge tthe following error.

Code:
  ERROR: Unable to find the kernel source tree for the currently running kernel.  Please make sure you have installed the kernel source files for your
                kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM
                installed.  If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path'
                command line option.

I've ran apt install -y build-essential dkms pve-headers-$(uname -r) prior to install.

I'm very close to doing a fresh install but really don't want to if we can find a fix for this.
 

Attachments

Last edited:
Bumpie....

so I'm able to install the drivers... somehow the vfio-pci are binded to the GPU instead of nvidia. I can manually unbind them but on reboot the issue persist.
 
Then you should probably disable the PCI passthrough configuration you did. The VFIO driver isn't usually used unless you give the GPU to a VM or you set up PCI passthrough and if you use containers you should not do that. Can you share these in a code block?
Bash:
find /etc/modprobe.d/* -exec tail -n+1 {} +
tail -n+1 /proc/cmdline /etc/kernel/cmdline /etc/default/grub
lspci -vnnk | awk '/VGA/{print $0}' RS=
grep -sR "hostpci" /etc/pve
 
Here you go.


Code:
# find /etc/modprobe.d/* -exec tail -n+1 {} +
tail -n+1 /proc/cmdline /etc/kernel/cmdline /etc/default/grub
lspci -vnnk | awk '/VGA/{print $0}' RS=
grep -sR "hostpci" /etc/pve
==> /etc/modprobe.d/blacklist.conf <==



==> /etc/modprobe.d/dkms.conf <==
# modprobe information used for DKMS modules
#
# This is a stub file, should be edited when needed,
# used by default by DKMS.

==> /etc/modprobe.d/vfio.conf <==
==> /proc/cmdline <==
BOOT_IMAGE=/boot/vmlinuz-6.17.4-1-pve root=/dev/mapper/pve-root ro quiet
tail: cannot open '/etc/kernel/cmdline' for reading: No such file or directory

==> /etc/default/grub <==
# If you change this file or any /etc/default/grub.d/*.cfg file,
# run 'update-grub' afterwards to update /boot/grub/grub.cfg.
# For full documentation of the options in these files, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`( . /etc/os-release && echo ${NAME} )`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE/GOP/UGA
# you can see them in real GRUB with the command `videoinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-UP3 GT2 [Iris Xe Graphics] [8086:46a8] (rev 0c) (prog-if 00 [VGA controller])
        DeviceName: Onboard - Video
        Flags: bus master, fast devsel, latency 0, IRQ 262, IOMMU group 0
        Memory at 6052000000 (64-bit, non-prefetchable) [size=16M]
        Memory at 4000000000 (64-bit, prefetchable) [size=256M]
        I/O ports at 4000 [size=64]
        Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
        Capabilities: [40] Vendor Specific Information: Len=0c <?>
        Capabilities: [70] Express Root Complex Integrated Endpoint, IntMsgNum 0
        Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit-
        Capabilities: [d0] Power Management version 2
        Capabilities: [100] Process Address Space ID (PASID)
        Capabilities: [200] Address Translation Service (ATS)
        Capabilities: [300] Page Request Interface (PRI)
        Capabilities: [320] Single Root I/O Virtualization (SR-IOV)
        Kernel driver in use: i915
        Kernel modules: i915, xe
07:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107 [GeForce RTX 3050 6GB] [10de:2584] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: ZOTAC International (MCO) Ltd. Device [19da:1739]
        Flags: bus master, fast devsel, latency 0, IRQ 264, IOMMU group 25
        Memory at 6d000000 (32-bit, non-prefetchable) [size=16M]
        Memory at 6040000000 (64-bit, prefetchable) [size=256M]
        Memory at 6050000000 (64-bit, prefetchable) [size=32M]
        I/O ports at 3000 [size=128]
        Expansion ROM at 6e000000 [disabled] [size=512K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Legacy Endpoint, IntMsgNum 0
        Capabilities: [b4] Vendor Specific Information: Len=14 <?>
        Capabilities: [100] Virtual Channel
        Capabilities: [250] Latency Tolerance Reporting
        Capabilities: [258] L1 PM Substates
        Capabilities: [128] Power Budgeting <?>
        Capabilities: [420] Advanced Error Reporting
        Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
        Capabilities: [900] Secondary PCI Express
        Capabilities: [bb0] Physical Resizable BAR
        Capabilities: [c1c] Physical Layer 16.0 GT/s <?>
        Capabilities: [d00] Lane Margining at the Receiver
        Capabilities: [e00] Data Link Feature <?>
        Kernel driver in use: nouveau
        Kernel modules: nvidiafb, nouveau
root@ledonnemanor:/etc/modprobe.d#
 
Interesting. I see no custom configuration nor vfio-pci being used so that's good. It doesn't use the official NVIDIA driver though. Give this a try.
After that's done (and rebooted) Kernel driver in use should say nvidia and nvidia-smi should work too. If any of the commands show an error please share.
 
Last edited: