1. ホーム
  2. opengl

[解決済み] OpenGL GLXエクステンションはサポートされていません

2022-02-14 14:02:32

質問

Ubuntu 10.04にOpenGLとfreeglutをインストールしたところ、10.04と10.10で問題なく動作しました。しかし、11.04にアップグレードした後、OpenGLを使って開発したアプリケーションが正常に動作しなくなりました。エラーなくコンパイルできているのですが、実行しようとするとエラーが出ます。

GLUTの場合。

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

OpenGLだけの場合。

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

試してみたことをいくつか。

$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".

編集 オンボードグラフィックスしか持っていないので、グラフィックドライバを持っていないことが原因とは考えにくいです。

これは、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

2を編集します。 そして、そのためのドライバをインストールしているようです。

<ブロッククオート
$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)

configure: driver=" を見てください。

解決方法は?

これらのメッセージは、グラフィックドライバが正しくインストールされていないことを示すものです。GLXは、X11ウィンドウでOpenGLを動作させるための、X11プロトコルの拡張です。GLXが有効なシステムには、3つの部分があります。

  • GPU と通信するカーネルモジュール (Linux-Kernel DRM、ATI/AMD の fglrx、NVidia の nvidia のいずれか)。
  • XサーバーのGLX拡張モジュールで、カーネルモジュールと通信し、OpenGL操作をGPU仕様のコマンドに変換します。
  • クライアント側のlibGL.soは、GLXプロトコルも実装しています。MesaのDRI2ベースのlibGLと、ATI/AMDまたはNVidiaのプロプライエタリなlibGL.soがあります。

OpenGLが正しく動作するためには、これら3つのコンポーネントが正しくインストールされ、ロードされて、調和して動作する必要があります。もしそうでなければ、OpenGLを使うことはできません(あるいは、ソフトウェアラスターライザーを使うしかありませんが、これもあなたのシステムには適切にインストールされていません)。