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
lscpi command can be used to list all PCI devices. In our case, we are interested in only NVIDIA devices.
lspci | grep -i nvidia
If running the above command gives you an empty output, it could be due to one of the following reasons:
- No NVIDIA graphics card is present.
- 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
- -a: Automatically install an appropriate driver.
- pci or usb: Specifies that the device is connected via PCI.
mhwdsupports 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.
Step 4: Verify NVIDIA Driver
If everything went well with the installation, you should be able to run these two commands:
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.
On the other hand,
nvidia-settings is a GUI tool which provides a control panel with more configuration options for the graphics card.
nvidia-settings command is not available on your machine, you can install it manually as follows:
sudo pacman -S --needed nvidia-settings