Nvidia GPU Settings Guide for Better Performance

Here are some tips and tricks to get better performance out of your Nvidia card that I have researched and tested. Every time you change or add something in the config file you need to restart.

Anyone that has other tips and tricks to help the performance of Nvidia cards, can feel free to post.

First, open the config file from the terminal.

sudo gedit /etc/X11/xorg.conf

Before changing anything else you need to unlock everything under Nvidia X Server Settings gui including fan control and overclocking. Add this under both ā€œDeviceā€ and ā€œScreenā€ sections.

Option         "Coolbits" "31"

To reduce screen tearing you want to go to the advanced setting of each of your displays in the Nvidia X Server Setting gui and enable Force Full Composition Pipeline and Save to X Configuration File at the bottom by merge with existing file.
Also, enable TripleBuffer under the ā€œDeviceā€ section.
By default TripleBuffer is disabled. This even in some cases can help load times with the driver and games.

Option 	   "TripleBuffer" "True"

Nvidia cards have what is called ā€œAdaptive Cockingā€. This makes the card throttle itself up or down based on the load it is experiencing.
To bypass PowerMizer and Adaptive Clocking add this under the ā€œDeviceā€ section.

Option         "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefaultAC=0x1"
  • PowerMizerEnable=0x1 turns on PowerMizer.
  • PerfLevelSrc=0x2222 tells the video card to operate at full on both AC & battery.
  • PowerMizerDefaultAC=0x1 tells the card to behave as if AC power is connected.

PerfLevelSrc=0x2222 is for desktops. So If you are running on a laptop then use this.

PerfLevelSrc=0x3322;

Also, you can use this terminal command to enable Prefer Maximum Performance. This can be put in a script or as a startup command.

nvidia-settings -a ā€˜[gpu:0]/GpuPowerMizerMode=1ā€™

If you have multiple gpuā€™s, just change gpu:0 to whatever card it is.

Under the Nvidia X Server Settings gui you canā€™t change the power limit like you can in Windows with MSI Afterburn or your manufacturerā€™s utility.
First, you need to look up your default power limit and max In the terminal by typing this.

sudo nvidia-smi -q -d POWER

Now to increase the default power limit to max or whatever you want to by typing this in the terminal. Canā€™t go over max.

sudo nvidia-smi -pl (base power limit + number = power limit of card)

Now to check if the changed worked.

sudo nvidia-smi -q -d POWER

The power limit has to be applied everytime you restart or log out. You can make a script that runs on startup.

How does

Option ā€œTripleBufferā€ ā€œTrueā€

fare against using using ForceCompositionPipeline=On and/or compton. Any idea if anyone is adding the Triplebuffer option to the Nvidia GUI?

Iā€™m asking how does it fare. Is there lag in either when comparing the two and so forth.

I use ForceCompositionPipeline=On and Compton along with TripleBuffer. Also, TripleBuffer helps with load times.

Well thatā€™s just blatantly wrong.

Triple buffering is just adding an extra buffer to allow for rendering a scene with minimal latency while removing tearing. Itā€™s just a cache. You have the display buffer, render buffer and cache buffer. Rather than waiting for v sync or tearing, the gpu renders to the oldest non display buffer. The newest completed buffer is pushed to the screen on display buffer refresh.

Triple buffering has nothing to do with load times. The only thing it effects outside of screen tearing and latency is slightly higher memory useage, depending on the screen resolution.

1 Like

Well, I have seen load times improve for some odd reasons with Triple Buffering.

I think itā€™s just coincidental circumstances that he enabled triple buffer after all the shader cache for every game he played had been built/cached.

Thatā€™s likely what happened, the first time you loaded the game, the driver had to build a shader cache, and thatā€™s why load times suffered. Once the shader cache was built, games load a LOT faster because it can pull from shader caches to reduce loading times.