Como fazer mudanças na ferramenta nvidia-settings persistente

11

Eu quero desabilitar o VSync (ele é chamado de "Sync to VBlank" em nvidia-settings) para minha placa gráfica nvidia.

Mas a configuração só entra em vigor se eu iniciar a ferramenta nvidia-settings. Depois de reiniciar o sistema, o VSync é ativado novamente e eu tenho que iniciar o programa novamente.

Eu tentei exportar o xorg.conf e colocá-lo em /etc/X11/ , mas sem sucesso.

Então, minha pergunta é: como posso fazer alterações na ferramenta nvidia-settings persistente?

    
por apparat 28.08.2012 / 00:34

2 respostas

8

Examinar o readme de fato ajuda às vezes:)

Esse comportamento é intencional para dar a diferentes usuários a chance de ter suas próprias configurações.

Em suma, o arquivo de configuração nvidia-settings é armazenado em ~/.nvidia-settings-rc e pode ser executado chamando nvidia-settings --load-config-only na inicialização.

Para mais detalhes, veja a parte relevante do leia-me:

4) 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, gdm, or kdm). This is intentional, 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" commandline 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 automatically 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 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) manpage for further details of configuring your ~/.xinitrc file.

    
por 28.08.2012 / 11:48
4

Como um adendo à resposta anterior, o nvidia-settings registra apenas os atributos relacionados a uma tela X no arquivo de configuração. Existem configurações adicionais que podem ser aplicadas a outros componentes; estes não são salvos.

Se você observar, todos os atributos no arquivo de configuração são prefixados com {host}:0.0 . Outros atributos que podem ser definidos estão relacionados à GPU e assim por diante.

Por exemplo, usei uma HDTV conectada a uma placa NVidia e preciso redefinir a Compensação Overscan (para reduzir o tamanho da tela exibido para caber na tela física). Isso pode ser ajustado a partir da GUI, mas não é armazenado no arquivo de configuração. Na linha de comando, o comando é:

nvidia-settings --assign :0[gpu:0]/OverscanCompensation[DFP-1]=80

Observe que o nome do atributo inclui uma especificação de GPU.

Felizmente, SyncToVBlank está no arquivo de configuração, portanto basta carregá-lo para você. Se você executar o comando nvidia-settings --query all , ele listará todos os atributos e destinos aos quais se aplicam.

    
por 28.08.2012 / 13:10