Symptoms & scope
- nvidia-smi cannot find a usable device while the desktop uses Nouveau.
- NVIDIA initialization fails after an incomplete driver switch.
Relevant environment
Systems switching a supported NVIDIA GPU from Nouveau to the NVIDIA driver; Nouveau being installed is not itself an error.
Possible causes
These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.
- Nouveau may bind the GPU from the initramfs before NVIDIA loads.
- A deliberate Nouveau/NVK setup may be working correctly; switching is justified only if NVIDIA is the chosen supported driver.
Diagnose safely
Run one command at a time in the relevant session. Read the explanation first. Uppercase placeholders need your own values; tools and privileges vary by distribution. These commands are displayed here and never executed by the website.
Check 1
Find the target GPU and read Kernel driver in use; no driver is unloaded.
lspci -nnkInterpret the result: nouveau here establishes actual ownership. Kernel modules listing both names merely lists possible modules, not simultaneous ownership.
Check 2
Display merged module-loader policy; requires ripgrep. It reads configuration and does not load modules.
modprobe --showconfig | rg 'nouveau|nvidia'Interpret the result: A blacklist absent here cannot affect normal automatic loading; a present blacklist may still be missing from the selected initramfs or overridden by explicit loading.
Evidence-guided next steps
Choose one supported driver path
If Nouveau is intentional and works, keep it and stop treating nvidia-smi as its health check. If NVIDIA is required, install the GPU-compatible distribution NVIDIA package before preventing Nouveau’s early binding.
Precautions: Do not unload Nouveau from an active display session or remove the only working graphics path before the replacement is ready.
Recovery / rollback: Use the previous package configuration and boot entry if the chosen replacement cannot drive the display.
Did this solution help you?
Propagate the driver choice to early boot
When the replacement is ready, apply the distribution’s Nouveau blocklist and rebuild the specific initramfs that loads the GPU. Reboot and recheck PCI binding; the runtime config alone may not reach early boot.
Precautions: Record new configuration files and retain a rescue console or older image. Merely using nouveau.modeset=0 does not guarantee NVIDIA ownership.
Recovery / rollback: Remove only the added local blocklist, restore the previous driver package selection and rebuild the same initramfs before reboot.
Did this solution help you?
References & review
This guide was prepared from primary project or distribution sources and reviewed on the date shown. This is an editorial source check, not evidence that a fix was reproduced on your hardware. Diagnostic log examples are synthetic fixtures. Version-dependent details must be checked against your installed release.
- NVIDIA common problems: interaction with Nouveau (project or distribution documentation)
- Ubuntu NVIDIA troubleshooting: no devices found (project or distribution documentation)