有很多关于这些主题的单独信息,但我无法找到我认为非常常见的情况的答案。
我在带有 CentOS 7 和 Gnome 桌面的服务器中有 2 个 Nvidia GTX 1080。GPU 将专门用于 CUDA 计算,而不是视频输出。
请参阅内核加载屏幕的屏幕截图。
我的 xorg.conf 看起来像这样:
[root@0cc47a8a1a10 ~]# cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 367.44 (buildmeister@swio-display-x86-rhel47-01) Wed Aug 17 22:54:35 PDT 2016
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
FontPath "/usr/share/fonts/default/Type1"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
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"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
[root@0cc47a8a1a10 ~]#
这是 /var/log/Xorg.5.log 的最后一部分:
[ 37.157] (==) ModulePath set to "/usr/lib64/xorg/modules"
[ 37.157] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 37.157] (WW) Disabling Keyboard0
[ 37.157] (WW) Disabling Mouse0
[ 37.157] (II) Loader magic: 0x7fd419fc1020
[ 37.157] (II) Module ABI versions:
[ 37.157] X.Org ANSI C Emulation: 0.4
[ 37.157] X.Org Video Driver: 19.0
[ 37.157] X.Org XInput driver : 21.0
[ 37.157] X.Org Server Extension : 9.0
[ 37.157] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 37.157] (II) xfree86: Adding drm device (/dev/dri/card2)
[ 37.157] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 37.157] (II) xfree86: Adding drm device (/dev/dri/card3)
[ 37.157] (II) xfree86: Adding drm device (/dev/dri/card4)
[ 37.165] (--) PCI: (0:2:0:0) 10de:1b80:10de:119e rev 161, Mem @ 0xcf000000/16777216, 0x383fe0000000/268435456, 0x383ff0000000/33554432, I/O @ 0x00006000/128, BIOS @ 0x????????/524288
[ 37.165] (--) PCI: (0:3:0:0) 10de:1b80:10de:119e rev 161, Mem @ 0xcd000000/16777216, 0x383fc0000000/268435456, 0x383fd0000000/33554432, I/O @ 0x00005000/128, BIOS @ 0x????????/524288
[ 37.165] (--) PCI:*(0:6:0:0) 1a03:2000:15d9:0852 rev 48, Mem @ 0xcb000000/16777216, 0xcc000000/131072, I/O @ 0x00004000/128, BIOS @ 0x????????/131072
[ 37.165] (--) PCI: (0:131:0:0) 10de:1b80:10de:119e rev 161, Mem @ 0xfa000000/16777216, 0x387fe0000000/268435456, 0x387ff0000000/33554432, I/O @ 0x0000d000/128, BIOS @ 0x????????/524288
[ 37.165] (--) PCI: (0:132:0:0) 10de:1b80:10de:119e rev 161, Mem @ 0xf8000000/16777216, 0x387fc0000000/268435456, 0x387fd0000000/33554432, I/O @ 0x0000c000/128, BIOS @ 0x????????/524288
[ 37.165] (II) LoadModule: "glx"
[ 37.165] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[ 37.171] (II) Module glx: vendor="NVIDIA Corporation"
[ 37.171] compiled for 4.0.2, module version = 1.0.0
[ 37.171] Module class: X.Org Server Extension
[ 37.171] (II) NVIDIA GLX Module 367.44 Wed Aug 17 21:50:26 PDT 2016
[ 37.171] (II) LoadModule: "nvidia"
[ 37.171] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[ 37.171] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 37.171] compiled for 4.0.2, module version = 1.0.0
[ 37.171] Module class: X.Org Video Driver
[ 37.171] (II) NVIDIA dlloader X Driver 367.44 Wed Aug 17 21:28:13 PDT 2016
[ 37.171] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 37.171] (++) using VT number 1
[ 37.171] (EE) No devices detected.
[ 37.171] (EE)
Fatal server error:
[ 37.171] (EE) no screens found(EE)
[ 37.171] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 37.171] (EE) Please also check the log file at "/var/log/Xorg.5.log" for additional information.
[ 37.171] (EE)
事实证明,Nvidia 驱动程序安装程序破坏了一些涉及 libglx.so 的文件。我不知道究竟是什么文件,并且将原始的 libglx.so 复制到一个 Nvidia 棒上也没有带回东西。
使用“ --no-opengl-files ”安装标志,并在安装期间提示覆盖 xconfig 时选择“否”解决了这个问题。
更详细地说,这些步骤是: