I recently upgraded by PC from an Nvidia 1050 Ti card to a new 3060 Ti card. I've been updating the drivers for this card since before there was a Debian package, so I've been through the installation quite a few times and run into my share of weird issues. This last upgrade was no exception, so I figured I'd document the process in case anyone out there is as bad at installing these as me!

Step 1: The Replacement

The best part of installing a new graphics card is getting to open up the guts of your computer (it's also the scariest part, since this is also the best opportunity to knock out a hard drive or a RAM stick). Fortunately this is pretty easy, first make sure you hit the little lever (switch?) on the PCI slot to pop out the old card. Then just slide the new guy in. Note though to people getting a card from the RTX 30 line (or higher) -- these cards run pretty big, so make sure you have enough space in you case. You can see I barely made it myself!

A second note to RTX users: most if not all these cards come with an extra power supply input (two 8-pin connectors). If your power supply is short on outputs, you can get a splitter cable like the one you see in the picture to match the inputs. I personally am running a 600 W supply for everything right now, which seems to be running fine. You should check some other power guides though if you're concerned your power supply won't drive the card

Step 2: Re-installing the drivers

At first I tried to just naively update and see what happened, but I received a "broken packages" error for nvidia-driver and other related packages after running this.

$ sudo apt update
$ sudo apt upgrade

This turned out to be a two-part error, one was the driver itself, two was an update in Debian sid.

Part one: Fix Broken Packages

Whenever I see broken packages, I tend to to assume that the name of a package got updated. In this case, there was a note on the apt list changes that mentioned a separate "non-free-firmware" branch had been made, which had some of the components I needed. I just added "non-free-firmware" to my /etc/apt/sources.list:

deb http://deb.debian.org/debian/ sid main contrib non-free non-free-firmware

Note: you may not need "non-free" here anymore, I simply had that since that was where the package used to be.

Part two: Re-install nvidia-driver

I tried to update again at this point, but encountered the same error. At this point I figured the best thing to do was to just try to reinstall all nvidia related software again:

$ sudo apt purge nvidia-*
$ sudo apt update
$ sudo apt upgrade

Ok no errors on the update this time, let's try again:

$ sudo apt install nvidia-driver

Part negative three: Just in case

In the dark days before the Debian team had an Nvidia package, you had to install drivers manually. I haven't had to do this in years, but I like having the option. You can download the latest drivers on their website:

https://developer.nvidia.com/vulkan-driver

The file will have a really long name like "NVIDIA-Linux-x86_64-525.89.02.run," so I suggest renaming it first to something like "driver.run"

In order to run this file, you need to stop your graphics environment. Press CTRL + ALT + F1 to log out and open a terminal-only session. Login with your credentials. Then stop the X-server

$ sudo service lightdm stop

If you use a different X manager you might need to replace "lightdm" with "gdm" or "kdm" (Gnome and KDE). Now we can run the driver install:

$ sudo chmod +x driver.run
$ sudo ./driver.run

Accept all the prompts and you'll have the factory made driver software. Note, you have to manually update this way though. So try to figure out the nvidia-driver package before resorting to this method!

Step three: Reboot and test

Reboot and then check the Nvidia X server setting panel (nvidia-settings) to make sure your card is detected correctly. At this point, as long as you're still seeing your desktop, you should be good to go! I ran Kerbal Space Program 2 (currently in early access) as my first test.

Looking good, Jeb!