OpenGL GLX extension not supported

SparrowG picture SparrowG · Dec 17, 2011 · Viewed 65.1k times · Source

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="

Answer

datenwolf picture datenwolf · Dec 17, 2011

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).