How to Add Nvidia Drivers to Your Debian Installation

Spread the love

Installing the official Nvidia driver is one of the most confusing parts of maintaining a Linux machine. Every distro provides its own set of drivers, each with its own compatibility and performance issues. This article will show you how you can install the official Nvidia drivers for your Debian system.

Content

Tip: some tips for you to get Wayland to work properly with Nvidia graphics cards.

Preparing Your System for Nvidia Drivers

The first step in installing Nvidia drivers in Debian is to check whether your system detects your graphics card properly. To do that, run the following command in your distro’s terminal:

lspci | grep -iE "3d|display|VGA"

This will print a line of text highlighting all the available graphics cards in your machine.

Run the following command:

sudo sed -i '/^deb \|^deb-src / s/$/ non-free contrib/' /etc/apt/sources.list

Tip: learn how you can manipulate text streams in the terminal by understanding the sed utility.

Update your distro’s repository listings:

sudo apt update && sudo apt -y upgrade

Installing the Drivers using apt

At this point, your Debian system can now look for proprietary packages through apt. To install the proprietary Nvidia driver, you need to first install your system’s kernel headers:

sudo apt install linux-headers-$(uname -r) nvidia-detect firmware-misc-nonfree

Run the “nvidia-detect” program to determine the Nvidia driver that’s appropriate to your machine:

sudo nvidia-detect

Obtain the driver that you need using apt. In my case, I will install the “nvidia-driver” package since it supports my GTX 1050 Ti card:

sudo apt install nvidia-driver

Reboot your system to load your new Nvidia driver, then run nvidia-smi to see if the driver is properly working.

Installing the Drivers using Official Nvidia Packages

Aside from using apt, you can also install the graphics driver for your card from Nvidia itself. This allows you to install the latest driver package for your hardware as soon as it comes out.

To start, run the following command to install all the prerequisites for the graphics driver:

sudo apt install gcc make acpid dkms dracut libglvnd0 libglvnd-dev libglvnd-core-dev libc-dev linux-headers-$(uname -r)

Remove any previous installation of the nvidia-driver package from Debian’s repositories, then reboot your system:

sudo apt purge "*nvidia*"
sudo reboot

Open a web browser, then navigate to Nvidia’s driver downloads page.

Select the model-specific model for your graphics card, then select “Linux 64-bit” under the “Operating System” dropdown box.

Click “Search” to load all the compatible drivers for your system, then select the one that you want to install. In my case, I will select “535.146.02” since it’s the most recent stable driver for my card.

Disabling the Open Source Nouveau Driver

Disable the nouveau graphics driver from your system’s bootloader. This will ensure that the kernel will not load the open-source driver if the official one is present:

sudo -s
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

Open the GRUB configuration file using your favorite text editor:

sudo nano /etc/default/grub

Look for a line that starts with “GRUB_CMDLINE_LINUX_DEFAULT.”

Insert the “rd.driver.blacklist=nouveau” string after the “quiet” value.

Reload your GRUB configuration, then create a new initramfs image:

sudo update-grub
sudo cp /boot/initrd.img-$(uname -r) /boot/initrd.img-nouveau
sudo dracut -q --force /boot/initrd.img-$(uname -r) $(uname -r)

FYI: understand how bootloaders work by restoring GRUB in broken installations.

Installing the Official Nvidia Driver in Debian

Restart your system, then press the Down Arrow, then E on the GRUB boot menu:

This will bring up a window where you can change the boot parameters for the current session. Navigate to the line that starts with “linux” then add “3” to the end of it.

Press Ctrl + X to continue the boot process.

Provide your user details once the system loads its login prompt.

Switch to the root user by running sudo -s, then run the Nvidia driver binary:

chmod +x ~/Downloads/NVIDIA-Linux-x86_64-535.146.02.run
~/Downloads/NVIDIA-Linux-x86_64-535.146.02.run

Select “Yes” when the installer asks you about including “32-bit compatibility binaries,” “DKMS modules,” and running the “nvidia-xconfig” utility.

Note: On newer Nvidia drivers, it will ask if you want to rebuild your machine’s initramfs. Select “Rebuild initramfs” to load the Nvidia driver in your system’s boot image.

Reboot your system to load your new graphics driver:

sudo reboot

Lastly, check whether your system is using the new graphics drivers by running nvidia-smi.

Learning the process of installing an Nvidia driver in Debian is just the first step in tinkering with the internals of Linux. Understand how you can extract the most out of your machine by configuring its ZRAM cache.

Image credit: Christian Wiediger via Unsplash. All alterations and screenshots by Ramces Red.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Sign up for all newsletters.
By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time. Subscribe


Ramces Red
Staff Writer

Ramces is a technology writer that lived with computers all his life. A prolific reader and a student of Anthropology, he is an eccentric character that writes articles about Linux and anything *nix.

Comments (1)