OpenGLのglxgears

Pocket

やっとパッチを当てて動くようになりました。バグがあったのと、gccの最適化をかけるとコンパイルできなくて、試行錯誤しました。結局最適化無しでしかコンパイルできなかったです。それと、LD_LIBRARY_PATHで、用意したライブラリを設定してゲストOSでプログラムを動かす必要があるのですが、メールで説明されていた方法が間違っていました。ライブラリを直接指定するのではなく、パスを指定するのがLD_LIBRARY_PATHでした。
glxgearsというプログラムを動かしてみると、別のウィンドウが出て、そこに表示されます。アクセラレート無しで24FPSくらいなのが、170FPSくらいになりました。ホストで実行した場合は、670FPSくらいですので、実機の4分の1くらいまで加速されます。
修正したパッチはメーリングリストに送っておきました。
作り方は、まず、パッチを当てます。そして、makeすると、i386-softmmuにlibGL.soというファイルができます。
QEMUは、-enable-glオプションを付けて起動します。
ゲストOSが立ち上がったら、libGL.soを、ゲストOSにftpなどでコピーします。そして、libGL.so.1にリンクを張ります。これは、glxgearsが、libGL.so.1を必要とするからです。
guest>$ ln -s libGL.so libGL.so.1
LD_LIBRARY_PATHに、カレントディレクトリなら'.'、もしくはlibGL.so.1のあるディレクトリを指定します。
guest>$ LD_LIBRARY_PATH=. glxgears
すると、別のウィンドウが開くはずです。
こんなの作れてしまう人ってすごいなと思います。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください