OSのフレームバッファを有効にする方法と動作確認手順がリスト5のドキュメントで説明されています。本連載ではVine Linux 3.0に沿って説明しますので、ご利用の環境に依存する部分は読み替えてください。
リスト5 OSのフレームバッファを有効にする方法と動作確認手順 |
「All Overviews and HOWTOs」(3列2段目のOverviewsの囲みの先頭) →「Enabling the Linux Framebuffer」(2列3段目の「Qt/Embedded」の囲み) |
/dev/fb0のオーナーで読み書きの両アクセスができるようになっているかを確認し、必要に応じてファイルモードとオーナーを設定します。
必要に応じてカーネルコンフィグレーションを設定し再構築します。Vine Linux 3.0の場合には、フレームバッファが使えるようになっているので、/etc/lilo.confにvga=0x31Aを追加して、リブートするだけでフレームバッファが使えます(実行例3)。
実行例3 /etc/lilo.confの設定 |
$ cat /etc/lilo.conf prompt #vga=0x31A vga=0x31B timeout=50 default=linux boot=/dev/hda map=/boot/map install=/boot/boot.b : : |
vgaに設定できる値は、次のドキュメントで説明されています。
http://www.linux.or.jp/JF/JFdocs/Framebuffer-HOWTO.html
リブート時に左上にCPUの数に応じたペンギンのアイコンが表示されれば、OSのフレームバッファが有効になっています。
X11とコンソールを次のキー操作で切り替えられます*。X11を止めずにコンソールとの切り替えができるので便利です。
Ctrl+Alt+F1:X11からコンソールへの切り替え Ctrl+Alt+F7:コンソールからX11への切り替え |
この切り替えができない場合、「telinit 3」でコンソールにし、「telinit 5」でX11に戻せば良いでしょう。
前述の「Enabling the Linux Framebuffer」に記載された動作確認プログラムをコンパイルしておきます。コンソールで実行すると左上にグラデーションされた正方形が表示されます。これで、ユーザーがフレームバッファを使えることを確認できます。
gpmがコンソールで動作しているとQt/Embeddedのマウスデバイスアクセスと競合するので、gpmを次のようにして停止します。
# chkconfig --level 2345 gpm off # /etc/rc.d/init.d/gpm stop |
使用するデバイスのパーミッションを確認し、必要に応じて設定を変更します。
# ls -lL /dev/mouse # chmod og+rw /dev/mouse # ls -l /dev/tty0 # chmod og+rw /dev/tty0 |
コンソール使用時に落ちると、キー入力が効かなくなる場合があります。コンソールを利用するのとは別に、ネットワーク経由で外部からログインし、リブートできるようにしておくと安全でしょう。
アプリケーションの起動確認は、仮想フレームバッファで確認したサンプルを次のように起動します。
$ cd $QTDIR/examples/hello $ ./hello -qws -display LinuxFb |
サンプルコードを全部コンパイルしてあれば、ランチャーでいろいろなサンプルを動かせます。
$ cd $QTDIR/examples/launcher $ ./launcher |
機器に組み込まれた場合には不要ですが、プログラムに間違いがあった場合、キー操作Ctrl+Alt+BackspaceキーでQt/Embeddedアプリケーションをキーボードから終了*、コンソールに戻ることができます。
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.