Skip to content

Using NVIDIA GPUs

Daniel Massey edited this page Jan 13, 2026 · 1 revision

Using NVIDIA GPUs

NVIDIA GPUs have almost always been less seamless under GNU/Linux than their Intel and AMD counterparts. However, this does not mean you should not be able to use MassOS just because you own one such GPU. As the GPU vendor with the vast majority of the discrete GPU market share (as of 2025/2026), it is very likely that many users will have an NVIDIA GPU. This article aims to clarify and describe the process of making both old and new NVIDIA GPUs work under MassOS.

NOTE: This article is a work-in-progress. It would benefit from more testing, which is currently not possible due to lack of hardware owned by the author of this guide. Contributions are welcome. This article also focuses only on consumer-grade GPUs for now (not workstation or server GPUs).

Eras of NVIDIA GPUs

This article is going to classify NVIDIA GPUs into the following two eras, for simplicity. Even though each era contains multiple generations of GPUs. Those eras are as follows:

  • Modern era - 16XX series through to the latest (50XX at the time of writing) series.
  • Legacy era - 10XX series and older (including 9XX, 8XX, 7XX, etc.).

In general, the modern era NVIDIA GPUs are better supported under MassOS than the legacy era ones. The reasons for this will be explained in the following sections, which are guides on how to use GPUs from either era on MassOS.

Install MassOS first

Before applying any of the methods described in the following sections of this article, you should first make sure MassOS is installed. These fixes cannot be applied to the live environment / installation media. If you are booting to a black screen, then try selecting the fallback graphics option from the initial bootloader menu of the live CD. You may have to use a low resolution and a desktop with no CD acceleration for the installation process itself, but after the installation process is complete, the following methods can be applied to fix/improve the functionality of your GPU under MassOS.

Using modern era GPUs

The NVIDIA open source kernel modules, supporting GPUs from this era (16XX and newer), are included out of the box on MassOS. This allows such GPUs to be functionally usable without needing additional configuration. However, if advanced configuration is desired, it can currently only be done using NVIDIA's proprietary control panel application, which is not included by default on MassOS due to it being non-free software. You can, however, install this proprietary application on your system by downloading the driver for your GPU from the support page on NVIDIA's website.

Head to https://www.nvidia.com/en-us/drivers/, and find the Manual search tab on the left hand corner of the screen. You will need to complete the dropdowns to specify your GPU. This image demonstrates an example search, for the RTX 3060 GPU:

After completing these drop-downs and pressing Find, you will be taken to the list of drivers. Find the topmost one and select View:

Now select Download:

This will download a .run file. You will need to open a terminal and switch to the directory containing this file. Assuming you saved the file to your downloads folder, the terminal command to do this would be the following:

cd ~/Downloads

Now make the package executable:

chmod +x NVIDIA-Linux-x86_64-*.run

And run the package, making sure to add the argument to ONLY install the proprietary control panel application (as the driver itself is already pre-installed via the included open source kernel modules):

./NVIDIA-Linux-x86_64-*.run --no-kernel-modules

After installation, restart your system. You should now see the NVIDIA control panel application in your programs list, and you can use this to tweak advanced settings for your GPU.

If you later want to uninstall the control panel application, you can do so using the nvidia-uninstall program.

Using legacy era GPUs

Unfortunately, the aforementioned NVIDIA open source kernel modules do not support legacy era (10XX and older) GPUs. The Linux kernel's in-tree nouveau driver may be usable for operating these GPUs instead, but it is blacklisted by default due to conflicting with the open source kernel modules used to operate newer GPUs.

First, you will need to see if you boot to a black screen. If this happens, you will need to restart your system and boot with the nomodeset kernel parameter added. On a fully installed system, you will need to press E at the main MassOS boot option and then add nomodeset onto the end of the line that looks similar to linux ... ro quiet splash. Here is a screenshot to demonstrate:

After making that edit, press F10 to save the changes and boot. This modification will only apply to this boot, so you don't need to worry about it persisting on subsequent boots, whereby it will no longer be required anyway, as you will have applied the fix described below.

After adding the parameter, you should boot normally to the desktop, even though you may be at a low resolution and have poor performance. This is because the nomodeset parameter forces the use of fallback framebuffer/vesa drivers, which can output video on basically any GPU in existence, even unsupported ones.

Now open a terminal and run the following command to edit the necessary modprobe configuration file:

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

Go down to the following lines:

blacklist nouveau
options nouveau modeset=0

And comment both of these lines out by adding a # symbol at the start of them, so they end up looking like the following:

#blacklist nouveau
#options nouveau modeset=0

Press Control+S followed by Control+X to save and quit the editor, Now reboot your system and the nouveau driver should be functional.

Clone this wiki locally