Hi world wide DirectFB community! I have cross compiled DirectFB 1.4.3 for a Davinci DM365 platform, which has HDMI output to a TV.
I am testing using the simple application from the DirectFB tutorials http://www.directfb.org/docs/DirectFB_Tutorials/simple.html I am having some troubles configuring DirectFB together with the davinci OSD0 For example: fbset -fb /dev/fb0 -xres 640 -yres 480 -depth 16 -nonstd 0 TV result: http://www.meego.nu/pics/20100618_001.jpg fbset -i and get the mode to use for a fb.modes file # ./simple TV result: http://www.meego.nu/pics/20100618_002.jpg I would like the filled rectangle to be drawn from top left corner to the bottom right corner. Additional information: ./configure --host=arm-linux-gnu --build=i386-linux --target=arm-linux --prefix=/usr --disable-x11 --enable-debug --disable-voodoo --disable-mmx --disable-sse --disable-sdl --disable-jpeg --enable-zlib --enable-png --disable-gif --enable-freetype --disable-video4linux --disable-video4linux2 --enable-fbdev --disable-devmem --disable-sysfs --with-gfxdrivers=davinci --with-inputdrivers=none Kernel video boot parameter video=davincifb:vid0=OFF:vid1=OFF:osd0=1280x720x32,7200K I have used fbset utility to create modes to use in a /etc/fb.modes file fbset -i will give additional information on the 'low-level details' about the driver. r...@localhost:/# fbset -i mode "1280x720" geometry 1280 720 1280 720 16 timings 0 121 0 16 0 0 0 bcast true laced true rgba 5/11,6/5,5/0,0/0 endmode Additional Frame buffer device information: Name : dm_osd0_fb Address : 0x84000000 Size : 7372800 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 16 YPanStep : 1 YWrapStep : 0 LineLength : 2560 Accelerator : No Example output on console: r...@localhost:/# simple ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.4.3 |~~~~~~~~~~~~~~~~~~~~~~~~~~ (c) 2001-2009 The world wide DirectFB Open Source Community (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2010-06-17 14:50) [ DEBUG ] (*) Direct/Memcpy: Using armasm_memcpy() (*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0] <838860 8>... (*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0] <8388608> ... (*) DirectFB/FBDev: Found 'dm_osd0_fb' (ID 0) with frame buffer at 0x84000000, 7 200k (MMIO 0x00000000, 0k) (*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org) (*) DirectFB/Core/WM: Default 0.3 (directfb.org) (!) [Main Thread 0.000] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:855 in df b_surface_pool_lock()] (!) DirectFB/FBDev: yres 720, vyres 720, offset 720 (!?!) *** BUG [panning buffer out of range] *** [fbdev.c:1502 in dfb_fbdev_pan ()] (!) [Main Thread 0.001] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:855 in df b_surface_pool_lock()] (!) [Main Thread 0.029] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:874 in df b_surface_pool_unlock()] (!) [Main Thread 0.029] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:889 in df b_surface_pool_unlock()] (!) [Main Thread 0.030] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:855 in df b_surface_pool_lock()] (!) [Main Thread 0.030] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:874 in df b_surface_pool_unlock()] (!) [Main Thread 0.030] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:889 in df b_surface_pool_unlock()] (!) [Main Thread 0.031] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:874 in df b_surface_pool_unlock()] (!) [Main Thread 0.031] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:889 in df b_surface_pool_unlock()] (!) [Main Thread 0.031] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:855 in df b_surface_pool_lock()] (!) DirectFB/FBDev: yres 720, vyres 720, offset 720 (!?!) *** BUG [panning buffer out of range] *** [fbdev.c:1502 in dfb_fbdev_pan ()] simple.c <148>: (#) DirectFBError [primary->Flip (primary, NULL, 0)]: Internal bug! (!!!) *** WARNING [Application exited without deinitialization of DirectFB!] * ** [core.c:862 in dfb_core_deinit_check()] (!!!) *** WARNING [still objects in 'Layer Region Pool'] *** [object.c:241 in fusion_object_pool_destroy()] (!) [Main Thread 0.033] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:874 in df b_surface_pool_unlock()] (!) [Main Thread 0.033] ( 2270) *** Assumption [(lock)->offset == (lock)-> allocation->offset || (lock)->offset == ~0] failed *** [surface_pool.c:889 in df b_surface_pool_unlock()] (!!!) *** WARNING [still objects in 'Layer Context Pool'] *** [object.c:241 in fusion_object_pool_destroy()] (!!!) *** WARNING [still objects in 'Surface Pool'] *** [object.c:241 in fusio n_object_pool_destroy()] Interface instances remaining (2): - 'IDirectFB' at 0x16840 (dfb) allocated in DirectFBCreate (directfb.c: 197) - 'IDirectFBSurface' at 0x17f98 (iface) allocated in IDirectFB_CreateSurface ( idirectfb.c: 764) Ok. So I searched the mailing list for (!?!) *** BUG [panning buffer out of range http://mail.directfb.org/pipermail/directfb-users/2009-May/001651.html On Mon, May 25, 2009 at 10:07 AM, Niels Roest <niels at directfb.org> wrote: > the panning failing is due to the fact that it cannot reserve a > sufficiently large buffer; check your FB driver in the kernel, or retry with > a lower resolution first to see if that works (like VGA 640x480 is a good > choice). I restart the system and changes the framebuffer settings using fbset utility and create a new fb.modes file. I then get the results shown in the picture above, and still the panning failure is there.. I have looked through the drivers/media/video/davinci/davinci_osd.c ~2500 lines, but don't really know what I should look for or change. Could it be I need to set some register on the dm365 to set up the framebuffer and set the drawing area and options? I will investigate :) When restarting the system and using fbset utility to change settings, The black rectangle is drawn, but never from the top left corner to the bottom right corner. Only on a part of the screen. Sometimes the rectangle is written starting from the middle of the screen to the right and down, using only a quarter of the screen. Thanks in advance for any feedback/ideas Andreas _______________________________________________ directfb-users mailing list directfb-users@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users