13

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)

「構成:ドライバー=」を見てください

4

2 に答える 2

9

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

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

OpenGL が適切に機能するには、これら 3 つのコンポーネントが適切にインストールされてロードされ、調和して機能する必要があります。そうでない場合は、OpenGL を使用できません (または、システムに適切にインストールされていないソフトウェア ラスタライザーのみを使用します)。

于 2011-12-17T14:49:48.883 に答える
6

バンブルビーが必要かもしれません。ただし、これは 12.04 および 13.10 以降でのみサポートされています。公式の手順はこちら: https://wiki.ubuntu.com/Bumblebee

ターミナルを開いて、以下のコマンドを入力する必要があります。

12.04.3 の場合、linux-headers-genericlinux-headers-generic-lts-raringに置き換えます。

sudo add-apt-repository ppa:bumblebee/stable

Universe および Multiverse リポジトリーを有効にします (それぞれ bumblebee および nvidia パッケージ用)。

sudo apt-get update

デフォルトの独自の nvidia ドライバーを使用して Bumblebee をインストールします。

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

リブート

今はすべて問題ないはずです。

于 2013-10-23T14:25:19.327 に答える