Armadilloフォーラム

DirectFBのサポート

hiroyuki.nishida

2015年9月15日 19時13分

お世話になっております。西田と申します。

EVA 1500にオプションのLCD拡張ボードを取り付けて、DirectFBの動作確認をしようとしていますが、うまく動作しません。
御社製品マニュアルには、直接サポートされているとの記述はありませんが、7.4.23 LCDの記述において、フレームバッファデバイスが存在すること、また、マニュアルの手順によって作成したrootfsには以下(1)のようにDirectFBがインストールされ
ている状態でしたので、DirectFB-exampleをATDEよりクロスビルドし、EVA1500でdf_andiを実行しましたが[(#) DirectFBError [dfb->CreateFont( dfb, FONT, &desc, &font )]: No (suitable) implementation found!]のエラー(2)となり、画面には何も表示され無い状態です。
フォントおよび画像データは適切な位置にあるものと思います。
.configure後、make時にgccに指定された位置に保存
-DDATADIR=\\"/usr/local/share/directfb-examples\\" -DFONT=\\"/usr/local/share/directfb-examples/fonts/decker.ttf\\"

また、fb.modes, directfbrcには以下を設定しています。
/etc/fb.modesの最後に
mode "800x480-60"
# D: 29.581 MHz, H: 29.819 kHz, V: 59.998 Hz
geometry 800 480 800 1440 32
timings 33806 96 16 13 1 80 3
accel true
rgba 8/16,8/8,8/0,8/24
endmode
を追加

/root/.directfbrcの設定内容
system=fbdev
mode=800x480
depth=16
pixelformat=ARGB
module-dir=/usr/lib/arm-linux-gnueabihf/directfb-1.2-9
disable-module=keyboard
disable-module=ps2mouse

そこで質問なのですが
1.御社にてEVA1500上でDirectFB動作実績はございますでしょうか?もしあれば簡単で構いませんので構築方法をいただけると幸いです。
2.1でないということなら、この症状でなにかアドバイスいただけることはありませんでしょうか。

(1)
root@debian:/home/guest/DirectFB-example# dpkg -l | grep libdirectfb
ii libdirectfb-1.2-9:armhf 1.2.10.0-5 armhf direct frame buffer graphics - shared libraries
--

(2)
root@debian:/home/guest/DirectFB-example# ./df_andi

~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.10 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2001-2008 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2012-05-20 13:57)
(*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0] <8388608>...
(*) Direct/Modules: suppress module 'keyboard'
(*) Direct/Modules: suppress module 'ps2mouse'
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: st1232-touchscreen (1) 0.1 (directfb.org)
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: CS42L52 Beep Generator (2) 0.1 (directfb.org)
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: gpio-keys (3) 0.1 (directfb.org)
(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) FBDev/Surface: Allocated 800x480 16 bit ARGB buffer (index 0) at offset 0 and pitch 1600.
(*) FBDev/Surface: Allocated 800x480 16 bit ARGB buffer (index 0) at offset 0 and pitch 1600.
(*) FBDev/Mode: Setting 800x480 ARGB
(*) FBDev/Mode: Switched to 800x480 (virtual 800x1440) at 32 bit (ARGB), pitch 3200
(*) FBDev/Surface: Allocated 800x480 32 bit ARGB buffer (index 1) at offset 1536000 and pitch 3200.
df_andi.c <497>:
(#) DirectFBError [dfb->CreateFont( dfb, FONT, &desc, &font )]: No (suitable) implementation found!
(!!!) *** WARNING [Application exited without deinitialization of DirectFB!] *** [../../../src/core/core.c:859 in dfb_core_deinit_check()]
(!!!) *** WARNING [still objects in 'Layer Region Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
(!!!) *** WARNING [still objects in 'Layer Context Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]
(!!!) *** WARNING [still objects in 'Surface Pool'] *** [../../../lib/fusion/object.c:241 in fusion_object_pool_destroy()]

以上、よろしくお願いします。

コメント

at_yashi

2015年9月24日 14時40分

         (#) DirectFBError [dfb->CreateFont( dfb, FONT, &desc, &font )]: No (suitable) implementation found!

これは、ttf フォントのハンドラーがないときにでると思います。
freetype のハンドラーは libdirectfb には入っていないので、extra のパッケージを入れてみてください。

hiroyuki.nishida

2015年9月28日 13時51分

at_yashi様

お世話になります。早速の回答ありがとうございました。
こちらで試したところ、動作するようになりました。

助かりました。