重启后对 nvidia-xconfig 的编辑不起作用?

重启后对 nvidia-xconfig 的编辑不起作用?

我正在构建一组 bash 脚本,以使用 NVidia 384.98 驱动程序实现 Ubuntu 16.04 系统中安装的 GPU 的超频。

对于我的第一个脚本,我尝试设置cool-bits(链接页面底部)选项nvidia-xconfig。我的脚本如下

#!/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 ==========="

我基本上只运行命令

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

我最初的etc/X11/xorg.conf样子

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

(不过请注意,我已运行该脚本几次试图让它工作,但这可能不是它原来的样子。这反映了重新启动后的脚本)

运行脚本的输出

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

运行脚本后我/etc/X11/xorg.conf看起来像这样

# 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

我已经验证,重新启动计算机后,/etc/X11/xorg.conf问题中列出的第一个文件内容仍然有效;更改的文件/文件内容不成立。

为什么我对/etc/X11/xorg.conf文件的更改没有保留?


为了完成目的,在重新启动之前,我运行了两次上述脚本,并且可能提供更多信息,脚本的输出如下所示

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

答案1

我在修复 nVidia 的屏幕撕裂时遇到了类似的问题。即使我删除了 /etc/X11/xorg.conf,它也会重新启动时重新创建。解决方案是将您的自定义更改放入:

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

关于 nVidia 修改的详细说明可以在这里找到这里

相关内容