Jak sprawić, by zmiany w narzędziu nvidia-ustawienia były trwałe

12

Chcę wyłączyć VSync (nazywa się to „Synchronizuj z VBlank” w ustawieniach nvidia) dla mojej karty graficznej nvidia.

Ale konfiguracja zadziała tylko wtedy, gdy uruchomię narzędzie ustawień nvidia. Po ponownym uruchomieniu systemu VSync jest ponownie włączony i muszę ponownie uruchomić program.

Próbowałem wyeksportować xorg.confi wprowadzić, /etc/X11/ale bezskutecznie.

Więc moje pytanie brzmi: jak mogę zachować zmiany w narzędziu nvidia-settings?

urządzenie
źródło
1
Czy rootowałeś, gdy próbowałeś wyeksportować xorg.conf? nvidia-settingsmoże być używany jako zwykły użytkownik, ale nie może eksportować zmienionych ustawień.
jordanm
Nie byłem rootem, ale wyeksportowałem go do mojego katalogu domowego i przeniosłem ręcznie + chgrp root. czytanie prawa zostały ustawione dla wszystkich
Apparat

Odpowiedzi:

9

Przyglądanie się plikowi readme rzeczywiście czasem pomaga :)

Takie zachowanie jest zamierzone, aby dać różnym użytkownikom szansę posiadania własnych ustawień.

W skrócie plik konfiguracyjny nvidia-settings jest przechowywany ~/.nvidia-settings-rci można go wykonać, wywołując nvidia-settings --load-config-onlypodczas uruchamiania.

Aby uzyskać więcej informacji, oto odpowiednia część pliku Readme:

4) Automatyczne ładowanie ustawień

Sterownik NVIDIA X nie zachowuje wartości ustawionych w ustawieniach nvidia między uruchomieniami serwera X (lub nawet między zalogowaniem się i wylogowaniem z X, za pomocą xdm, gdm lub kdm). Jest to celowe, ponieważ różni użytkownicy mogą mieć różne preferencje, dlatego te ustawienia są przechowywane dla poszczególnych użytkowników w pliku konfiguracyjnym przechowywanym w katalogu osobistym użytkownika.

Plik konfiguracyjny nosi nazwę „~ / .nvidia-settings-rc”. Możesz podać inną nazwę pliku konfiguracyjnego za pomocą opcji wiersza polecenia „--config”.

Po jednorazowym uruchomieniu nvidia-settings i wygenerowaniu pliku konfiguracyjnego możesz uruchomić:

ustawienia nvidia - tylko-config-only

w dowolnym momencie w przyszłości, aby ponownie przesłać te ustawienia na serwer X. Na przykład możesz umieścić powyższe polecenie w pliku ~ / .xinitrc, aby ustawienia były stosowane automatycznie po zalogowaniu do X.

Twój plik .xinitrc, który kontroluje, jakie aplikacje X powinny być uruchamiane po zalogowaniu do X (lub startx), może wyglądać mniej więcej tak:

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

lub:

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

Jeśli nie masz jeszcze pliku ~ / .xinitrc, istnieje duże prawdopodobieństwo, że xinit używa ogólnosystemowego pliku xinitrc. Ten ogólnosystemowy plik jest zwykle tutaj:

/ etc / X11 / xinit / xinitrc

Aby z niego skorzystać, ale również aby ustawienia nvidia załadowały ustawienia, możesz utworzyć plik ~ / .xinitrc z zawartością:

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

Administratorzy systemu mogą umieścić polecenie ładowania nvidia-settings bezpośrednio w systemowym skrypcie xinitrc.

Więcej informacji na temat konfigurowania pliku ~ / .xinitrc znajduje się na stronie xinit (1).

urządzenie
źródło
4

Jako dodatek do poprzedniej odpowiedzi nvidia-settings zapisuje tylko te atrybuty związane z ekranem X w pliku konfiguracyjnym. Istnieją dodatkowe ustawienia, które można zastosować do innych komponentów; nie są one zapisane.

Jeśli spojrzysz, wszystkie atrybuty w pliku konfiguracyjnym mają prefiks {host}:0.0. Inne atrybuty, które można ustawić, są związane z GPU i tak dalej.

Na przykład użyłem HDTV podłączonego do karty NVidia i muszę zresetować kompensację Overscan (aby zmniejszyć wyświetlany rozmiar ekranu, aby dopasować go do fizycznego ekranu). Można to zmienić za pomocą GUI, ale nie jest ono przechowywane w pliku konfiguracyjnym. Z wiersza polecenia polecenie to:

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

Zauważ, że nazwa atrybutu zawiera specyfikację GPU.

Na szczęście SyncToVBlankjest w pliku konfiguracyjnym, więc po prostu załadowanie go powinno ustawić dla Ciebie. Jeśli wykonasz polecenie nvidia-settings --query all, wyświetli ono wszystkie atrybuty i cele, których dotyczą.

StarNamer
źródło
0

Użyłem edytora dconf do ustawienia wartości synchronizacji na VBlank

chrisonmanjaro
źródło
2
Ta odpowiedź byłaby o wiele bardziej użyteczna, gdybyś wyjaśnił, jak korzystałeś z edytora dconf.
Anthony Geoghegan