So machen Sie Änderungen im nvidia-settings-Tool dauerhaft

12

Ich möchte VSync (in den nvidia-Einstellungen "Sync to VBlank") für meine nvidia-Grafikkarte deaktivieren.

Die Konfiguration wird jedoch nur wirksam, wenn ich das Tool nvidia-settings starte. Nach dem Neustart des Systems wird VSync wieder aktiviert und ich muss das Programm erneut starten.

Ich habe versucht, das zu exportieren xorg.confund einzulegen, /etc/X11/aber ohne Erfolg.

Meine Frage ist also, wie ich Änderungen im Tool nvidia-settings dauerhaft vornehmen kann.

Apparat
quelle
1
Waren Sie root, als Sie versuchten, xorg.conf zu exportieren? nvidia-settingskann als normaler Benutzer verwendet werden, kann jedoch die geänderten Einstellungen nicht exportieren.
Jordanm
Ich war kein Root, aber ich habe es in mein Home-Verzeichnis exportiert und manuell verschoben chgrp root. Leserechte wurden für alle festgelegt
Apparat

Antworten:

9

Ein Blick in die Readme-Datei hilft in der Tat manchmal :)

Dieses Verhalten soll verschiedenen Benutzern die Möglichkeit geben, ihre eigenen Einstellungen vorzunehmen.

Kurz gesagt, die Konfigurationsdatei nvidia-settings ist in gespeichert ~/.nvidia-settings-rcund kann durch Aufrufen nvidia-settings --load-config-onlybeim Start ausgeführt werden.

Weitere Informationen finden Sie im relevanten Teil der Readme-Datei:

4) Einstellungen automatisch laden

Der NVIDIA X-Treiber behält keine Werte bei, die mit nvidia-Einstellungen zwischen den Läufen des X-Servers festgelegt wurden (oder sogar zwischen dem Anmelden und Abmelden von X mit xdm, gdm oder kdm). Dies ist beabsichtigt, da unterschiedliche Benutzer unterschiedliche Einstellungen haben können. Daher werden diese Einstellungen pro Benutzer in einer Konfigurationsdatei gespeichert, die im Ausgangsverzeichnis des Benutzers gespeichert ist.

Die Konfigurationsdatei heißt "~ / .nvidia-settings-rc". Sie können einen anderen Namen für die Konfigurationsdatei mit der Befehlszeilenoption "--config" angeben.

Nachdem Sie nvidia-settings einmal ausgeführt und eine Konfigurationsdatei generiert haben, können Sie Folgendes ausführen:

nvidia-settings - nur-config-only laden

Sie können diese Einstellungen jederzeit in Zukunft erneut auf den X-Server hochladen. Beispielsweise können Sie den obigen Befehl in Ihre ~ / .xinitrc-Datei einfügen, damit Ihre Einstellungen automatisch angewendet werden, wenn Sie sich bei X anmelden.

Ihre .xinitrc-Datei, die steuert, welche X-Anwendungen gestartet werden sollen, wenn Sie sich bei X (oder startx) anmelden, sieht möglicherweise folgendermaßen aus:

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

oder:

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

Wenn Sie noch keine ~ / .xinitrc-Datei haben, verwendet xinit möglicherweise eine systemweite xinitrc-Datei. Diese systemweite Datei befindet sich normalerweise hier:

/ etc / X11 / xinit / xinitrc

Um es zu verwenden, aber auch nvidia-settings Ihre Einstellungen hochladen zu lassen, können Sie ein ~ / .xinitrc mit dem Inhalt erstellen:

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

Systemadministratoren können den Befehl nvidia-settings load direkt im System-xinitrc-Skript platzieren.

Weitere Informationen zum Konfigurieren Ihrer ~ / .xinitrc-Datei finden Sie in der Manpage xinit (1).

Apparat
quelle
4

Als Ergänzung zur vorherigen Antwort zeichnet nvidia-settings nur die Attribute auf, die sich auf einen X-Bildschirm in der Konfigurationsdatei beziehen. Es gibt zusätzliche Einstellungen, die für andere Komponenten gelten können. diese werden nicht gespeichert.

Wenn Sie schauen, wird allen Attributen in der Konfigurationsdatei das Präfix vorangestellt {host}:0.0. Andere Attribute, die festgelegt werden können, beziehen sich auf die GPU usw.

Ich habe beispielsweise einen HDTV verwendet, der an eine NVidia-Karte angeschlossen ist, und muss die Overscan-Kompensation zurücksetzen (um die angezeigte Bildschirmgröße an den physischen Bildschirm anzupassen). Dies kann über die GUI angepasst werden, wird jedoch nicht in der Konfigurationsdatei gespeichert. Über die Befehlszeile lautet der Befehl:

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

Beachten Sie, dass der Attributname eine GPU-Spezifikation enthält.

Glücklicherweise SyncToVBlankbefindet es sich in der Konfigurationsdatei. Wenn Sie es also nur laden, sollte es für Sie festgelegt werden. Wenn Sie den Befehl ausführen nvidia-settings --query all, werden alle Attribute und Ziele aufgelistet, für die sie gelten.

StarNamer
quelle
0

Ich habe den dconf-Editor verwendet, um den Wert von Sync auf VBlank zu setzen

Chrisonmanjaro
quelle
2
Diese Antwort wäre viel nützlicher, wenn Sie erklären würden, wie Sie den dconf-Editor verwendet haben.
Anthony Geoghegan