Nvidiux: Nvidia GPU Overclocking And Underclocking Software For Linux (GUI)

Nvidiux Nvidia GPU overlocking software for Linux

Nvidiux is a graphical Nvidia GPU overclocking tool for Linux. The application makes it easy to overclock or underclock Nvidia GPUs, while also providing some extra features like fan control or GPU monitoring.

Nvidiux takes care of everything needed to overclock Nvidia graphics cards, making it almost as easy to use as Afterburner, the popular MSI GPU overclocking tool. It automatically generates an xorg.conf file with the Coolbits option (required to enable overclocking of Nvidia GPUs on Linux), can auto overclock on startup, supports saving and loading overclocking or underclocking profiles, and more.

Nvidiux features:

  • Save and load overclocking or underclocking profiles
  • Change the graphics (GPU) clock, shader and memory transfer rate frequency
  • Adjust Nvidia GPU fan speed
  • Enable or disable Vsync and maximum performance
  • Overvolting (needs to be enabled from the settings, by firstly enabling advanced options in Nvidiux preferences)
  • Option to force gpuBoost V1 new parameters (needs to be enabled in the settings, after enabling advanced options - requires Nvidia GT(X) 6xx)
  • Displays Nvidia graphics driver version, OpenGL version, temperature, GPU and memory use, memory interface, available video memory, the number of CUDA cores, and more
  • Graphical monitoring of GPU temperature, fan speed, GPU load and memory usage
  • Automatically apply an overclocking profile when Nvidiux starts or on system startup (this option is grayed out on my system though)

The application does not support undervolting.

Nvidiux works with 4XX or newer Nvidia graphics cards. You'll also need the proprietary Nvidia graphics drivers to use Nvidiux. Version 337 or newer is required for overclocking, while version 346 or newer is needed if you want to use the overvolt feature.

You can overclock or underclock your Nvidia GPU by using the Nvidia Settings tool, after enabling Coolbits, so Nvidiux doesn't offer anything new. However, Nvidiux offers some extra features, including easy overclock profile loading and saving. And it has a nice built-in GPU monitoring tool:

Nvidiux Nvidia GPU monitoring

I'm using the experimental GPU monitor in this screenshot, which requires installing pyqtgraph (in Debian, Ubuntu, Linux Mint, etc., use this to install it: sudo apt install python-pyqtgraph) and enabling the Activate experimental monitor option in the Nvidiux settings.

I should also add that Nvidiux collects some system information, like the Nvidia graphics drivers version, GPU model and UUID, and the system version and architecture. You can disable this from its preferences, by checking the Disable Stats box.

On my Ubuntu 18.10 system, the Nvidiux option to apply an overclocking profile on system startup is grayed out. I'm not sure if it's some incompatibility issue or a bug (I asked the developer about it), but you can still easily get Nvidiux to load an overclocking profile on startup, by running the application with the --silent option followed by the path to the profile - I'll explain exactly how to do this later in this article.

While using Nvidiux, I also encountered various bits of text in French, even though the application is set to use English, like "Option avance" instead of "Advanced options", or the user agreement / disclaimer presented when you install Nvidiux. These are rare and shouldn't cause any problems for most users, but hopefully they will be translated soon. Here is an English translation of the disclaimer.

I'll also add my own disclaimer: using Nvidiux may void the warranty and / or cause damage to your computer. Using the instructions below (changing xorg.conf) may break booting to your Linux desktop, so make sure you understand what's going on and know how to undo the changes. You have been warned, use it at your own risk.

Installing and using Nvidiux

The Nvidiux GitHub project page has a DEB that can be installed on Debian, Ubuntu, Linux Mint and other Debian / Ubuntu based Linux distributions, a link to the Nvidiux Arch Linux (and Manjaro) AUR packag, and CentOS RPM packages.

An Ubuntu and Linux Mint PPA is also linked on the project page, but note that the Nvidiux PPA packages don't ship with a .desktop file, so Nvidiux won't show up in your applications menu - you'll have to open a terminal and type nvidiux to launch it. The DEB package available on the GitHub downloads page has a .desktop file so you won't encounter this issue if you use that package.

Running Nvidiux

Before running Nvidiux for the first time, if you have an xorg.conf file in /etc/X11/ (in most cases you shouldn't have an /etc/X11/xorg.conf file though so ignore this if no such file is present on your system), rename it to something like xorg.conf.bck1:

sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bck1

Theoretically, Nvidiux should be able to modify an already existing xorg.conf automatically, but this doesn't seem to work properly. By renaming your original xorg.conf file, Nvidiux will generate a new xorg.conf, and automatically add the Coolbits option (this worked without any issues on my system). In case you encounter issues, you can later remove the Nvidiux-generated /etc/X11/xorg.conf file and use the backup.

Now you can run Nvidiux. Since there's no /etc/X11/xorg.conf file, Nvidiux will ask to generate it and add the Coolbits option:

Nvidiux generate xorg.conf

After pressing Yes and entering your password, Nvidiux will ask you to reboot your system. Reboot and you'll be able to use Nvidiux to overclock your Nvidia GPU in Linux.

Applying an overclocking or underclocking profile on system startup with Nvidiux

Like I was saying above, the Nvidiux option to automatically apply an overclocking or underclocking profile on system startup is grayed out on my system. If you're encountering the same issue, you can get Nvidiux to apply an overclocking or underclocking profile on system startup by adding it to your startup applications, since the command to apply an overclocking profile silently (without opening the Nvidiux GUI) can run without root.

Start by creating an overclocking profile. In Nvidiux, change the settings you want to use for overclocking or underclocking, then save the profile (Profile -> Save in the application upper left-hand side).

Now you can add it to startup. Open Startup Applications (or equivalent) from your applications menu, click Add to add a new startup item, enter a name in the Name box (something like Nvidia Overclocking or whatever you'd like), and use this as the command: sh -c 'nvidiux --silent "/path/to/overclockingprofile.ndi"', replacing /path/to/overclockingprofile.ndi with the path to the Nvidiux overclocking profile you want to apply on system startup (for example: "/home/logix/GeForce GTX 980-1450 Mhz.ndi").

You can also do this manually, by creating a file called nvidia-overclocking.desktop in ~/.config/autostart/ with the following contents:

[Desktop Entry]
Exec=sh -c 'nvidiux --silent "/path/to/overclockingprofile.ndi"'
Name=Nvidia Overclocking

Once again, replacing /path/to... with the path to the Nvidiux overclocking profile you want to apply on startup.

If you are not able to add Nvidiux to your startup applications as explained above, another way of getting Nvidiux to apply an overclocking profile on system startup is to create a cron job for your user. Run this command:

crontab -e

Next, paste the following cron job:

@reboot sleep 60 && env DISPLAY=:0 /usr/bin/nvidiux --silent "/path/to/overclockingprofile.ndi"

DISPLAY=:0 may not work for your system. Open a terminal, run echo $DISPLAY and use this command's output as the DISPLAY value instead of :0, if it's different. Also replace "/path/to/overclockingprofile.ndi" with the path to the Nvidiux overclocking profile you want to use on startup.

The crontab line has sleep 60 (so the command runs with a 60 second delay) and DISPLAY=:0 because while using Nvidiux with the --silent option doesn't open it's GUI, X is still required.