This is a multi-threaded server which opens the display as a framebuffer
and allows several external programs to draw graphic elements
on the screen and retrieve keyboard and mouse events.
This is so multiple applications can access the screen without
running X11/Wayland,
A client library is used to communicate to the server, and has drawing
and event handling routines which resemble other graphic API's. These
correspond to the SDL2 routines the server uses to draw on the screen.
The client library also includes a minimalist GUI that works well with
the server.
By design, the entire package uses minimal resources to create a
multi-application platform for SBC's using a framebuffer display.
All threads of the server are blocked and waiting for events when
activity is idle . Only the drawing parameters are passed between
client and server, not pixel data. The GUI is designed to only redraw
the portion of the screen that needs to be redrawn at that time.
Features
- A display server for the Linux framebuffer using SDL2
- Intended for Single Board Computers like the Raspberry Pi
- Written in C (99) using only SDL, SDL threads and Unix Sockets
- Includes Minimalist GUI