Cover image banner for installing NVIDIA graphics card driver on Manjaro, Arch Linux

These days many Linux distros ship with open source graphics drivers such as Nouveau preinstalled and the Arch Linux family is no different. While open-source drivers are usually good enough to use a graphical interface, they often lack proprietary features which official drivers provide. Hence, one cannot take full advantage of all the functionalities that the dedicated GPU has to offer.

Install Proprietary NVIDIA Driver

Fortunately, vendors like NVIDIA offer proprietary Linux drivers for their various graphics cards. If you’re running Manjaro or any other Arch-based distro, this guide is for you.

Step 1: List all NVIDIA Devices

The lscpi command can be used to list all PCI devices. In our case, we are interested in only NVIDIA devices.

lspci | grep -i nvidia
Get list NVIDIA graphics cards using lscpi command

If running the above command gives you an empty output, it could be due to one of the following reasons:

  1. No NVIDIA graphics card is present.
  2. The NVIDIA GPU is not connected to the PCI.

Step 2: Install the Driver

Assuming you were able to detect the NVIDIA GPU in step 1, installing the latest compatible proprietary driver is as easy as running the command below:

sudo mhwd -a pci nonfree 0300

Tip

Below is a breakdown of the mhwd command:
  • -a: Automatically install an appropriate driver.
  • pci or usb: Specifies that the device is connected via PCI. mhwd supports only PCI connections at the time of writing this blog post.
  • free or nonfree: Whether to install free (open source) drivers, or nonfree drivers (provided by hardware manufacturers).
  • 0300: This parameter is the type of device for which to install a driver. 0300 is the ID for graphics cards.

Step 3: Reboot Computer

It is required to reboot the machine in order to load the newly installed driver.

reboot

Step 4: Verify NVIDIA Driver

If everything went well with the installation, you should be able to run these two commands:

nvidia-smi
nvidia-settings

nvidia-smi is a command-line tool which displays the driver version, GPU model and various statistics such as GPU memory, current load, GPU temperature, and a list of processes currently using the GPU.

nvidia-smi command to view memory usage, driver version, GPU model, GPU temperature, and GPU load

On the other hand, nvidia-settings is a GUI tool which provides a control panel with more configuration options for the graphics card.

Info

If the nvidia-settings command is not available on your machine, you can install it manually as follows:

sudo pacman -S --needed nvidia-settings

# Footnotes

https://wiki.manjaro.org/index.php/Configure_Graphics_Cards

https://www.nvidia.com/en-us/geforce/drivers/