Raspberry Pi2 では、Desktop GL driver を有効化することで、X11 上で OpenGL アプリケーションのハードウェアアクセラレートが可能となります。
「Raspberry Pi2 の X11 で OpenGL のハードウェアアクセラレート – その1-」では、Desktop GL driver の有効化方法を紹介しました。
今回は、ソフトウェアレンダラーとの比較と Desktop GL driver の問題点を紹介します。
ソフトウェアレンダラーとの比較:
Raspberry Pi 2 では OpenGL アプリケーションをハードウェアアクセラレートすることができますが、デフォルト状態または Desktop GL driver を無効化した場合には、ソフトウェアレンダラーで描画されます。
Desktop GL driver が使えない Raspberry Pi1 や Pi Zero も同様にソフトウェアレンダラーが使われます。
この状態で glxgears を実行した画面がこれです。
Raspberry Pi2 では約 23 FPSでした。Desktop GL driver を有効化した場合に約 60 FPS でしたのでソフトウェア処理だと随分遅いことがわかります。(Pi1 や Pi Zero の場合はもっと性能が低いことでしょう。)
ただ、glxgears の場合は描画結果も正しくはなく、ギアが点滅表示される等の不具合がでています。ソフトウェアレンダラーなら遅いながらも正しく描画されても良さそうなものですが…。
Desktop GL driver の不具合:
いろいろ動作が不安定ですが、大きな不具合も見つかっています。
Desktop GL driver を有効にすると、コンソールでの OpenGL ES/OpenVG アプリケーションが動作しません。ハングアップします。VideoCore 関係のアプリケーションは Desktop GL driver と競合してしまうようです。
Minecraft も動作しません。Minecraft は X11 上で動作するアプリケーションですが、実際にはコンソールの OpenGL ES 描画結果を X11 上にレイヤ合成しているので、OpenGL ES/OpenVG アプリケーションが動作しないのと同じ理由でしょう。
また、スクリーンショットを撮ろうと raspi2png を使ってみましたが、こちらもハングアップします。やはりこちらも VideoCore 関係です。
参考資料:
参考までにソフトウェアレンダラーでの glxinfo の結果を示します。
ソフトウェアレンダラーの方は、OpenGL 3.0 になっています。
コメントを投稿するにはログインしてください。