# lvgl/lv_binding_rust

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/lvgl-lv-binding-rust).**

888 stars · 87 forks · Rust · mit

## Links

- GitHub: https://github.com/lvgl/lv_binding_rust
- awesome-repositories: https://awesome-repositories.com/repository/lvgl-lv-binding-rust.md

## Topics

`embedded` `graphics` `gui` `lvgl` `rust`

## Description

Lv_binding_rust is an embedded graphics framework and resource-efficient user interface library implemented as a Rust graphical interface library. It provides language bindings that wrap low-level C library functions to bridge underlying hardware graphics APIs, facilitating the construction of custom graphical user interfaces on resource-constrained embedded systems and microcontrollers.

The project incorporates custom memory allocator routing and an internal memory manager that direct dynamic memory allocations through specialized internal graphics memory managers instead of the default system allocator. It features hardware display integration and display driver abstraction to decouple rendering logic from hardware specifics, alongside event loop input dispatch for capturing pointer signals and user interactions. Software rasterization renders pixels directly into memory buffers, while hierarchical visual styling rules cascade property values down the node tree.

Additional capabilities include widget event handling, interface animation tools, font rendering for text display, and a desktop graphical simulation environment that allows developers to run and test graphical user interface layouts before deploying to physical hardware.

## Tags

### Programming Languages & Runtimes

- [Rust GUI Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/rust-gui-libraries.md) — Creates interactive displays and handles user input devices in Rust applications running on microcontrollers and embedded hardware.
- [C FFI Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/c-language-bridges/rust-c-bridges/c-ffi-bridges.md) — Wraps low-level C library functions into safe or idiomatic language constructs to bridge underlying hardware graphics APIs.

### User Interface & Experience

- [Embedded User Interfaces](https://awesome-repositories.com/f/user-interface-experience/embedded-user-interfaces.md) — Builds graphical user interfaces on resource-constrained embedded systems using memory-efficient components and display drivers. ([source](https://github.com/lvgl/lv_binding_rust#readme))
- [Embedded Visualization Frameworks](https://awesome-repositories.com/f/user-interface-experience/embedded-visualization-frameworks.md) — Renders UI elements to hardware displays and processes input events on embedded microcontrollers.
- [Visual Styling Rules](https://awesome-repositories.com/f/user-interface-experience/visual-styling-rules.md) — Applies sets of visual styling rules to customize the appearance of user interface objects. ([source](https://github.com/lvgl/lv_binding_rust/blob/master/README.md))
- [Desktop UI Simulations](https://awesome-repositories.com/f/user-interface-experience/desktop-ui-simulations.md) — Executes interface examples inside a desktop environment so developers can test layouts and behaviour without deploying directly to physical hardware. ([source](https://github.com/lvgl/lv_binding_rust/blob/master/examples))
- [Embedded Display Renderers](https://awesome-repositories.com/f/user-interface-experience/embedded-display-renderers.md) — Draws user interface elements onto any display supported by graphics driver integration libraries. ([source](https://github.com/lvgl/lv_binding_rust/blob/master/README.md))
- [Event Handling](https://awesome-repositories.com/f/user-interface-experience/event-handling.md) — Captures user interactions and pointer signals from graphical components to trigger custom application handlers and logic. ([source](https://github.com/lvgl/lv_binding_rust/blob/master/README.md))
- [Input Event Dispatchers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/event-handling-architectures/input-event-dispatchers.md) — Captures pointer signals and user interactions from hardware drivers and routes them to registered widget event handlers.
- [Style Property Animators](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/component-styling-tools/component-styling/style-property-animators.md) — Transitions numeric or color style properties over time to animate user interface components smoothly. ([source](https://github.com/lvgl/lv_binding_rust#readme))

### Hardware & IoT

- [Display Hardware Drivers](https://awesome-repositories.com/f/hardware-iot/display-hardware-drivers.md) — Renders graphics to supported hardware displays and captures user interactions from pointer input devices using driver integrations. ([source](https://github.com/lvgl/lv_binding_rust#readme))
- [Embedded Graphics Libraries](https://awesome-repositories.com/f/hardware-iot/embedded-graphics-libraries.md) — Builds custom graphical user interfaces for resource-constrained embedded systems using memory-efficient widgets and display drivers.
- [UI and Logic Simulation](https://awesome-repositories.com/f/hardware-iot/embedded-systems-debugging/ui-and-logic-simulation.md) — Runs graphical interface simulations inside desktop environments to test layouts and behaviour before physical deployment.

### Operating Systems & Systems Programming

- [Hardware Abstraction Layer Drivers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-drivers/hardware-abstraction-layer-drivers.md) — Decouples rendering logic from hardware specifics by routing draw operations through standardized graphics driver integration layers.

### Graphics & Multimedia

- [Embedded Graphics Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/embedded-graphics-engines.md) — Tests and runs graphical user interface layouts inside a desktop environment before deploying to physical hardware.
- [Software Rasterizers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/dynamic-pixel-renderers/software-rasterizers.md) — Draws pixels directly into memory buffers using software rasterization routines before pushing the final frame to displays.
