directfb2 / DirectFB2

Core DirectFB library
GNU Lesser General Public License v2.1
132 stars 15 forks source link

Support for LVGL #143

Open arthurlutz opened 4 months ago

arthurlutz commented 4 months ago

I'm a bit new to this space so sorry if this is the wrong place for this request, feel free to redirect me.

Would it be possible to use DirectFB2 to support LVGL ?

https://lvgl.io/ & https://github.com/lvgl/lvgl

LVGL is the most popular free and open-source embedded graphics library to create beautiful UIs for any MCU, MPU and display type.

One of my use cases is to use LVGL for both a device with support for DirectFB2 (https://linux-sunxi.org/Bookeen_Cybook_Muse) and an ESP32 device with a screen (https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display)

caramelli commented 4 months ago

LVGL has a SDL2 port available, so LVGL applications can run on a DirectFB platform via SDL2 (it would be possible to write a LVGL port directly on top of DirectFB2).

LVGL is focused on providing user interface components designed for MCUs. One of the goals of DirectFB2 is also to target MCUs, using NuttX for example. And the LiTE library aims to provide user interface widgets on top of DirectFB.

Playing with DirectFB2 is a matter of choice: the DirectFB2 project doesn't have the importance of LVGL, but is interesting for its technical side and its free software philosophy.

Using DirectFB2 on e-readers is a really interesting project. And it would be fun to run Projektor on such devices to view documents!

Using DirectFB2 on MCU devices such as ESP32 is possible thanks to NuttX support. I'm using DirectFB2 on the STM32F429I-DISC1 board, but the ESP32 "Cheap Yellow Display" board seems to be a nice board for testing DirectFB2 as well!

arthurlutz commented 4 months ago

Hi Nicolas, thanks for the context explanation !

Do I understand correctly your second paragraph as "they are competing librairies" ? or in a more positive rephrasing "they provide the same goals and abstractions" as LiTE ? alternative ways of doing the same thing ?

I´ll look into getting some SDL2 on DirectFB working for my use case, but if you have pointers to projects, it could help me a lot.

Indeed as you've seem my issues on Projektor (here and here) I am trying to compile it for an ereader. I finally got https://bitbucket.org/alexantunez/nolim-ebook-sdk/ to compile for the device (in a xenial docker container) so I can now try other cross compilations.

The "Cheap Yellow Display" is indeed a cool hacking board, and you can see there are many software stacks to display things on it https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/tree/main/Examples and quite some community as described in https://hackaday.com/2023/10/28/cheap-yellow-display-builds-community-through-hardware/

caramelli commented 4 months ago

DirectFB is an alternative way to play with graphics (especially on embedded devices).

If DirectFB2 is available on your system or for your platform, simply build SDL2 with DirectFB support: