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
packages instead.
-- 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.
chexclaim
2013/11/17
Thank you
Fernando
2013/11/22
Thank you so much!!
Dave
2014/02/06
Thanks a bunch, mine was kludged worse, but you set me on the right path. Using LMDE 686 pae (yes, 32 bit) & nvidia GeForce 6800 GT. I had to purge everything, and then start over because the “auto” option did not exist in the “update-alternatives –config nvidia” menu. Also, I did not remove any reference to nvidia in the xorg.conf file despite being told to do so.
Raphael Wimmer
2015/05/04
Thank you – this helped me 🙂
Heinkel T
2016/03/06
Great, thanks!!
mich
2017/06/28
Hi, do you happen to reinstall Debian9 on this computer?
I faces a similar problem with my old thinkpad.
According to this page https://wiki.debian.org/NvidiaGraphicsDrivers
nvidia-detect recommendeds to install the nvidia-legacy-340xx-driver package
Believe I am supposed to do a
aptitude -r install linux-headers-$(uname -r|sed ‘s,[^-]-[^-]-,,’) nvidia-legacy-304xx-driver
Hoping to find a “confirmation of sorts” before jumping in and not brick the system.
Balau
2017/06/28
unfortunately for you I changed my GPU to a Radeon on that computer. I would suggest to install the dkms version of your legacy package that should install Linux headers automatically. but I don’t think you are going to brick the system, at worst you install the nouveau packages