我已经尝试过了错误:找不到 RGB GLX visual 或 fbconfig ubuntu 12.04还有一些其他的,但是它们对我没有帮助。
TL;DR 我正在运行 Ubuntu 16.04,但已安装 lubuntu-desktop,以便显示器与已安装的 NVidia 驱动程序配合使用。OpenGL GLX 不起作用
较长的版本:
我使用的是戴尔 Inspiron 笔记本电脑,配有 NVidia GTX 960M 独立 GPU 和 Intel HD 集成 GPU,运行 Ubuntu 16.04.1。在尝试了几种不同的驱动程序后,这些驱动程序导致黑屏或登录循环,并且在尝试 cuda 示例时仍无所获,因此我安装了该370.28
驱动程序。
这导致屏幕再次变黑,我通过在我的 中添加 解决了nomodeset
这个GRUB_CMDLINE_LINUX_DEFAULT
问题/etc/default/grub
。
接下来我遇到了登录循环,使用默认的 Unity 或 GNOME 都无法解决这个问题,所以我安装了lubuntu-desktop
使用 LXDE 作为显示管理器的版本。我可以成功登录
问题:
我无法运行使用 OpenGL GLX 的东西。当运行需要 GLX 扩展的程序时,我得到freeglut (./application): OpenGL GLX extension not supported by display ':0'
的输出glxinfo
是
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig
其他可能有用的信息:
输出nvidia-smi
Mon Dec 26 17:38:51 2016
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 370.28 Driver Version: 370.28 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960M Off | 0000:01:00.0 Off | N/A |
| N/A 53C P0 N/A / N/A | 0MiB / 4043MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
输出lshw -c display
*-display
description: 3D controller
product: GM107M [GeForce GTX 960M]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a2
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:16 memory:e2000000-e2ffffff memory:d0000000-dfffffff memory:e0000000-e1ffffff ioport:e000(size=128) memory:e3000000-e307ffff
*-display UNCLAIMED
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 06
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list
configuration: latency=0
resources: memory:e4000000-e4ffffff memory:c0000000-cfffffff ioport:f000(size=64)
/etc/X11/xorg.conf
:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 370.28 (buildmeister@swio-display-x64-rhel04-17) Thu Sep 1 20:22:52 PDT 2016
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
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 "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
ldd /usr/bin/glxinfo
linux-vdso.so.1 => (0x00007ffc941e3000)
libGL.so.1 => /usr/lib/nvidia-370/libGL.so.1 (0x00007f7289a49000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f728970f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7289345000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7289141000)
libGLX.so.0 => /usr/lib/nvidia-370/libGLX.so.0 (0x00007f7288f11000)
libGLdispatch.so.0 => /usr/lib/nvidia-370/libGLdispatch.so.0 (0x00007f7288c27000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f7288a05000)
/lib64/ld-linux-x86-64.so.2 (0x000055d88596d000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f72887f3000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f72885ee000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f72883e8000)
/var/log/Xorg.0.log
:http://pastebin.com/fHMXk3gZ
libgl1-mesa-glx
并mesa-utils
安装。
答案1
看起来您弄乱了内核和 X11 驱动程序,因此您得到了一个不兼容的组合 - 您使用 xorg.conf 强制使用 nVidia 驱动程序,并且您的内核可能已经加载了 nouveau 驱动程序模块。
(1)尝试删除(或者只是重命名)xorg.conf 文件并让 x.org 自动配置。
(2) 尝试从系统中删除 nouveau 软件包。如果您使用的是 Ubuntu 支持的 nVidia 驱动程序包,请尝试重新安装它。如果您选择不受支持的路线并安装上游 nVidia 驱动程序,那么,请祈祷一切顺利。
您可能会发现需要删除所有 Compiz 配置才能使 Unity 运行,因为 Compiz 往往会在一次瞬态错误后永久禁用 OpenGL 支持。