[HowTo] Improve hybrid NVIDIA graphics performance on GNOME

I’ve been noticing a lot of issues with NVIDIA popping up recently on sites like Gitlab, Github, etc…
Here’s how to make NVIDIA perform better and potentially make a smooth desktop experience for NVIDIA users.

Some notes before we begin
IMPORTANT: This guide is solely for NVIDIA Users with Turing+/non-legacy graphics cards. This guide only works for Arch Linux and Manjaro users. It’s recommended that you use a CPU with integrated graphics for this guide.

Desktop Performance
NVIDIA is notorious for having terrible desktop performance. An example would be window event lags while a video or an animation is playing.

To fix window event lags (such as resizing, window movement and fullscreen), You have two options:

1. Switching to Wayland. (If this is not an option for you, try the second option)
2. Using an Optimus setup with your ,monitor(s) connected to your motherboard. A more detailed guide: NVIDIA Optimus on the Arch wiki.
I recommend using optimus-manager-qt from the AUR (Arch User Repository) since it’s much more straightforward and user friendly. It’s also advised to install gdm-prime from the AUR as well.

Recommended software to install: gnome-shell-performance and mutter-performance (or mutter-rounded).

Scrolling performance
Some users have reported that in some cases, The GPU would idle which leads to scroll lag. To fix this, create /etc/mkinitcpio.d/nvidia.conf and add the following :

options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3; PowerMizerLevelAC=0x3; PowerMizerLevel=0x3; PerfLevelSrc=0x2222;"

Then regenerate your initramfs.
NOTE: This may increase your computer’s power consumption.

Hardware Video Acceleration
By default, Manjaro already provides the necessary packages for hardware video acceleration. But if you do not have Hardware video acceleration, Use the guide: Hardware video acceleration on the Arch Wiki.

I think you mean “guide”. :wink:


AFAIK neither Wayland nor Optimus fixes anything, really. Nor are they really recommended. But I can’t be sure as I have no problems. :man_shrugging:

Thanks a lot. Also this guide is supposed to fix this specific issue: gitlab. gnome. org/GNOME/mutter/-/issues/2233

Also, optimus-manager requires gdm-prime to properly function on GNOME.

Hi @TpapTheLinuxer,

In that case, it’s not about generally making it better for everyone. Instead it’s how to work around a specific problem. And there’s no reason to work around it, if you don’t have the problem. So it’s actually quite specifically targeted, and not general, as the title suggests.

So I’d say it needs to be a bit different. For example:

Cause extreme lag when dragging a window.

But that’s just my example. You might have a better idea of what to make the title.

Another thing, please format the body according to this guide:

Also, take note of: