Raspberry Pi2 の X11 で OpenGL のハードウェアアクセラレート – その1-


glxgears
glxgears

これまで Raspbian の X11 では OpenGL は使用できませんでした(X サーバは GLX に対応していました)が、Jessie の最新ではハードウェア対応の OpenGL 2.1 が動くようになりました。

Raspberry Pi2 の GPU はモバイル用なので、OpenGL ES 1.1, OpenGL ES 2.0 対応の GPU です。しかし、OpenGL 2.1 はデスクトップ向けのものであり、ネイティブでは対応していません。そのため OpenGL 2.1 は内部的に OpenGL ES 2.0 に変換して対応しているものと考えられます。

ただし、対応しているのは Raspberry Pi2 のみです。Pi1 や Pi Zero では対応していません。また、デフォルトではハードウェアアクセラレート機能は無効化されています。まだ、実験的なドライバのため、安定動作しないのでデフォルトでは無効になっています。早く安定動作するようになって欲しいですね。

https://www.raspberrypi.org/blog/another-new-raspbian-release/

ANOTHER NEW RASPBIAN RELEASE

 

Jessie アップデート方法

Raspbian が Jessie でない場合は、まず Jessie にアップデートしてください。Jessie かどうか確認する方法は「Raspberry Pi の Debian ディストリビューションのバージョン」をご覧ください。

次に Jessie を最新バージョンにアップデートします。

 

ハードウェアアクセラレートの有効化

ハードウェアアクセラレートされた Desktop GL driver の有効化方法をしめします。

シェルから raspi-config を起動します。

 

「Advanced Options」を選択します。

snapshot002

「GL Driver」を選択します。

snapshot002

有効にする場合は「Enable」を選択します。(デフォルト状態、無効にする場合は「Disable」を選択します。)

snapshot003

Desktop GL driver の状態が表示されます。(この例では有効化)

snapshot004

raspi-config を終了します。終了時にリブートすることを要求されますので、「はい」を選んでリブートします。

snapshot005

なお、Desktop GL driver を有効にした SD カードは、Raspberry Pi1 や Pi Zero では起動しないので注意が必要です。

glxgears

glxgears
glxgears

テストとして glxgears を動かしてみましょう。

 

glxgears のインストール:

glxgears は mesa-utils に含まれますので、mesa-utils をインストールします。

 

glxgears の実行方法:

X11 でターミナルを開き、シェルから glxgears コマンドで実行することができます。

 

ハードウェアアクセラレートを有効にすると、glxgears が約60FPSで動きます。

ハードウェアアクセラレートを無効にした場合、つまりソフトウェア処理の場合、描画性能が落ちる上に描画結果が正しくありません。

 

注意:

  • いろいろと動作が不安定です。まだまだ実用的には使えないかもしれません。今後に期待です。

 

参考情報:

参考までに glxinfo の出力結果を示します。