fix(cli): blacklist the in-tree nova driver so the NVIDIA driver can bind - #3963
Merged
Conversation
…bind nova is the Rust successor to nouveau. Ubuntu 26.04's 7.0 kernel shipped with CONFIG_NOVA_CORE=m, and nova_core registers a PCI driver whose alias matches every NVIDIA display device, so it claims the GPU during boot and never lets it go. The NVIDIA runfile then builds every module fine and dies at load time with "GPU is already bound to NovaCore". Our blacklist only covered nouveau, which does nothing to stop nova, and update-initramfs -u only rebuilt the running kernel's initramfs, so any other installed kernel silently lost the blacklist anyway. Blacklist nova / nova_core / nova_drm next to nouveau in a single drop-in, rebuild the initramfs for all kernels, and detect a loaded nova both in precheck and before the driver install so it fails immediately instead of after a pointless DKMS build. Co-authored-by: Cursor <cursoragent@cursor.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
eball
approved these changes
Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Installing the NVIDIA driver fails on Ubuntu 26.04. The runfile builds every module successfully and then dies at load time:
novais the Rust successor tonouveau. Ubuntu 26.04's 7.0 kernel shipped withCONFIG_NOVA_CORE=m(LP #2150845), andnova_coreregisters a PCI driver whose alias matches every NVIDIA display device, so it claims the GPU during boot and never lets it go. The driver is still non-functional, so the card is simply held hostage.Our blacklist only covered
nouveau, which does nothing to stopnova. Canonical patched this in thenvidia-graphics-driverspackaging, but we install from the runfile, so nothing shields us.It takes two conditions to hit, which is why identical-looking machines behave differently: a kernel that still enables
CONFIG_NOVA_CORE(fixed in later 26.04 ABIs), and a GPU thatnova_coresupports — Turing, Ampere or Ada. Newer chips are rejected at probe time withUnsupported chipset.Changes
gpu disable-conflicts(renamed fromdisable-nouveau, old name kept as an alias) now blacklistsnova,nova_coreandnova_drmalongsidenouveau, in a single drop-in at/usr/lib/modprobe.d/olares-disable-conflicting-gpu-drivers.conf. The old nouveau-only file is removed.update-initramfs -u→update-initramfs -u -k all. The old call only rebuilt the running kernel's initramfs, so booting any other installed kernel silently lost the blacklist.novafails outright — unlikenouveauit has nomodeset=0equivalent that keeps it off the card, so "loaded but idle" is one reboot away from "holding the GPU".gpu installrefuses to start when nova holds the card, instead of spending minutes on a DKMS build that cannot possibly load.Made with Cursor