7

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.

Mihai Bujanca
  • 374
  • 3
  • 5
  • 15

1 Answers1

1

It looks like you've messed up the kernel and X11 drivers so you have a combination that is incompatible -- you're forcing the nVidia driver by using an xorg.conf and your kernel probably has the nouveau driver modules loaded.

(1) Try removing (or just renaming) the xorg.conf file and let x.org autoconfigure itself.

(2) Try removing the nouveau packages from the system. If you're using the Ubuntu-supported nVidia driver package, try reinstalling that too. If you're going the unsupported route and installing the upstream nVidia drivers, well, cross your fingers and hope for the best.

You may find you need to remove all your Compiz confiurations to get Unity to run after this, since Compiz tends to permanently disable OpenGL support after one single transient error.

Stephen M. Webb
  • 747
  • 5
  • 11