关于这些主题有很多单独的信息,但我无法找到我认为非常常见的情况的答案。
我在一台装有 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)
答案1
事实证明,Nvidia 驱动程序安装程序破坏了一些涉及 libglx.so 的文件。我不知道具体是哪些文件,将原始 libglx.so 复制到 Nvidia 保留的那个文件上也没有恢复。
使用 ”--no-opengl 文件“安装标志,和当安装过程中提示覆盖 xconfig 时选择“否”可以解决此问题。
更详细地说,步骤如下:
- 安装带有 Gnome 桌面的 CentOS 7
- 启动后:
- yum-y 更新
- yum -y 安装内核开发 epel 发布版本
- yum -y 安装 dkms gcc gcc-g++
- 重新启动(以获取新内核)
- 启动后:
- sh latest_nvidia_driver.run --no-opengl-files
- 当提示 xconfig 覆盖时选择“否”
- systemctl set-default graphic.target(如果您的默认运行级别还不是图形)
- 重启