I want to use DirectFB for 2D graphical hardware acceleration.but i found a strange problem.
when i use gfxdriver(libdirectfb_gal.so), i run the directfb example "df_andi", there is only 6 FPS and "cpu idle" is 50%, even if i set "no-hardware" in "directfbrc", it is the same.
but if i remove the library(libdirectfb_gal.so),it means using software acceleration, the example will up to 20 FPS and "cpu idle" 60%. why ?
and i have another question:
if i set "fbdev=/dev/fb1" (at the FG not BG), it will display nothing in screen, but there is no error.
does the "fbdev" must set to "BG" ?
i have tested the example at official image , it was the same result.
additional:
i use buildroot for building filesystem, directfb version is V1.7.4
-----------------------------------------------------------------------------------------
my directfb settings:
# cat /etc/directfbrc
no-cursor
system=fbdev
fbdev=/dev/fb0
mode=1920x1080
depth=32
pixelformat=RGB32
#quiet
#no-hardware
-------------------------------------------------------------------------------------
the log message is below:
# df_andi
(*) Direct/Thread: Started 'SigHandler' (246) [CRITICAL - OTHER/0] <8388608>...
~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.7.4 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2012-2013 DirectFB integrated media GmbH
(c) 2001-2013 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2016-01-25 07:37)
(*) Direct/Memcpy: Using libc memcpy()
(*) Direct/Thread: Started 'Fusion Dispatch' (247) [MESSAGING - OTHER/0] <8388608>...
(*) Direct/Thread: Started 'VT Switcher' (250) [CRITICAL - OTHER/0] <8388608>...
(*) Direct/Thread: Started 'VT Flusher' (251) [DEFAULT - OTHER/0] <8388608>...
(*) DirectFB/FBDev: Found 'DISP3 BG - DI1' (ID 0) with frame buffer at 0x3c100000, 8100k (MMIO 0x00000000, 0k)
(*) Direct/Thread: Started 'Hotplug with Linux Input' (252) [INPUT - OTHER/0] <8388608>...
(*) DirectFB/Input: Hot-plug detection enabled with Linux Input Driver
(*) Direct/Thread: Started 'Keyboard Input' (253) [INPUT - OTHER/0] <8388608>...
(*) DirectFB/Input: Keyboard 0.9 (directfb.org)
(*) Using the default feature settings.
(*) DirectFB/Graphics: Vivante unknown chip model 1.0 (Vivante)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) Direct/Thread: Started 'Genefx' (254) [DEFAULT - OTHER/0] <8388608>...
(*) FBDev/Mode: Setting 1920x1080 RGB32
(*) FBDev/Mode: Switched to 1920x1080 (virtual 1920x1080) at 32 bit (RGB32), pitch 7680
:smileyalert: DirectFB/DirectFBCreate: Setting desktop resolution to 1920x1080 failed!
-> Using default resolution.
:smileyalert: DirectFB/DirectFBCreate: Setting desktop format failed!
-> Using default format.
:smileyalert: DirectFB/DirectFBCreate: Setting desktop buffer mode failed!
-> No virtual resolution support or not enough memory?
Falling back to system back buffer.
(*) FBDev/Mode: Setting 1920x1080 RGB32
(*) FBDev/Mode: Switched to 1920x1080 (virtual 1920x1080) at 32 bit (RGB32), pitch 7680
(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.
(*) Direct/Interface: Loaded 'PNG' implementation of 'IDirectFBImageProvider'.
(*) Direct/Interface: Loaded 'JPEG' implementation of 'IDirectFBImageProvider'.
(*) FBDev/Mode: Setting 1920x1080 RGB32
(*) FBDev/Mode: Switched to 1920x1080 (virtual 1920x1080) at 32 bit (RGB32), pitch 7680
----------------------------------------------------------------------------------------------------------------------------
somebody else faced this problem ?
Hi xie,
This is an issue with libdirectfb_gal, however I do not know if this going to be fixed, Since there is no DirectFB support anymore. I suggest to use Wayland instead.
Regards