Try out LVGL Pro — A complete toolkit to build, test, share, and ship UIs efficiently!
LVGL
Release

LVGL v9.1 Released

LVGL v9.1 brings crown input support, bitmap masks, Helium acceleration, VG-Lite enhancements, and over 150 bug fixes and improvements.

Gabor Kiss-VamosiGabor Kiss-Vamosi5 min read

LVGL v9.1.0 was released on March 20, 2024, bringing a wealth of new features, performance optimizations, and stability improvements to the v9 series.

This release focuses on hardware acceleration enhancements, expanded platform support, and developer experience improvements. With over 60 new features and 150+ bug fixes, v9.1 represents a significant step forward in stability and capability.

New Features#

Input Device Enhancements#

Crown Input Support - Added support for rotary crown input devices (like digital watch crowns), enabling intuitive rotational navigation for embedded UIs.

Keyboard Improvements - Added Home and End key mappings, expanded LV_KEY support in X11 driver, and fixed scroll behavior when PRESSED state is active.

Graphics and Rendering#

Bitmap Masks - New bitmap masking feature allows precise pixel-level transparency control for images and layers, enabling complex visual effects.

Helium Acceleration - Added simple ARM Helium acceleration for software rendering, bringing SIMD performance benefits to Cortex-M processors with MVE extensions.

Vector Graphics - Added API to append arcs to vector paths, stroke path support in VG-Lite, and improved path quality settings.

ARGB8565 Color Format - New hybrid color format combining 8-bit alpha with 5-6-5 RGB, optimizing memory usage for semi-transparent graphics.

Platform and Driver Support#

Espressif FreeRTOS - Added official support for Espressif's FreeRTOS flavor, improving compatibility with ESP32 ecosystem.

libinput/xkb Driver - New Linux input driver supporting modern input stacks with full keyboard layout handling.

LittleFS Integration - Implemented filesystem driver support for LittleFS, enabling flash-friendly file operations on embedded systems.

Display Utilities - Added screenshot-to-file functionality, making it easier to capture and debug UI states.

Cache and Memory Management#

Unified Cache Framework - Refactored cache system with new APIs for better control over image, glyph, and resource caching.

Independent Image Cache Heap - NuttX users can now configure a dedicated heap for image caching, improving memory isolation.

Image Header Caching - Added ability to drop image header cache separately, optimizing memory usage for large image sets.

Developer Tools#

Profiler Multithreading - Added multithreading support to the performance profiler with dedicated test cases.

Binary Image Viewer - New tool to inspect binary image data, useful for debugging custom image formats.

Systrace Integration - Enhanced trace filtering with systrace file format support.

FreeType and Font Rendering#

JPEG EXIF Support - Added parsing of EXIF orientation data in JPEG images loaded via libjpeg-turbo.

FreeType Italic Tilt - Configurable tilt angle for italic font rendering with FreeType.

FreeType Stress Tests - Comprehensive test suite for validating font rendering under load.

Performance Improvements#

RGB565 Blending Optimization - Minor but measurable speedup in 16-bit color blending operations, benefiting all software-rendered displays.

Simplified Layer Clearing - More efficient layer clear method reduces overhead in multi-layer rendering scenarios.

VG-Lite Asynchronous Rendering - GPU operations can now execute asynchronously, dramatically improving throughput on NXP i.MX RT and other VG-Lite platforms.

Bug Fixes#

This release includes over 150 bug fixes across all subsystems. Key areas of improvement:

Rendering and Display#

  • Fixed non-antialiased RGB565A8 transformation artifacts
  • Corrected invalidation of scaled image areas
  • Fixed ARGB8888 buffer clearing in DIRECT mode
  • Resolved RGB565 rendering with LV_BLEND_MODE_MULTIPLY
  • Fixed incomplete layer drawing in VG-Lite

Input Handling#

  • Fixed unintended click triggers on object deletion
  • Corrected scroll object clearing on release
  • Fixed keyboard last-key tracking

Widgets#

  • Fixed imagebutton clipping on mid part
  • Corrected msgbox footer getter
  • Fixed music demo previous button click area
  • Resolved calendar crash with no default date
  • Fixed tileview position update on size change

Memory and Caching#

  • Fixed potential use-after-free in VG-Lite linear images
  • Corrected TLSF memory pool handling for >4GB allocations
  • Fixed SDL buffer memory leak on display delete
  • Resolved image decoder close issues

Platform-Specific#

  • Windows: Improved graphics performance with high-resolution tick count
  • DRM: Default to XRGB8888 framebuffer format
  • FatFS: Fixed directory end-of-entries detection
  • NuttX: Multiple driver and build fixes
  • X11: Fixed assertion on display delete

Documentation Updates#

  • Updated display-related documentation for v9 API changes
  • Added STM32 ST7789 step-by-step guide with code examples
  • Improved PC simulator setup documentation (SDL manual setup)
  • Removed deprecated SquareLine Studio references
  • Enhanced contributing guide with feature development workflow
  • Added Chinese translation jump links
  • Documented lv_refr_now function usage

Breaking Changes#

None. Version 9.1.0 maintains full API compatibility with 9.0.0.

Migration Notes#

If upgrading from v9.0, simply update your dependency. No code changes are required.

If upgrading from v8.x, see the v9.0 migration guide for breaking changes and API updates introduced in the v9.0 release.

Getting Started#

# Update via Git
git checkout v9.1.0
 
# Update via PlatformIO
platformio pkg update
 
# Update via ESP-IDF component manager
idf.py update-dependencies
bash

Full release notes and changelog: GitHub Release v9.1.0


Special thanks to the 100+ contributors who submitted code, bug reports, and documentation improvements for this release.

About the author

Gabor Kiss-Vamosi
Gabor Kiss-Vamosi

CEO & Creator of LVGL

Founder and lead developer of LVGL, the open-source embedded graphics library used in millions of devices worldwide.

Meet the people behind the blog

Discover the talented writers sharing their knowledge about LVGL

View Authors

Subscribe to our newsletter to not miss any news about LVGL. We will send maximum of 2 mails per month.

LVGL

LVGL is the most popular free and open source embedded graphics library targeting any MCU, MPU and display type to build beautiful UIs.

We also do services like UI design, implementation and consulting.

© 2026 LVGL. All rights reserved.
YouTubeGitHubLinkedIn