Very very tenacious problem with saving the Nvidia driver konfiguration

Hallo community!
I have installed the current Nvidia driver(s) for my video card:

nvidia-gfxGO2-kmp-desktop 260.19.12_k2.6.34.0_12-24.1
x11-video-nvidiaGO2 260.19.12-25.1
nvidia-settings 256.35.0.pm. 1.1
xorg-x11-driver-vido-nouveau 0.0.15_20100401_bfb95cc-1.10
libXNVCtrl 256.35-0.pm.2.1

Now my problem is everytime I save the configuration for

  • the open GL settings
  • the anti aliasing settings
  • the powermizing settings

with the GUI-programm NVIDIA X Server Settings under GNOME
every setting is lost completely after a restart of my system and the defaults are reset even if i save the configuration in the menu nvidia-settings configuration of the GUI-programm NVIDIA X Server Settings.

Is there a possiblity to SAVE the settings? They should stay after a reboot.
I think this is a issue very spread under several Linux distributions. I can´t understand the source of the mistake or bug.

A helpful advisement mean much to me!
Please give me helpful instructions!
Thanks a lot!

Are you running nvidia-settings as the root user?

Try it again as root user. Press alt+f2 and type:

gnomesu nvidia-settings

Then press enter. Type in your root password press enter then try configuring it again and save it.

thanks for the reply

I have tried to save the configuration earlier with root privileges.
But then If I open the nvidia dialog again as an normal user everything is reset.
The configuration can not be saved for non-roots?

Thats right. Only root can write to the config file (/etc/X11/xorg.conf). Non-roots don’t have write access to this file.

Sory ah7013,
but I still doesn´t understand completely:
If i save the configuration as root, and I start a normal account with normal privileges then the root config is used?

Thanks

I would like to add that while you can run nvidia-setting as a standard user, you can not modify system files as a standard user. Your video card and monitor belong to the system for all users to use. So, if you want to make system wide changes to your configuration files, you must run nvidia-settings as root. Temp changes can be made without being root, as you have observed, most permanent changes that modify system files must be done as root. I use KDE, not gnome, but I normally start nvidia-settings as root using the kdesu nvidia-settings command and for gnome you must use
gnomesu nvidia-settings as was already suggested.

Thank You,

User specific settings made with (such as texture sharpening, colour settings or digital vibrance) are saved to ~/.nvidia-settings-rc ~ = /home/$username]. So depending on what settings are made, it actually can make sense to start the nvidia-settings as a regular user too.

You need to run nvidia-settings every time you log-in because settings are not persistent.

nvidia-settings has a command line mode, which you can use to load the settings automatically at log-in.

In your home directory, find a file called .xinitrc (hint: the . at the start makes the file hidden). Edit it to add this line:

nvidia-settings -l

This should cause the nvidia config to be loaded automatically at log-in.

I’m writing away from my Suse box right now, but I think these details are correct.

Paul

Huh? What kind of settings are you referring to, the xorg.conf or the ones which are written in ~/.nvidia-settings-rc (as mentioned by me above)? Both are persistent, and why should they not be?

Funny, because my /home does not contain any xinitrc, this file is actually located in /etc/X11/xinit. /home does contain .xinitrc.template, but both do not contain any lines referring to NVidia or the nvidia-settings. Yet on my system the nvidia-settings get loaded when logging into a GUI-session (I can tell the difference by overwriting them with KDE monitor settings).

I just ran nvidia-settings -help and here is what is said about the -l option:

-l, --load-config-only
      Load the configuration file, send the values specified therein to the X server, and exit.  This mode of operation is useful to place in your xinitrc
      file, for example.

So, it looks like your memory is still intact there prhunt . You can create a autostart script file and place it in the folder ~/.kde4/Autostart, fo kde users. I created one that simple text file called nvidiaset that said:

#!/bin/bash
nvidia-settings -l

I then ran the terminal command:


chmod +x ~/.kde4/Autostart/nvidiaset

To make it executable.

As for running the nvidia-settings as root, this is required to save your settings in your xorg.conf file if you wanted to do that. I have used it to acquire my EDID and saved it in my X config file (Manually, not in nvidia-settings) to force a particular monitor selection.

Thank You,

The thing is: why do I obviously not need that xinitrc in my home or the nvidia-settings to be autostarted like that? For me they are persistent. Might have something to do with KDE (or whatever environment) reloading the previous sessions and therefore also its settings. Only I suppose that’s pretty much default as well.

Edit: Also, please note what I wrote about the different options the nvidia-settings offer. Some should be edited as root (anything systemwide / related to the xorg.conf), some should be done as user (colour settings etc. / anything related to ~/.nvidia-settings-rc), otherwise they only take effect when root logs into a GUI session.

The thing is: why do I obviously not need that xinitrc in my home or the nvidia-settings to be autostarted like that? For me they are persistent. Might have something to do with KDE (or whatever environment) reloading the previous sessions and therefore also its settings. Only I suppose that’s pretty much default as well.
I think that you are correct there gropiuskalle. It is getting late for me here tonight to do any more testing with the ability to load such a file, though I am not sure where it is being loaded from just yet. Any time I see something that could be made into a script, I simply can not refuse to try it, no matter the final outcome. So keep an open mind, there might be value there somewhere, we just don’t know what it is yet.

Thank You,

I do, I basically write in this thread to understand, not to claim to have better knowledge.

Same over here, so good night! :slight_smile:

The .nvidia-settings-rc settings are not persistent. The nvidia-settings man page says:

   3. Loading Settings Automatically
       The NVIDIA X driver does not preserve values set with nvidia-settings between runs of the X server (or even between logging in and logging out of X, with xdm(1), gdm, or kdm ).  This is inten-
       tional, because different users may have different preferences, thus these settings are stored on a per-user basis in a configuration file stored in the user's home directory.

       The configuration file is named ~/.nvidia-settings-rc.  You can specify a different configuration file name with the --config command line option.

       After you have run nvidia-settings once and have generated a configuration file, you can then run:

            nvidia-settings --load-config-only

       at any time in the future to upload these settings to the X server again.  For example, you might place the above command in your ~/.xinitrc file so that your settings  are  applied  automati-
       cally when you log in to X.

       Your .xinitrc file, which controls what X applications should be started when you log into X (or startx), might look something like this:

            nvidia-settings --load-config-only &
            xterm &
            evilwm

       or:

            nvidia-settings --load-config-only &
            gnome-session

       If you do not already have an ~/.xinitrc file, then chances are that xinit(1) is using a system-wide xinitrc file.  This system wide file is typically here:

            /etc/X11/xinit/xinitrc

       To use it, but also have nvidia-settings upload your settings, you could create an ~/.xinitrc with the contents:

            nvidia-settings --load-config-only &
            . /etc/X11/xinit/xinitrc

       System administrators may choose to place the nvidia-settings load command directly in the system xinitrc script.

       Please see the xinit(1) man page for further details of configuring your ~/.xinitrc file.

To achieve an automatic loading of .nvidia-settings-rc, one could:

1 Edit local .xinitrc (based on .xinitrc-template) to run the program on a per-user basis.
2 Edit system xinitrc script (/etc/X11/xinit/xinitrc) to run the program system-wide
3 Use something like the KDE4 autostart feature.

Perhaps the KDE4 autostart is easiest to debug/manage.

As is typical in Linux, there are many paths to any given goal.

Paul

...] thus these settings are stored on a per-user basis in a configuration file stored in the user's home directory.

My interpretation of this is that the settings done with nvidia-settings (beside the ones which are written into the xorg.conf, which are permanent anyway) are actually permanent, but not systemwide, but for each user. The behaviour on my system pretty much confirms that. Again, I believe they are reloaded simply because my KDE is set to reanimate the previous session with all its settings, including the ones referring to NVidia. Users starting with a new session each time most probably will have to use the ways you described here.

Well, nvidia-settings can create a local (per-user) record of settings in the file ~/.nvidia-settings-rc, so in that sense, the settings are permanent.

BUT - for the sake of clarity - the per-user settings as stored in ~/.nvidia-settings-rc will NOT take effect UNLESS the nvidia-settings program is run once per X login.

How that is accomplished is up to the user. In your case, you are using KDE4 session restore. However, that may not work for non-KDE4 users and will not work for users who don’t use the session restore feature.

Paul