Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save mattmorganpdx/00e7a2c7c82d4b8cd8dd0636771734f5 to your computer and use it in GitHub Desktop.

Select an option

Save mattmorganpdx/00e7a2c7c82d4b8cd8dd0636771734f5 to your computer and use it in GitHub Desktop.
Proxmox VE 9.2 / Linux 7.0 installer hard-hangs on NVIDIA Ampere+ GPUs (nova-core) - cause and one-line fix

Proxmox VE 9.2 installer hard-hangs on NVIDIA GPUs (kernel 7.0 nova-core) — fix

If you're installing Proxmox VE 9.2 (which ships Linux kernel 7.0) on a machine with an NVIDIA Ampere-or-newer GPU (Turing/Ampere/Ada — anything GSP-based, e.g. an RTX 3080 Ti / GA102) and the installer hard-freezes at boot with no error, this is almost certainly the new Rust nova driver. Here's the cause and the one-line workaround.

Symptom

  • The installer (both graphical and terminal-UI entries) freezes during boot.
  • Keyboard and mouse go dead — tap Caps Lock and the LED does not toggle, i.e. it's a true kernel hang, not just a blanked display.
  • No error message.
  • Remove quiet from the kernel command line and the last line printed before the freeze is NovaCore, right after a graphics mode switch.

Cause

Kernel 7.0 drives modern (GSP-capable) NVIDIA GPUs with the new Rust nova driver (nova-core + nova-drm) instead of nouveau. nova-core binds the GPU and wedges at init.

The important part: the usual "blacklist nouveau" / nomodeset advice does nothing, because on this kernel nouveau is not the driver that loads. You have to blacklist nova.

Red herrings (don't waste time on these)

  • Blacklisting nouveau alone — no effect.
  • Wi-Fi (iwlwifi) being the "last line" — coincidental; the real hang is the GPU mode switch.
  • modprobe: FATAL: module shpchp not found near the freeze — benign, ignore it.

Fix (installer)

At the installer boot menu, highlight the install entry, press e, append to the line starting with linux …, then boot with Ctrl-X:

nomodeset modprobe.blacklist=nova_core,nova_drm,nova,nouveau

This boots into the installer normally — ZFS-on-root and all other options work.

Don't forget: the installed host hangs the same way

The freshly installed host will hit the exact same hang on its first boot until you carry the blacklist into its kernel command line.

ZFS-on-root (systemd-boot):

# append to the single line in /etc/kernel/cmdline:
#   modprobe.blacklist=nova_core,nova_drm,nova,nouveau
proxmox-boot-tool refresh

ext4/LVM root (GRUB): add it to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub, then update-grub.

If you're doing GPU passthrough

Blacklist the nova modules (not nouveau) so the host doesn't grab the card before vfio-pci:

# /etc/modprobe.d/vfio.conf
blacklist nova_core
blacklist nova_drm
blacklist nova
blacklist nouveau
blacklist nvidiafb

BIOS prerequisites (general passthrough hygiene)

  • SATA Operation = AHCI (not RAID/RST/VMD)
  • Secure Boot = Off
  • VT-d / IOMMU = Enabled

After any future kernel upgrade

Driver behavior may change again — re-check what's bound to the GPU:

lspci -nnk -d 10de:        # look at "Kernel driver in use:"

Tested on an Alienware Aurora R13 (i9-12900F, RTX 3080 Ti) → Proxmox VE 9.2.2, kernel 7.0.2-6-pve, running a GPU-passthrough gaming VM. The same fix should apply to any Ampere+ NVIDIA card on a 7.0 kernel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment