[Armadillo:02528] Re: armadillo240:DirectFB実行時エラーについて

Shin-ya Koga email@hidden
2007年 12月 18日 (火) 23:28:21 JST


サムシングプレシャスの古賀です。

astnishiさん([Armadillo:02526]):
>Armadillo-240でDirectFBを試みています。
>HPのHowTo手順にてDirectFB,DirectFB-Exsampleのコンパイル
>はできdfb_cpuload実行したところ
>画面表示にはcpuloadらしい表示はでるのですが
>以下の様にいくつかのエラー(★部)が表示されます。
>また、同内容はサンプルプログラムdfb_testなどほとんどの
>実行時に同じように発生します。
>調査のHintを御教授いただけないでしょうか

いくつか指摘されていますが、どれも無視してよいもの
ではないかと思います。

>dfb_cpuload実行時のコンソール出力
>(*) DirectFB/Core: Single Application Core. (2007-12-14 04:05)
>(*) Direct/Thread: Running 'VT Switcher' (CRITICAL, 1294)...
>(*) Direct/Thread: Running 'Keyboard Input' (INPUT, 1295)...
>(*) DirectFB/Input: Keyboard 0.9 (directfb.org)
>(*) Direct/Thread: Running 'Linux Input' (INPUT, 1296)...
>(*) DirectFB/Input: Tact-SW Port1 0.1 (directfb.org)
>>(!) Direct/Modules: Could not open module directory `/usr/local/lib/directfb-1.0-0/gfxdrivers'!
>    --> No such file or directory

これは、グラフィックチップのハードウェアアクセラレー
ション用のモジュールを配置するディレクトリが存在して
いないというメッセージですね。
 http://www.directfb.org/docs/DirectFB_overview_V0.2.pdf
の "1.2.4 Graphic Drivers" に、ハードウェアアクセラ
レーションに対応したグラフィックチップセットの一覧が
ありますが、Armadillo-240 の場合、該当しませんので、
DirectFB のインストール時には、上記の gfxdrivers/
ディレクトリが作成されないのでしょう。

エラーメッセージが出ないようにするには、
 /usr/local/lib/directfb-1.0-0/gfxdrivers/
というディレクトリを作ってイメージに入れればよいのでは
ないかと思います。

>(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
>(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
>>(!) DirectFB/FBDev: Panning display failed (x=0 y=0 ywrap=0 vbl=0)!
>    --> Invalid argument

これは、カーネル側のディスプレイドライバが、FBIOPAN_DISPLAY
の ioctl() に対応していないためでしょう。実害は、無いん
じゃないかと思います。

>(!) [ 1288:    0.000] --> Caught signal 2 (sent by the kernel) <--

これは、よく分かりませんが、キーボードかタクトスイッチから、
何かイベントを拾ってしまっているのでしょうね。
 *) DirectFB/Core: Single Application Core. (2007-12-14 04:05)
のように出る場合、つまり、FUSION_BUILD_MULTI が 0 の場合は、入力
デバイスからのイベントを受取った際、自身に対して SIGINT を
発行する実装になっているようです。

# 関連ソースは、DirectFB の src/core/input.c と
# lib/fusion/build.h のようです。

>  (!!!)  *** WARNING [still objects in 'Layer Region Pool'] *** [object.c:231 in fusion_object_pool_destroy()]
>  (!!!)  *** WARNING [still objects in 'Layer Context Pool'] *** [object.c:231 in fusion_object_pool_destroy()]
>  (!!!)  *** WARNING [setting window->stack = NULL] *** [default.c:2805 in wm_close_stack()]
>  (!!!)  *** WARNING [still objects in 'Window Pool'] *** [object.c:231 in fusion_object_pool_destroy()]
>  (!!!)  *** WARNING [still objects in 'Surface Pool'] *** [object.c:231 in fusion_object_pool_destroy()]

これらは、全て警告ですので、とりあえずは無視しても実害は無い
んじゃないかと思います。関連ソースは、DirectFB の
 src/lib/fusion/object.c
 src/wm/default/default.c
のようです。もしかすると、dfb_cpuload の実装が一部不適切なの
かも知れません。

明確なコメントでなく恐縮ですが、もし参考になれば、幸いです。

--
古賀信哉 (株)サムシングプレシャス




armadillo メーリングリストの案内