前記事で、RaspberryPi2(ModelB)にRasbianをセットアップして、普通にRasbianデスクトップ(LXDE)をVNCで表示するところまでやりましたが、モニタ接続しないで描画デモを見るには?と調べてたら dispmanx_vnc に行き着きましたので、書いておきます。
何分RaspberryPiデビューが遅かったもんで、今こんなことをやっています。
目的は
・モニタレスで DEMO PROGRAMS にあるような描画デモを一通り動かしてみたい。
・遠隔地からVNC経由でRaspberriPiのディスプレイ出力を得たい。
最終的にはこんなイメージになります。
(スナップショットを載せないポリシーなのだけど、こればっかりは無いと辛いんで)
ということをできるようにするまでの流れ
dispmanx_vncをビルドするのに必要なライブラリのインストール
$ sudo apt-get install libvncserver-dev
dispmanx_vncをクローンしてビルド
$ git clone https://github.com/hanzelpeter/dispmanx_vnc.git
$ cd dispmanx_vnc
$ sh ./makeit
起動
$ sudo ./dispman_vncserver -r
すると、5900ポートでVNCサーバーが1つ立ちます。
後はどこからでもVNCでRaspberryPiのコンソール画面が転送されてきます。
本題はここまで
自分はRaspberryPi(Raspbian)自体のデスクトップに表示してみたかったので、RasberianにVncViewerインストールして、VNC内でVNCしてみました。
VncViewerインストール(vnc4viewerでもいいと思う)
$ sudo apt-get install tightvncviewer
自分の5900ポートをvncする。RaspberriPiのコンソールディスプレイそのものが現れる。
$ xtightvncviewer localhost:5900
デモをビルド
$ cd /opt/vc/src/hello_pi
$ ./rebuild.sh
どこかの端末からデモを1つ実行してみる。
$ cd hello_triangle
$ ./hello_triangle.bin
するとイメージのような状態になりました。15fps程度でキューブがくるくる回ります。
dispmanxって何だ?って調べてたら Raspberry Pi VideoCore APIs に概要説明がありました。
自分の理解としては、raspbianにプリインストールされている/opt/vc 自体がそれってこと。
dispmanxもvcの一部で、OpenGLESデモもビデオデバイス制御にvcライブラリを使っている。
dispmanx経由でディスプレイに描画されたイメージを直接キャプチャしてVNCストリームするツールがdispmanx_vncってことだね。
RaspberryPi用のXBMCやQtもこのVCライブラリを使っているらしいので、それらもVNC転送可能だということですね。
0 件のコメント:
コメントを投稿