rlvgl-platform
Package: rlvgl-platform
rlvgl-platform contains the backend and integration layer for rlvgl. It
bridges the core widget/runtime model to real hardware targets and to simulator
backends used during desktop development.
What It Provides
- display and input abstractions used by hosts and board ports
- blitters, surfaces, and dirty-region restoration via the compositor
- simulator-facing modules such as app loading and renderer backends
- embedded integrations for the STM32H747I-DISCO path, including display, touch, QSPI, SD, DMA2D, and optional audio support
Common Feature Groups
simulator: desktop integration and dynamic app loadinguefi: UEFI GOP display + keyboard + serial transport for pre-OS runtimesstm32h747i_disco: board-specific hardware support for the flagship demo targetdma2d,audio,sd_storage,fatfs_nostd,splash: optional embedded subsystems layered onto that board support- passthrough asset features such as
png,jpeg,gif,qrcode,apng,fontdue,lottie, andcanvas
UEFI backend
The optional uefi feature enables a pre-OS display and input backend
targeting UEFI GOP (Graphics Output Protocol). This allows rlvgl
applications to run directly from the UEFI shell or as UEFI boot
applications — no OS kernel required.
Modules:
uefi.rs— GOP framebuffer display driver with software blitting, keyboard polling via SimpleTextInput (with synthesized KeyUp events), andScreen/DisplayDrivertrait implementations.uefi_serial_transport.rs—PlayitTransportimplementation over UEFI Serial I/O protocol, enabling playit test automation over a QEMU virtio-serial chardev exposed as a TCP socket on the host.
The uefi-disco example (examples/uefi-disco/) demonstrates the full
pipeline: disco-demo controller running on GOP with serial-based playit
test driving.
stm32h747i_disco backend
The optional stm32h747i_disco feature enables the embedded board support used
by the main hardware demo path in this repository. That includes the display
stack, FT5336 touch controller support, storage helpers, and optional
DMA2D/audio paths depending on the features you enable.
The STM32H747I-DISCO demo runs on three platforms — all sharing the same display init, touch I2C, and DMA2D engine code from this crate:
| Platform | Feature | Task model | Guide |
|---|---|---|---|
| Bare-metal | (default) | Cooperative main loop | Vol II |
| FreeRTOS | freertos |
Preemptive tasks with semaphores | Vol IV |
| Zephyr | zephyr |
Zephyr threads with C FFI shell | Vol V |
The freertos and zephyr features gate platform-specific code paths
(e.g., skipping the second PG3 reset pulse under Zephyr, CSleep LPENR
register variants for FreeRTOS/Zephyr low-power modes).
See README-VENDOR.md for the vendor support policy.
License
MIT
More Information
For more information, visit softoboros.com.