How to improve the performance of your nVidia card in Linux

If you are one of those who use the computer simply to view your mails, surf the internet or edit some other text files, the free Nouveau drivers will be more than enough. Now, if yours are games, video editing or HD movie playback, then in that case there is no escape: proprietary drivers are the best answer, for now.

Even so, the proprietary drivers do not have the same performance as the Windows ones. To get a little closer to the latter, it is necessary to change some settings.

The setting to be changed is called "PowerMizer". Its function is to adapt the performance of the card according to the needs of the moment or based on the source of electrical energy (battery or current).

To get a good idea of ​​what I'm saying, you can open nvidia settings from a terminal and access the tab PowerMizer.

nvidia-settings: tab to configure powermizer

nvidia-settings: tab to configure powermizer

Ideally, you should be able to change PowerMizer settings directly from nvidia-settings, but for some reason it doesn't save the changes. Our goal will be to change the option PreferredMode de Adaptive a Prefer Maximum Performance. How to get it? Configuring our Xorg configuration file.

1. Open a terminal and run:

sudo nano /etc/X11/xorg.conf

o

sudo nano /etc/X11/xorg.conf.d/20-nvidia.conf

according to your preference.

2. In the Device section add a line specifying the PowerMizer configuration that best suits your needs:

# "adaptive" for any power source Option "RegistryDwords" "PowerMizerEnable = 0x1; PerfLevelSrc = 0x2233; PowerMizerDefault = 0x3" # batt = max power save, AC = max power save Option "RegistryDwords" "PowerMizerEnable = 0x1; PerfLevelSrc = 0x3333 "# batt = adaptive, AC = max performance (my favorite) Option" RegistryDwords "" PowerMizerEnable = 0x1; PerfLevelSrc = 0x3322; PowerMizerDefaultAC = 0x1 "# batt = max power save, AC = max performance Option" RegistryDwords "" PowerMizerEnable = 0x1; PerfLevelSrc = 0x2222; PowerMizerDefault = 0x3; PowerMizerDefaultAC = 0x1 "# batt = max power save, AC = adaptive Option" RegistryDwords "" PowerMizerEnable = 0x1; PerfLevelSrc = 0x2222; PowerMizerDefaultizer = 0x3; PowerMizerDefaultizer = 0x3; PowerMizerDefaultMXNUMX "
The preceding lines are mutually exclusive. That is, you have to choose one and add it in the Device section of your Xorg configuration file.

3. In my case, as my computer is a PC (connected to the current), I applied the second option:

# batt = adaptive, AC = max performance (my favorite) Option "RegistryDwords" "PowerMizerEnable = 0x1; PerfLevelSrc = 0x3322; PowerMizerDefaultAC = 0x1"

My full configuration file was left so.

In this way, I ensured the maximum performance of my humble nVidia Geforce 7200.

4. Once the changes are made, reboot.

In case it doesn't work, some users have stated that running ...

nvidia-settings -a [gpu: 0] / GPUPowerMizerMode = 1

… Can correct the problem. The point is that this command should be executed every time we start the computer. Likewise, that is not very complicated either, although it varies according to the desktop environment you use (KDE, XFCE, etc.).

Finally, one last comment. You may not notice much of a difference in performance when doing "wild and common" use (web browsing, office automation, etc.) of your card. In my case, this trick has allowed me to eliminate the so-called "flickering" or "chopping" in the playback of HD videos and a better performance in Wine games.

In an upcoming installment, I'll share an additional trick to permanently remove flickering from HD video playback without removing the Compton window composer.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   staff said

    +1
    It must be remembered that this change also brings with it a higher temperature and energy consumption.

    1.    staff said

      Sorry, * I get.

    2.    pandev92 said

      You will not spend more than using nouveau xD.!

      1.    staff said

        😀 There is no way to defend the nouveau.

  2.   erunamoJAZZ said

    hmm ... could it be that it did not save the configuration because it did not open the nvidia-settings with administrator permissions?

    😛

    1.    popcorn said

      It saves me the change ... and without needing administrator permissions.

    2.    NaOH said

      my first thought was exactly that

    3.    let's use linux said

      No, it wasn't for that ... no idea why. : S
      I tried with admin permissions and it didn't work ...

  3.   round said

    Do you know if there is any way to establish the «Performance levels» so that when you start climbing, you will not reach the lowest but among the top three for example? Anyway very good the trick

  4.   shengdi said

    Keep it simple, you open the nvidia-settings as administrator and it allows you to save

    gksu nvidia-settings (Gnrome)
    kdesu nvidia-settings (KDE)

  5.   sieg84 said

    I apply the change to the xorg.conf, but in nvidia-settings it still appears in adaptive, does it take the option into account even if it does not take it in nvidia-settings?

    1.    let's use linux said

      In my case, he took it. : S

    2.    let's use linux said

      Try making the changes by opening nvidia-settings as admin or using plan b detailed in the post.

      1.    sieg84 said

        Yes, I did it as an admin, I'll pretend to take the change,

        Thank you.

  6.   x11tete11x said

    I plan to complement this with a stupid and sensual script that causes the same effect xD

    1.    let's use linux said

      Good!

  7.   truko22 said

    Thank you very much, testing 😀

  8.   Killer_Queen said

    Let's see fellow Linux users, I have an Nvidia 8400 GS and I use Debian Stable XFCE. The games that I use on my Debian are through emulators (Kega Fusion, ZSnes, Mame, Mednafen, PCSX, etc). Install the Nvidia drivers according to the tutorial on the Debian wiki: https://wiki.debian.org/NvidiaGraphicsDrivers#wheezy
    My questions are: Is it worth activating the Prefer Maximum Performance? Will the emulators I use look better? Will they consume less CPU resource? By the way, through the nvidia-settings the changes are not saved. Greetings and thanks in advance for reading me.

    1.    let's use linux said

      In my experience, it did improve ... but I get the impression that you have to analyze it "case by case".
      By trying you don't lose anything.

  9.   Leper_Ivan said

    This is good for a laptop:

    # batt = max energy saving, AC = max performance
    Option "RegistryDwords" "PowerMizerEnable = 0x1; PerfLevelSrc = 0x2222; PowerMizerDefault = 0x3; PowerMizerDefaultAC = 0x1 »

    ??

  10.   jony127 said

    Hello,

    I use opensuse 12.3, I have the proprietary nvidia drivers but I don't have the xorg.conf file and the 20-nvidia.conf is in /etc/modprobe.d and contains only one configuration line.

    Also, if I remember correctly, I think I read that the xorg.conf file was no longer used.

    1.    let's use linux said

      Not that it is not used, but it is not recommended.
      Instead, it is recommended to use
      /etc/X11/xorg.conf.d/20-nvidia.conf
      as also explained in the post. 🙂
      Hug! Paul.