<div>hi, all</div>
<div>I am writing a gfxdriver for Fujitsu mb86296 video card under DirectFB. When I run a example df_fire from DirectFB-examples-1.0.0.tar.gz, there is no output on the computer screen, it is black completely, and the error result looks like this:</div>
<div>
<p>sh-3.00# ./df_fire</p>
<p> =======================| DirectFB 1.0.0 |=======================<br> (c) 2001-2007 The DirectFB Organization (<a href="http://directfb.org">directfb.org</a>)<br> (c) 2000-2004 Convergence (integrated media) GmbH<br>
------------------------------------------------------------</p>
<p>(*) DirectFB/Core: Single Application Core. (2008-06-03 03:01) [ TRACE ]<br>(*) Direct/Memcpy: Using ppcasm_memcpy()<br>(*) Direct/Thread: Running 'VT Switcher' (CRITICAL, 502)...<br>(*) Direct/Thread: Running 'PS/2 Input' (INPUT, 503)...<br>
(*) DirectFB/Input: IMPS/2 Mouse 1.0 (<a href="http://directfb.org">directfb.org</a>)<br>(*) Direct/Thread: Running 'Keyboard Input' (INPUT, 504)...<br>(*) DirectFB/Input: Keyboard 0.9 (<a href="http://directfb.org">directfb.org</a>)<br>
(*) DirectFB/Graphics: Fujitsu MB86296 0.5 (Atom Create)<br>(!) [ 493: 0.000] --> Caught signal 11 (at (nil), invalid address) <--<br>(-) [ 493: -STACK- ]<br> #0 0x0fecef48 in signal_handler () from /mnt/gtkdfb/lib/libdirect-1.0.so.0<br>
[0xfec4000]<br> #1 0x0ffc5b40 in dfb_screens_initialize () from<br>/mnt/gtkdfb/lib/libdirectfb-1.0.so.0 [0xff5f000]<br> #2 0x0ffb3520 in dfb_core_part_initialize () from<br>/mnt/gtkdfb/lib/libdirectfb-1.0.so.0 [0xff5f000]<br>
#3 0x0ffb2edc in dfb_core_arena_initialize () from<br>/mnt/gtkdfb/lib/libdirectfb-1.0.so.0 [0xff5f000]<br> #4 0x0ffb2edc in dfb_core_arena_initialize () from<br>/mnt/gtkdfb/lib/libdirectfb-1.0.so.0 [0xff5f000]<br> #5 0x0ff029f8 in fusion_arena_enter () from<br>
/mnt/gtkdfb/lib/libfusion-1.0.so.0 [0xfeff000]<br> #6 0x0ffb18f4 in dfb_core_create () from<br>/mnt/gtkdfb/lib/libdirectfb-1.0.so.0 [0xff5f000]<br> #7 0x100127b4 in DirectFBCreate () from ./df_fire [0x10000000]</p>
<p>(-) [ 502: -STACK- 'VT Switcher']<br> #0 0x0fcf3970 in vt_thread () from<br>/mnt/gtkdfb/lib/directfb-1.0-0/systems/libdirectfb_fbdev.so [0xfcea000]</p>
<p>(-) [ 503: -STACK- 'PS/2 Input']<br> #0 0x0fba6c88 in ps2mouseEventThread () from<br>/mnt/gtkdfb/lib/directfb-1.0-0/inputdrivers/libdirectfb_ps2mouse.so<br>[0xfba4000]</p>
<p>(-) [ 504: -STACK- 'Keyboard Input']<br> #0 0x0fc56e84 in keyboardEventThread () from<br>/mnt/gtkdfb/lib/directfb-1.0-0/inputdrivers/libdirectfb_keyboard.so<br>[0xfc55000]</p>
<p>Aborted</p>
<p>I wonder if it is wrong in my code in mb86296_screen.c which I refer to sh7722 gfxdriver, here is the code:</p>
<p>/**********************************************************************************************************************/</p>
<p>static DFBResult<br>mb86296InitScreen( CoreScreen *screen,<br> CoreGraphicsDevice *device,<br> void *driver_data,<br> void *screen_data,<br>
DFBScreenDescription *description )<br>{<br> /* Set the screen capabilities. */<br> description->caps = DSCCAPS_NONE;</p>
<p> /* Set the screen name. */<br> snprintf( description->name, DFB_SCREEN_DESC_NAME_LENGTH, "MB86296 Screen" );</p>
<p> return DFB_OK;<br>}</p>
<p>static DFBResult<br>mb86296GetScreenSize( CoreScreen *screen,<br> void *driver_data,<br> void *screen_data,<br> int *ret_width,<br> int *ret_height )<br>
{<br> *ret_width = MB86296_LCD_WIDTH;<br> *ret_height = MB86296_LCD_HEIGHT;</p>
<p> return DFB_OK;<br>}</p>
<p>ScreenFuncs mb86296ScreenFuncs = {<br> InitScreen: mb86296InitScreen,<br> GetScreenSize: mb86296GetScreenSize<br>};</p>
<p>In driver_init_driver(), I called dfb_screens_register( device, driver_data, &mb86296ScreenFuncs ).</p>
<p>anybody can help me??<br></p>
<p> </p></div>