Hi, I'm trying to get directfb and gtk going on an Atmel AT91SAM9263 buildroot and directfb-1.4.11/13. Some dfb examples work fine (df_neo, df_palette), although the colours are off. Other examples (like df_fire and df_particle) SIGSEG or SIGILL.
The demos start up fine with: ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.13 |~~~~~~~~~~~~~~~~~~~~~~~~~~ (c) 2001-2010 The world wide DirectFB Open Source Community (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2011-07-19 17:38) (*) Direct/Memcpy: Using armasm_memcpy() (*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0] <8388608>... (*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/FBDev: Found '' (ID 0) with frame buffer at 0x23940000, 150k (MMIO 0x00700000, 4k) (*) Direct/Thread: Started 'Keyboard Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Keyboard 0.9 (directfb.org) (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: gpio-keys (1) 0.1 (directfb.org) (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Microsoft Microsoft 5-Button Mo (2) 0.1 (directfb.org) (*) Direct/Thread: Started 'Hotplug with Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Hot-plug detection enabled with Linux Input Driver (*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org) (*) DirectFB/Core/WM: Default 0.3 (directfb.org) (*) FBDev/Mode: Setting 320x240 RGB16 (*) FBDev/Mode: Switched to 320x240 (virtual 320x240) at 16 bit (RGB16), pitch 640 (*) FBDev/Mode: Setting 320x240 RGB16 (*) FBDev/Mode: Switched to 320x240 (virtual 320x240) at 16 bit (RGB16), pitch 640 then they fail for some reason. For df_fire gdb reports: Program received signal SIGSEGV, Segmentation fault. memset () at libc/string/arm/memset.S:89 89 stmia a4!, {a2, ip} (gdb) bt #0 memset () at libc/string/arm/memset.S:89 #1 0x40247f9c in Cop_to_Aop_8 (gfxs=0x31a28) at generic.c:391 #2 0x40272dd8 in gFillRectangle (state=0x1c0dc, rect=0xbe8b0a18) at generic_fill_rectangle.c:96 #3 0x401be7e4 in dfb_gfxcard_fillrectangles (rects=0x1c074, num=1, state=0x1c0dc) at gfxcard.c:1053 #4 0x401f1d8c in IDirectFBSurface_Clear (thiz=0x1bf30, r=0 '\000', g=0 '\000', b=0 '\000', a=255 '\377') at idirectfbsurface.c:729 #5 0x00009608 in init_application (argc=0xbe8b0b54, argv=0xbe8b0b50) at df_fire.c:405 #6 0x000087f8 in main (argc=1, argv=0xbe8b0db4) at df_fire.c:88 (gdb) up #1 0x40247f9c in Cop_to_Aop_8 (gfxs=0x31a28) at generic.c:391 391 memset( gfxs->Aop[0], gfxs->Cop, gfxs->length ); (gdb) print *gfxs $1 = {funcs = {0x40247f64 <Cop_to_Aop_8>, 0 <repeats 31 times>}, length = 320, Slen = 0, Dlen = 0, dst_org = {0x4005e800, 0x0, 0x0}, src_org = {0x0, 0x0, 0x0}, dst_pitch = 640, src_pitch = 0, dst_bpp = 1, src_bpp = 0, dst_caps = 20, src_caps = DSCAPS_NONE, src_format = DSPF_UNKNOWN, dst_format = DSPF_LUT8, dst_height = 240, src_height = 0, dst_field_offset = 76800, src_field_offset = 0, color = {a = 255 '\377', r = 0 '\000', g = 0 '\000', b = 0 '\000'}, Aop = {0x4005ef80, 0x0, 0x0}, Bop = {0x0, 0x0, 0x0}, Cop = 0, Astep = 1, Bstep = 1, YCop = 0 '\000', CbCop = 0 '\000', CrCop = 0 '\000', Aop_field = 0, Bop_field = 0, AopY = 3, BopY = 0, s = 0, t = 0, Dkey = 0, Skey = 0, Alut = 0x1a170, Blut = 0x0, ABstart = 0x0, ABsize = 0, Aacc = 0x0, Bacc = 0x0, Tacc = 0x0, Cacc = {RGB = {b = 0, g = 0, r = 0, a = 0}, YUV = {u = 0, v = 0, y = 0, a = 0}}, SCacc = {RGB = {b = 0, g = 0, r = 0, a = 0}, YUV = {u = 0, v = 0, y = 0, a = 0}}, Xacc = 0x0, Yacc = 0x0, Dacc = 0x0, Sacc = 0x0, Sop = 0x0, Slut = 0x0, Ostep = 1, SperD = 0, TperD = 0, Xphase = 0, need_accumulator = false, trans = 0x0, num_trans = 0} For df_particle: Program received signal SIGILL, Illegal instruction. 0x402aa04c in Cop_to_Aop_16 (gfxs=0x429d8) at generic.c:413 413 --w; (gdb) bt #0 0x402aa04c in Cop_to_Aop_16 (gfxs=0x429d8) at generic.c:413 #1 0x402d4dd8 in gFillRectangle (state=0x42794, rect=0xbeb08940) at generic_fill_rectangle.c:96 #2 0x402207e4 in dfb_gfxcard_fillrectangles (rects=0x4272c, num=1, state=0x42794) at gfxcard.c:1053 #3 0x40253d8c in IDirectFBSurface_Clear (thiz=0x425e8, r=255 '\377', g=255 '\377', b=255 '\377', a=255 '\377') at idirectfbsurface.c:729 #4 0x00009108 in main (argc=1, argv=0xbeb08da4) at df_particle.c:185 (gdb) print *gfxs $1 = {funcs = {0x402a9fa4 <Cop_to_Aop_16>, 0 <repeats 31 times>}, length = 320, Slen = 0, Dlen = 0, dst_org = {0x1cde0, 0x0, 0x0}, src_org = {0x0, 0x0, 0x0}, dst_pitch = 640, src_pitch = 0, dst_bpp = 2, src_bpp = 0, dst_caps = 20, src_caps = DSCAPS_NONE, src_format = DSPF_UNKNOWN, dst_format = DSPF_RGB16, dst_height = 240, src_height = 0, dst_field_offset = 76800, src_field_offset = 0, color = {a = 255 '\377', r = 255 '\377', g = 255 '\377', b = 255 '\377'}, Aop = {0x263e0, 0x0, 0x0}, Bop = {0x0, 0x0, 0x0}, Cop = 65535, Astep = 1, Bstep = 1, YCop = 0 '\000', CbCop = 0 '\000', CrCop = 0 '\000', Aop_field = 0, Bop_field = 0, AopY = 60, BopY = 0, s = 0, t = 0, Dkey = 0, Skey = 0, Alut = 0x0, Blut = 0x0, ABstart = 0x0, ABsize = 0, Aacc = 0x0, Bacc = 0x0, Tacc = 0x0, Cacc = {RGB = {b = 0, g = 0, r = 0, a = 0}, YUV = {u = 0, v = 0, y = 0, a = 0}}, SCacc = {RGB = {b = 0, g = 0, r = 0, a = 0}, YUV = {u = 0, v = 0, y = 0, a = 0}}, Xacc = 0x0, Yacc = 0x0, Dacc = 0x0, Sacc = 0x0, Sop = 0x0, Slut = 0x0, Ostep = 1, SperD = 0, TperD = 0, Xphase = 0, need_accumulator = false, trans = 0x0, num_trans = 0} For gtk-demo: Program received signal SIGSEGV, Segmentation fault. 0x406a5058 in Cop_to_Aop_16 (gfxs=0xf9310) at generic.c:414 414 ++D; (gdb) bt #0 0x406a5058 in Cop_to_Aop_16 (gfxs=0xf9310) at generic.c:414 #1 0x406cfdd8 in gFillRectangle (state=0xf2fa4, rect=0xbe825578) at generic_fill_rectangle.c:96 #2 0x4061b7e4 in dfb_gfxcard_fillrectangles (rects=0xbe82563c, num=1, state=0xf2fa4) at gfxcard.c:1053 #3 0x4065032c in IDirectFBSurface_FillRectangle (thiz=0xf2df8, x=256, y=30, w=340, h=366) at idirectfbsurface.c:1314 #4 0x4017cd84 in gdk_window_impl_directfb_begin_paint_region (paintable=0x79910, window=0x1458b0, region=0x171b80) at gdkwindow-directfb.c:2814 #5 0x401543d0 in IA__gdk_window_begin_paint_region (window=0x1458b0, region=0x171b80) at gdkwindow.c:2959 #6 0x4032e364 in IA__gtk_main_do_event (event=0xbe825758) at gtkmain.c:1608 #7 0x40159420 in _gdk_window_process_updates_recurse (window=0x1458b0, expose_region=0x171b80) at gdkwindow.c:5429 #8 0x401592fc in _gdk_window_process_updates_recurse (window=0x145800, expose_region=0xf1260) at gdkwindow.c:5402 #9 0x401592fc in _gdk_window_process_updates_recurse (window=0x766e0, expose_region=0x171a80) at gdkwindow.c:5402 #10 0x401592fc in _gdk_window_process_updates_recurse (window=0x76160, expose_region=0xf12e0) at gdkwindow.c:5402 #11 0x4017cf5c in _gdk_windowing_window_process_updates_recurse (window=0x76160, region=0xf12e0) at gdkwindow-directfb.c:2939 #12 0x40159718 in gdk_window_process_updates_internal (window=0x76160) at gdkwindow.c:5588 #13 0x401599c0 in IA__gdk_window_process_all_updates () at gdkwindow.c:5696 #14 0x40281fcc in gtk_container_idle_sizer (data=0x0) at gtkcontainer.c:1360 #15 0x4012abc4 in gdk_threads_dispatch (data=0xee4b0) at gdk.c:512 #16 0x40a67928 in g_idle_dispatch (source=0xee8e0, callback=0x4012ab44 <gdk_threads_dispatch>, user_data=0xee4b0) at gmain.c:4545 #17 0x40a62c64 in g_main_dispatch (context=0x7f3d8) at gmain.c:2440 #18 0x40a64580 in g_main_context_dispatch (context=0x7f3d8) at gmain.c:3013 #19 0x40a64a90 in g_main_context_iterate (context=0x7f3d8, block=1, dispatch=1, self=0x3f3d0) at gmain.c:3091 #20 0x40a653c0 in g_main_loop_run (loop=0x1504c8) at gmain.c:3299 #21 0x4032d81c in IA__gtk_main () at gtkmain.c:1256 #22 0x0002d8d0 in main (argc=1, argv=0xbe825da4) at main.c:1010 (gdb) print *gfxs $1 = {funcs = {0x406a4fa4 <Cop_to_Aop_16>, 0 <repeats 31 times>}, length = 340, Slen = 0, Dlen = 0, dst_org = {0x42087008, 0x0, 0x0}, src_org = {0x0, 0x0, 0x0}, dst_pitch = 1200, src_pitch = 0, dst_bpp = 2, src_bpp = 0, dst_caps = DSCAPS_SYSTEMONLY, src_caps = DSCAPS_NONE, src_format = DSPF_UNKNOWN, dst_format = DSPF_RGB16, dst_height = 400, src_height = 0, dst_field_offset = 240000, src_field_offset = 0, color = {a = 255 '\377', r = 255 '\377', g = 255 '\377', b = 255 '\377'}, Aop = {0x420a25f8, 0x0, 0x0}, Bop = {0x0, 0x0, 0x0}, Cop = 65535, Astep = 1, Bstep = 1, YCop = 0 '\000', CbCop = 0 '\000', CrCop = 0 '\000', Aop_field = 0, Bop_field = 0, AopY = 93, BopY = 0, s = 0, t = 0, Dkey = 0, Skey = 0, Alut = 0x0, Blut = 0x0, ABstart = 0x0, ABsize = 0, Aacc = 0x0, Bacc = 0x0, Tacc = 0x0, Cacc = {RGB = {b = 0, g = 0, r = 0, a = 0}, YUV = {u = 0, v = 0, y = 0, a = 0}}, SCacc = {RGB = {b = 0, g = 0, r = 0, a = 0}, YUV = {u = 0, v = 0, y = 0, a = 0}}, Xacc = 0x0, Yacc = 0x0, Dacc = 0x0, Sacc = 0x0, Sop = 0x0, Slut = 0x0, Ostep = 1, SperD = 0, TperD = 0, Xphase = 0, need_accumulator = false, trans = 0x0, num_trans = 0} The common denominator here seems to me to be the Cop_to_Aop_* functions. Can anyone point me in a direction in order to debug this further? Thanks _______________________________________________ directfb-users mailing list directfb-users@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users