On my Debian testing (jessie) computer, I usually perform a weekly “
aptitude safe-upgrade“. This desktop has an old Nvidia GeForce 7300 GS card, and I’m using the “
nvidia-kernel-dkms” package to provide proprietary drivers. On the last upgrade, Debian decided to install new packages with “
nvidia-legacy-304xx” in their name. Other than that, a message appeared during upgrade:
nvidia-graphics-drivers (310.14-1) unstable; urgency=low
LEGACY GPUs: If you have a GeForce 6xxx, GeForce Go 6xxx, GeForce 7xxx,
GeForce Go 7xxx, Quadro NVS 110/120/210/285/440, Quadro FX 350/540/550/560,
Quadro FX 1400/Go1400/1500/2500/3400/3450/3500/4000/4500/5500, nforce 4xx,
nforce 6xx, i.e., any GPU based on the NV40/NV41/NV42/NV43/NV44,
C51/C61/C67/C68/C73, or G70/G71/G72/G73 chips or a variant thereof,
DO NOT INSTALL THIS RELEASE!!!
Use the nvidia-legacy-304xx-driver, nvidia-legacy-304xx-kernel-dkms
-- Andreas Beckmann Tue, 16 Oct 2012 18:00:49 +0200
I checked my video card with “
lspci” that shows that my card is indeed interested by this change:
01:00.0 VGA compatible controller: NVIDIA Corporation G72 [GeForce 7300 GS] (rev a1)
I let the upgrade end, and I was a bit puzzled because I had both drivers installed. I decided to reboot the machine, and instead of the graphical login screen I was greeted by a blue “
ncurses” screen telling me that X server did not start.
I logged in as root on the command line, and tried to examine the problem. It seems that both drivers are installed, and that the non-legacy one is used, which apparently has no support for my old GeForce. I noticed some “alternative” packages were installed automatically, such as “
nvidia-legacy-304xx-alternative“, that instructed me to use “
update-alternatives --config nvidia” to select a version. I then run it and chose the legacy driver. On next reboot, the graphical login screen appeared correctly, and the issue was solved.
This setup seems to work, but I wanted to keep only the working one on my system, removing the default one. Since the legacy driver was installed automatically by the default driver, I needed to tell Debian package manager
aptitude that I wanted to keep it installed even after I removed the default driver, so I ran:
# aptitude unmarkauto nvidia-legacy-304xx-driver
After that I could remove the nvidia default packages:
# aptitude remove nvidia-driver nvidia-glx nvidia-kernel-dkms xserver-xorg-video-nvidia nvidia-alternative
I re-ran “
update-alternatives --config nvidia” to finish the cleanup.
I wish they developed an automatic procedure to choose legacy or default driver given the graphic card that is actually inserted in the computer, but since it’s not the case, I wanted to write somewhere the manual procedure that I used to recover from this issue. Be aware that this is possibly not the ideal procedure or one that works with any setup.