web-dev-qa-db-fra.com

L'extension OpenGL GLX n'est pas prise en charge

J'avais installé OpenGL et freeglut dans Ubuntu 10.04 et cela fonctionnait bien en 10.04 et 10.10. Mais après la mise à niveau vers 11.04, les applications que j'ai développées à l'aide d'OpenGL ne fonctionnent pas correctement. Ils se compilent sans erreurs, mais lorsque j'essaye de les exécuter, j'obtiens des erreurs:

Pour GLUT:

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

Pour OpenGL uniquement:

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

Quelques choses que j'ai essayées:

$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: Il est peu probable que ce soit parce que je n'ai pas les pilotes graphiques car tout ce que j'ai est à bord des graphiques.

Voici mes informations graphiques système de 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: Et il semble que j'ai un pilote installé pour cela.

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

Regardez "configuration: driver ="

12
SparrowG

Ces messages vous indiquent simplement que vos pilotes graphiques ne sont pas installés correctement. GLX est l'extension du protocole X11 pour faire fonctionner OpenGL dans les fenêtres X11. Un système compatible GLX comprend 3 parties:

  • Un module de noyau, parlant au GPU (c'est soit le Linux-Kernel DRM, soit fglrx d'ATI/AMD ou nvidia de NVidia).
  • Un module d'extension GLX de serveur X, parlant au module du noyau, convertissant les opérations OpenGL en commandes spécifiques GPU.
  • Le côté client libGL.so qui implémente également le protocole GLX. Il y a la libGL basée sur DRI2 de Mesa et la libGL.so propriétaire d'ATI/AMD ou de NVidia.

Pour qu'OpenGL fonctionne correctement, ces trois composants doivent être correctement installés et chargés pour fonctionner en harmonie. Si ce n'est pas le cas, vous ne pourrez pas utiliser OpenGL (ou utiliser uniquement un rasterizer logiciel, qui n'est pas correctement installé non plus sur votre système).

9
datenwolf

Vous pourriez avoir besoin de Bumblebee. Mais cela n'est pris en charge que pour 12.04 et à partir de 13.10. Instructions officielles ici: https://wiki.ubuntu.com/Bumblebee

Vous devez ouvrir votre terminal et saisir les commandes ci-dessous.

Si le 12.04.3, remplacez linux-headers-generic par linux-headers-generic-lts-raring .

Sudo add-apt-repository ppa:bumblebee/stable

Activez les référentiels Universe et Multiverse (pour les packages bumblebee et nvidia respectivement).

Sudo apt-get update

Installez Bumblebee en utilisant le pilote nvidia propriétaire par défaut:

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

Redémarrer

Tout devrait bien se passer maintenant.

6
Qsiris