web-dev-qa-db-fra.com

Les modifications apportées à nvidia-xconfig ne prennent pas effet après le redémarrage?

Je construis un ensemble de scripts bash pour activer l'overclocking des GPU installés sur mon système Ubuntu 16.04 à l'aide du pilote NVidia 384.98.

Pour mon premier script, j'essaie de définir l'option cool-bits (bas de la page liée) via nvidia-xconfig. Mon script est ci-dessous

#!/bin/bash

# Secure required privledges
[ "$UID" -eq 0 ] || exec Sudo bash "$0" "$@"

#== Enable overclocking in NVidia X settings (Replace/Add cool-bits for all GPUs installed)
# - 1 (bit 0) - Enables overclocking of older (pre-Fermi) cores on the Clock Frequencies page in nvidia-settings.
# - 2 (bit 1) - Driver will "attempt to initialize SLI when using GPUs with different amounts of video memory".
# - 4 (bit 2) - Enables manual configuration of GPU fan speed on the Thermal Monitor page in nvidia-settings.
# - 8 (bit 3) - Enables overclocking on the PowerMizer page in nvidia-settings. 
# - 16(bit 4) - Enables overvoltage using nvidia-settings CLI options. 
echo "============ CoolBits12_AllCards.sh: Started ============"
echo ">> Setting nvidia-xconfig cool-bits=12..."
Sudo nvidia-xconfig -a --cool-bits=12 --allow-empty-initial-configuration
echo ">> ! Please restart for changes to take effect !"
echo "=========== CoolBits12_AllCards.sh: Completed ==========="

Je ne fais que lancer la commande

Sudo nvidia-xconfig -a --cool-bits=12 --allow-empty-initial-configuration

Mon etc/X11/xorg.conf initial ressemble à cela

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:5@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:6@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

(Même si cela n’est pas le cas, j’ai exécuté le script plusieurs fois pour essayer de le faire fonctionner, il se peut que ce ne soit pas ce qu’il était à l’origine. Cela reflète le script après un redémarrage)

La sortie de l'exécution du script

============ CoolBits12_AllCards.sh: Started ============
>> Setting nvidia-xconfig cool-bits=12...

Using X configuration file: "/etc/X11/xorg.conf".

WARNING: Unable to find CorePointer in X configuration; attempting to add new
         CorePointer section.


WARNING: The CorePointer device was not specified explicitly in the layout;
         using the first mouse device.


WARNING: Unable to find CoreKeyboard in X configuration; attempting to add new
         CoreKeyboard section.


WARNING: The CoreKeyboard device was not specified explicitly in the layout;
         using the first keyboard device.

Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen1".
Backed up file '/etc/X11/xorg.conf' as
'/etc/X11/xorg.conf.nvidia-xconfig-original'
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.backup'
New X configuration file written to '/etc/X11/xorg.conf'

>> ! Please restart for changes to take effect !
=========== CoolBits12_AllCards.sh: Completed ===========

Et après avoir exécuté le script, mon /etc/X11/xorg.conf ressemble à

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 384.98  (buildmeister@swio-display-x86-rhel47-02)  Thu Oct 26 15:56:05 PDT 2017

Section "ServerLayout"
    Identifier     "layout"
    Screen      0  "Screen0"
    Screen      1  "Screen1" RightOf "Screen0"
    Inactive       "intel"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "keyboard"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1060 3GB"
    BusID          "PCI:5:0:0"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1060 3GB"
    BusID          "PCI:6:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration" "True"
    Option         "Coolbits" "12"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration" "True"
    Option         "Coolbits" "12"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

J'ai vérifié qu'après le redémarrage de l'ordinateur, le premier contenu du fichier /etc/X11/xorg.conf indiqué en premier dans la question était en place; le fichier altéré/le contenu du fichier ne contenait pas.

Pourquoi mes modifications dans le fichier /etc/X11/xorg.conf ne sont-elles pas conservées?


À un moment donné, j'ai exécuté le script ci-dessus deux fois avant un redémarrage, par souci d'efficacité, et potentiellement plus d'informations. La sortie du script est affichée ci-dessous.

============ CoolBits12_AllCards.sh: Started ============
>> Setting nvidia-xconfig cool-bits=12...

Using X configuration file: "/etc/X11/xorg.conf".

VALIDATION ERROR: Data incomplete in file /etc/X11/xorg.conf.
                  Undefined Device "intel" referenced by Screen "layout".

Package xorg-server was not found in the pkg-config search path.
Perhaps you should add the directory containing `xorg-server.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xorg-server' found
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen0".
Option "AllowEmptyInitialConfiguration" "True" added to Screen "Screen1".
Backed up file '/etc/X11/xorg.conf' as
'/etc/X11/xorg.conf.nvidia-xconfig-original'
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.backup'
New X configuration file written to '/etc/X11/xorg.conf'

>> ! Please restart for changes to take effect !
=========== CoolBits12_AllCards.sh: Completed ===========
3
KDecker

J'ai eu un problème similaire lors de la réparation de l'écran déchirant pour nVidia. Même si je supprimais /etc/X11/xorg.conf, il serait recréé au redémarrage. La solution consiste à intégrer vos modifications personnalisées dans:

/etc/X11/xorg.conf.d/20-nvidia.conf

Une description détaillée des modifications de nVidia peut être trouvée ici .

1
WinEunuuchs2Unix