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 ===========
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 .