I've already tried Error: couldn't find RGB GLX visual or fbconfig ubuntu 12.04 and a few others, but they haven't helped me.
TL;DR I'm running Ubuntu 16.04 but have installed lubuntu-desktop in order for the display to work with NVidia Drivers installed. OpenGL GLX is not working
Longer version:
I'm on a Dell Inspiron laptop with a NVidia GTX 960M discrete GPU and an Intel HD integrated one, running Ubuntu 16.04.1. After trying a few different drivers that led to a blackscreen or a login loop and still not getting anything when trying cuda samples, I installed the 370.28
driver.
That lead to a black screen again which I solved by adding nomodeset
to GRUB_CMDLINE_LINUX_DEFAULT
in my /etc/default/grub
.
Next I got to a login loop which I couldn't solve by using the default Unity or using GNOME, so I installed lubuntu-desktop
which is using LXDE as a display manager. I can successfully login
The problem:
I can't run stuff that's using OpenGL GLX. When running a program that needs the GLX extension, I'm getting freeglut (./application): OpenGL GLX extension not supported by display ':0'
The output of glxinfo
is
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig
Other potentially useful info:
Output of 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 |
+-----------------------------------------------------------------------------+
Output of 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
and mesa-utils
are installed.