LVGL Safe vs LVGL Open

LVGL Safe is not a fork of LVGL Open. It is a separate library, written from scratch in C99, that makes the opposite trade-offs.

LVGL Safe is not a fork of LVGL Open. It is a new library, written from scratch in C99 with safety as the north star from the first commit. None of the open-source codebase was carried over, because a certifiable library has to be designed around its requirements (no runtime allocation, no hidden global state, deterministic rendering, full requirement-to-test traceability), and those properties cannot be retrofitted onto a general-purpose GUI engine by trimming it down.

The two libraries share a name, an author, and a design philosophy, but they solve different problems and make opposite trade-offs. LVGL Open optimizes for features and developer velocity; LVGL Safe optimizes for predictability, auditability, and evidence.

AspectLVGL OpenLVGL Safe
GoalRich, general-purpose GUIAuditable UI for safety-critical products
CodebaseCC
Source & licensingFree and public under MITSource available under a commercial agreement, per product
Feature setBroad: 30+ widgets, everything a modern UI needsDeliberately smaller: every feature must be justifiable and verifiable
ReliabilityCommunity-tested, production-provenHighest priority: MISRA C:2012, deterministic behavior, 100% test coverage, full traceability
MemoryDynamic allocation at runtimeNo runtime allocation; the caller owns every struct and buffer
Object lifecycleWidgets created and deleted freelyCreate only: widgets live for the lifetime of the program
Global stateGlobal/default display and registriesNo internal global or static state
Styling & layoutCascading styles, themes, flex and gridExplicit per-widget fields, per-state colors, absolute positioning
RenderingMultiple draw units, GPU and HW accelerationOne deterministic software renderer
DependenciesOptional integrations (filesystems, decoders, libraries)C99 and the standard library only
PortabilityFully portable to any MCU/MPU and any (RT)OSFully portable to any MCU/MPU and any (RT)OS
DocumentationDocs and examplesDocs plus safety manual, verification report, traceability, SBOM
ToolingLVGL Pro EditorLVGL Pro Editor

What LVGL Safe gives you today

A software renderer writing into a framebuffer you own; multiple displays and screens; rectangle, label, button, image, image button, and arc widgets; pointer and touch input with press, pressing, and click events plus index-based focus handling; multi-language translations and value binding on labels; image rotation and perspective transforms; offline image and font converters, so nothing is decoded at runtime; and a screenshot-based regression test framework. Everything is selected at compile time in a single ls_conf.h, and every public function returns an explicit error code.

Which one to choose

If you need a full-featured GUI for a general-purpose product, use LVGL Open. It stays free, open, and actively developed.

Choose LVGL Safe when your product has to be certified, and when predictable, allocation-free, reviewable code matters more than breadth of features. See Standards for the levels the delivery is built to support, and Delivery for the artifacts you receive.

Last updated on

On this page