これまで 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 では対応していません。また、デフォルトではハードウェアアクセラレート機能は無効化されています。まだ、実験的なドライバのため、安定動作しないのでデフォルトでは無効になっています。早く安定動作するようになって欲しいですね。
目次
Jessie アップデート方法
Raspbian が Jessie でない場合は、まず Jessie にアップデートしてください。Jessie かどうか確認する方法は「Raspberry Pi の Debian ディストリビューションのバージョン」をご覧ください。
次に Jessie を最新バージョンにアップデートします。
$ sudo apt-get update $ sudo apt-get dist-upgrade $ sudo apt-get install raspi-gpio $ sudo apt-get install xcompmgr libgl1-mesa-dri
ハードウェアアクセラレートの有効化
ハードウェアアクセラレートされた Desktop GL driver の有効化方法をしめします。
シェルから raspi-config を起動します。
$ sudo raspi-config
「Advanced Options」を選択します。
「GL Driver」を選択します。
有効にする場合は「Enable」を選択します。(デフォルト状態、無効にする場合は「Disable」を選択します。)
Desktop GL driver の状態が表示されます。(この例では有効化)
raspi-config を終了します。終了時にリブートすることを要求されますので、「はい」を選んでリブートします。
なお、Desktop GL driver を有効にした SD カードは、Raspberry Pi1 や Pi Zero では起動しないので注意が必要です。
glxgears
テストとして glxgears を動かしてみましょう。
glxgears のインストール:
glxgears は mesa-utils に含まれますので、mesa-utils をインストールします。
$ sudo apt-get install mesa-utils
glxgears の実行方法:
X11 でターミナルを開き、シェルから glxgears コマンドで実行することができます。
$ glxgears
ハードウェアアクセラレートを有効にすると、glxgears が約60FPSで動きます。
ハードウェアアクセラレートを無効にした場合、つまりソフトウェア処理の場合、描画性能が落ちる上に描画結果が正しくありません。
注意:
- いろいろと動作が不安定です。まだまだ実用的には使えないかもしれません。今後に期待です。
参考情報:
参考までに glxinfo の出力結果を示します。
コメントを投稿するにはログインしてください。