OpenGL GLX extension not supported
Asked Answered
G

2

13

I had installed OpenGL and freeglut in Ubuntu 10.04 and it worked fine in 10.04 and 10.10. But after I upgraded to 11.04, the applications I've developed using OpenGL is not running properly. They're compiling without errors, but when I try to execute them, I get there errors:

For GLUT:

Xlib:  extension "GLX" missing on display ":0.0".
freeglut (./a.out): OpenGL GLX extension not supported by display ':0.0'

For just OpenGL:

Xlib:  extension "GLX" missing on display ":0.0".
main: X server has no OpenGL GLX extension

A few things I tried:

$glxgears
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual


$glxinfo
name of display: :0.0
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't find RGB GLX visual or fbconfig

Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".

Edit: It is unlikely that this is because I don't have the graphics drivers as all I have is on board graphics.

This is my system graphics information from sysinfo

$sysinfo
GRAPHIC CARD
      VGA controller
    Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) (prog-if 00 [VGA controller])
    Subsystem: Toshiba America Info Systems Device ff50

Edit 2: And it seems I have a driver installed for that.

$lshw -C display
  *-display:0             
       description: VGA compatible controller
       product: Mobile 4 Series Chipset Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:44 memory:f4000000-f43fffff memory:d0000000-dfffffff ioport:1800(size=8)

Look at "configuration: driver="

Gorget answered 17/12, 2011 at 14:9 Comment(0)
S
11

Those messages simply tell you, that your graphics drivers are not installed properly. GLX is the extension of the X11 protocol for making OpenGL work in X11 windows. There are 3 parts to a GLX enabled system:

  • A kernel module, doing the talking to the GPU (this is either the Linux-Kernel DRM, or fglrx of ATI/AMD or nvidia from NVidia).
  • A X server GLX extension module, talking to the kernel module, converting OpenGL operations into the GPU specifric commands.
  • The client side libGL.so which also implements the GLX protocol. There's the DRI2 based libGL of Mesa, and the proprietary libGL.so of either ATI/AMD or NVidia.

For OpenGL to work properly those three components must be properly installed and loaded to work in harmony. If that's not the case you won't be able to use OpenGL (or only use a software rasterizer, which is not properly installed either on your system).

Schoolfellow answered 17/12, 2011 at 14:49 Comment(7)
I just have on board graphics. No graphics card.Gorget
@SparrowG: That makes no difference. You need a driver for that as well.Schoolfellow
after some research, it seems a graphics driver is installed already. I'm updating the question with that as well.Gorget
@SparrowG: lshw only tells you, which driver to install, not if it is installed. In your case apt-get install xserver-xorg-video-intel libgl1-mesa-dri libgl1-mesa-glx and restarting X should do the trick.Schoolfellow
didn't work for me :( Anyway thanks for identifying the problemGorget
How to probe which of the 3 is the bad one?Quartern
@Ekevoo: We can rule out the last one libgl1-mesa-glx as it is this, that's detecting a problem in the first place (it's implementing the GLX client side, which informs you, that it's missing GLX capabilities on the server). Have a look at the /var/log/Xorg.<n>.log files. The X server is telling you there what's missing. Ignore the warnings (WW), as there will always be some of them, look for errors (EE).Schoolfellow
G
6

You could need Bumblebee. But this is supported only for 12.04 and from 13.10 up. Oficial instructions here: https://wiki.ubuntu.com/Bumblebee

You need to open your terminal and enter the commands below.

If on 12.04.3, replace linux-headers-generic with linux-headers-generic-lts-raring.

sudo add-apt-repository ppa:bumblebee/stable

Enable the Universe and Multiverse repositories (for bumblebee and nvidia packages respectively).

sudo apt-get update

Install Bumblebee using the default proprietary nvidia driver:

sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic

Reboot

All should be ok now.

Genevagenevan answered 23/10, 2013 at 14:25 Comment(2)
Worked for me on an Acer C710 running Chrubuntu running 12.04.3 LTS.Noles
I had problems running cura (it was hanging on rendering) on xubuntu 15.10 and by some unbelievable miracle, this fixed it. Really. Miracle. Nothing like this ever gets fixed.Tambac

© 2022 - 2024 — McMap. All rights reserved.