特集
» 2004年12月18日 10時00分 公開

UNIX USER1月号「デスクトップで動かす・学ぶQt/Embedded」より転載:Qt/Embeddedのインストール――第1回 フレームバッファでQtアプリ(その3) (3/5)

[杉田研治,UNIX USER]

フレームバッファの利用

 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の停止

 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アプリケーションをキーボードから終了*、コンソールに戻ることができます。

このページで出てきた専門用語
X11とコンソールを次のキー操作で切り替えられます
X11とコンソールの切り替えキーは、起動しているgettyプロセスの数によって異なる。gettyは、1プロセスにつき1つの端末が割り当てられる端末制御プロセス。たとえば6つgettyが起動している場合、Ctrl+Alt+F1キーとCtrl+Alt+F7キーで切り替えられる。

Ctrl+Alt+BackspaceでQt/Embeddedアプリケーションをキーボードから終了
キーボード入力を受け付けなくなるような間違いをした場合には、これで戻ることはできない。

Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.

注目のテーマ