Comment rendre persistantes les modifications apportées à l'outil nvidia-settings

12

Je veux désactiver VSync (cela s'appelle "Sync to VBlank" dans les paramètres nvidia) pour ma carte graphique nvidia.

Mais la configuration ne prend effet que si je démarre l'outil nvidia-settings. Après le redémarrage, le système VSync est à nouveau activé et je dois redémarrer le programme.

J'ai essayé d'exporter le xorg.confet de le mettre /etc/X11/mais sans succès.

Donc, ma question est de savoir comment puis-je rendre les modifications de l'outil nvidia-settings persistantes?

apparat
la source
1
Étiez-vous root lorsque vous avez essayé d'exporter xorg.conf? nvidia-settingspeut être utilisé en tant qu'utilisateur régulier, mais ne peut pas exporter les paramètres modifiés.
jordanm
Je n'étais pas root, mais je l'ai exporté dans mon répertoire personnel et l'ai déplacé manuellement + chgrp root. des droits de lecture ont été fixés pour tous
apparat

Réponses:

9

Regarder dans le readme aide en effet parfois :)

Ce comportement est intentionnel de donner à différents utilisateurs la possibilité d'avoir leurs propres paramètres.

En bref, le fichier de configuration nvidia-settings est stocké dans ~/.nvidia-settings-rcet peut être exécuté en appelant nvidia-settings --load-config-onlyau démarrage.

Pour plus de détails, voici la partie pertinente du fichier Lisez-moi:

4) Chargement automatique des paramètres

Le pilote NVIDIA X ne conserve pas les valeurs définies avec nvidia-settings entre les exécutions du serveur X (ou même entre la connexion et la déconnexion de X, avec xdm, gdm ou kdm). Ceci est intentionnel, car différents utilisateurs peuvent avoir des préférences différentes, donc ces paramètres sont stockés par utilisateur dans un fichier de configuration stocké dans le répertoire personnel de l'utilisateur.

Le fichier de configuration est nommé "~ / .nvidia-settings-rc". Vous pouvez spécifier un nom de fichier de configuration différent avec l'option de ligne de commande "--config".

Après avoir exécuté nvidia-settings une fois et généré un fichier de configuration, vous pouvez alors exécuter:

nvidia-settings --load-config-only

à tout moment à l'avenir pour télécharger à nouveau ces paramètres sur le serveur X. Par exemple, vous pouvez placer la commande ci-dessus dans votre fichier ~ / .xinitrc afin que vos paramètres soient appliqués automatiquement lorsque vous vous connectez à X.

Votre fichier .xinitrc, qui contrôle quelles applications X doivent être démarrées lorsque vous vous connectez à X (ou startx), pourrait ressembler à ceci:

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

ou:

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

Si vous ne disposez pas déjà d'un fichier ~ / .xinitrc, il est probable que xinit utilise un fichier xinitrc à l'échelle du système. Ce fichier système est généralement ici:

/ etc / X11 / xinit / xinitrc

Pour l'utiliser, mais aussi pour que nvidia-settings télécharge vos paramètres, vous pouvez créer un ~ / .xinitrc avec le contenu:

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

Les administrateurs système peuvent choisir de placer la commande nvidia-settings load directement dans le script système xinitrc.

Veuillez consulter la page de manuel xinit (1) pour plus de détails sur la configuration de votre fichier ~ / .xinitrc.

apparat
la source
4

En complément de la réponse précédente, nvidia-settings enregistre uniquement les attributs liés à un écran X dans le fichier de configuration. Il existe des paramètres supplémentaires qui peuvent s'appliquer à d'autres composants; ceux-ci ne sont pas enregistrés.

Si vous regardez, tous les attributs du fichier de configuration sont préfixés {host}:0.0. D'autres attributs qui peuvent être définis sont liés au GPU, etc.

Par exemple, j'ai utilisé un téléviseur HD connecté à une carte NVidia et j'ai besoin de réinitialiser la compensation de surbalayage (pour réduire la taille d'écran affichée pour l'adapter à l'écran physique). Cela peut être ajusté à partir de l'interface graphique, mais n'est pas stocké dans le fichier de configuration. Depuis la ligne de commande, la commande est:

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

Notez que le nom d'attribut inclut une spécification GPU.

Heureusement, se SyncToVBlanktrouve dans le fichier de configuration, donc il suffit de le charger pour le définir. Si vous exécutez la commande, nvidia-settings --query allelle répertoriera tous les attributs et les cibles auxquels s'appliquent.

StarNamer
la source
0

J'ai utilisé l'éditeur dconf pour définir la valeur de Sync sur VBlank

chrisonmanjaro
la source
2
Cette réponse serait beaucoup plus utile si vous expliquiez comment vous utilisiez l'éditeur dconf.
Anthony Geoghegan