LvglPkg - Exploring Modern Firmware User Interfaces with LVGL and EDK II

Hello everyone,

I would like to share a project that I have been working on recently:

LvglPkg is an EDK II package that integrates the LVGL graphics library into the UEFI environment.

The project started as an experiment to investigate whether modern embedded UI frameworks could be used to build richer firmware user interfaces beyond the traditional SetupBrowser approach.

While EDK II already provides several mechanisms for building setup applications, most firmware interfaces today are still constrained by workflows and design concepts that have remained largely unchanged for many years. My goal was to explore what a modern firmware UI stack might look like when built on top of a widely adopted graphics framework.

Current work includes:

  • LVGL integration into EDK II
  • Graphics output backend implementation for UEFI
  • Input handling integration
  • LVGL application support within firmware
  • Experiments with modern firmware user interface concepts

As part of this effort, I have also been experimenting with an LVGL-based alternative to DisplayEngineDxe. The intention is not to replace existing EDK II solutions, but to explore whether a more flexible rendering and widget framework could simplify the development of richer firmware interfaces, especially on higher-resolution displays.

Some areas that I find particularly interesting are:

  • Modern BIOS/Setup user interface concepts
  • Responsive layouts for different display resolutions
  • Improved visual consistency across firmware applications
  • Reusable UI components and widgets
  • Alternative rendering architectures for firmware environments

The repository is still under active development and should be considered experimental. There are many areas that can be improved, and I would greatly appreciate feedback from the community regarding architecture, integration approaches, portability, performance considerations, and potential use cases.

Repository:

Feedback, suggestions, and contributions are welcome.

Thanks,

Hamit Can Karaca

1 Like

Hi @hamitcan99,

Congrats, it’s an interesting project.

1 Like

It looks really nice!

Did you know that LVGL also has a built-in UEFI driver?

Is it something you can use?