Cross-platform GUI · WinForms over LVGL · NativeAOT Ready

Keep the familiar WinForms mindset, target much broader runtimes.

LVGLSharp uses LVGL as the rendering core while exposing a .NET-friendly, WinForms-style development model. The goal is to bridge desktop productivity with Windows, Linux, and device-oriented runtime environments, while continuing to improve NativeAOT, lightweight deployment, and host portability.

  • Windows / Linux
  • LVGL Rendering
  • WinForms-style API
  • NativeAOT Friendly
Core identity WinForms over LVGL
Main platforms Windows + Linux
Publishing direction NativeAOT
Engineering target Cross-platform UI Runtime

Why it matters

It connects familiar desktop development productivity with lightweight runtime capabilities for broader display hosts and deployment models.

Familiar development flow

Preserves forms, controls, events, and layout thinking so developers can reuse the WinForms mental model instead of starting from a lower-level graphics stack.

LVGL rendering foundation

Builds on LVGL for lightweight, high-performance, and device-adaptive rendering across broader platform and host combinations.

AOT and lightweight deployment

Moves toward NativeAOT, self-contained publishing, and device-friendly packaging with lower runtime overhead.

Quick entry points

If you want to evaluate the project quickly, these are the best places to start.

Recommended reading paths

Choose a path based on your interest instead of browsing everything manually.

Capability map

The project value is not only about drawing UI, but about the runtime structure and engineering model behind it.

Forms and controls model

Keeps the traditional WinForms programming style, including lifecycle, control tree, events, and layout organization.

Layered runtime structure

Organizes capabilities across Core, Interop, Runtime.Windows, and Runtime.Linux so rendering and hosting stay decoupled.

Device deployment path

Opens a realistic path for x64, ARM, and ARM64 device-side UI scenarios in the .NET ecosystem.

Demos and usage scenarios

This project is not only a concept exploration. It is being shaped against real UI scenarios, real runtime hosts, and real publishing paths.

Desktop validation

Windows and Linux hosts are used to continuously validate lifecycle behavior, control models, and cross-platform runtime consistency.

Device-oriented exploration

The runtime roadmap keeps expanding around FrameBuffer, Wayland, SDL, DRM/KMS, and other device-side host strategies.

Demo-driven evolution

Examples such as MusicDemo, SmartWatchDemo, PictureBoxDemo, and WinFormsDemo help anchor the project in practical usage.

Quick start path

If you want to get a fast feel for the project, this is the shortest useful path.

Start with these

If you only read three pieces first, use this shortlist.

WPF Preview

LVGLSharp.WPF is now part of the package line and can already be used to validate the basic controls path and XAML runtime-loading flow. The screenshot below comes from the real src/Demos/WpfApp demo.

LVGLSharp WPF preview