docs(intro): improve initial presentation of LVGL... (#8597)
Arduino Lint / lint (push) Has been cancelled
Build Examples with C++ Compiler / build-examples (push) Has been cancelled
MicroPython CI / Build esp32 port (push) Has been cancelled
MicroPython CI / Build rp2 port (push) Has been cancelled
MicroPython CI / Build stm32 port (push) Has been cancelled
MicroPython CI / Build unix port (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_NORMAL_8BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_SDL - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_VG_LITE - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_VG_LITE - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_VG_LITE - gcc - Windows (push) Has been cancelled
C/C++ CI / Build ESP IDF ESP32S3 (push) Has been cancelled
C/C++ CI / Run tests with 32bit build (push) Has been cancelled
C/C++ CI / Run tests with 64bit build (push) Has been cancelled
BOM Check / bom-check (push) Has been cancelled
Verify that lv_conf_internal.h matches repository state / verify-conf-internal (push) Has been cancelled
Verify the widget property name / verify-property-name (push) Has been cancelled
Verify code formatting / verify-formatting (push) Has been cancelled
Compare file templates with file names / template-check (push) Has been cancelled
Build docs / build-and-deploy (push) Has been cancelled
Test API JSON generator / Test API JSON (push) Has been cancelled
Check Makefile / Build using Makefile (push) Has been cancelled
Check Makefile for UEFI / Build using Makefile for UEFI (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/benchmark_results_comment/test.sh) (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/filter_docker_logs/test.sh) (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/serialize_results/test.sh) (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark 32b - lv_conf_perf32b (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark 64b - lv_conf_perf64b (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Save PR Number (push) Has been cancelled
Hardware Performance Test / Hardware Performance Benchmark (push) Has been cancelled
Hardware Performance Test / HW Benchmark - Save PR Number (push) Has been cancelled
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_32B - Ubuntu (push) Has been cancelled
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_64B - Ubuntu (push) Has been cancelled
Port repo release update / run-release-branch-updater (push) Has been cancelled
Verify Font License / verify-font-license (push) Has been cancelled
Verify Kconfig / verify-kconfig (push) Has been cancelled

This commit is contained in:
Victor Wheeler
2025-07-23 11:24:01 -06:00
committed by GitHub
parent f5fe4f2207
commit 2072d87b37
4 changed files with 57 additions and 65 deletions
-26
View File
@@ -94,29 +94,3 @@ Appendix
CHANGELOG
API/index
.. The below toctree directive is merely to eliminate 2 Sphinx warnings that these 2
files are "not included in any toctree". Their sole purpose is so that any reader
noticing the URL structure and (as an experiment) browsing to
https://docs.lvgl.io/master/intro/
or
https://docs.lvgl.io/master/details/
will not be met by a 404 (File not found) error from the docs server.
Note: this must be accompanied by "'includehidden': False" in `conf.py` in the
`html_theme_options` dictionary so that these 2 files do not appear as redundant
entries in the top-level navigation tree. (This is the only toctree directive
with the :hidden: attribute.)
.. Commenting out the below for Furo theme.
.. toctree::
:hidden:
intro/index
details/index
+45 -5
View File
@@ -4,19 +4,59 @@
Introduction
============
LVGL (Light and Versatile Graphics Library) is a free and open-source graphics
LVGL (Light and Versatile Graphics Library) is a free and open-source C graphics
library providing everything you need to create an embedded GUI with easy-to-use
graphical elements, beautiful visual effects, and a low memory footprint.
You :ref:`add LVGL to your project <adding_lvgl_to_your_project>`, provide it with
inputs and the method for pixels to flow to the display panel(s), and LVGL does the
heavy lifting in between.
LVGL provides the "GUI engine" that handles all end-user interaction with your
application, including not only drawing the contents of the display and accepting
user input and turning it into events "catchable" by the application, but also
providing 30+ built-in widgets, 100+ style properties, scrolling, animations,
advanced software rendering, built-in GPU support from MCUs to OpenGL, and much more.
The combination of these enable you to efficiently develop UIs without having to
re-invent the wheel.
Using LVGL in a firmware project effectively reduces the GUI-developer's job to
defining the GUI and furnishing it with appropriate event hooks to carry out the
valuable work of the GUI.
LVGL can use GUIs that are 100% defined in C code you write (for which any updates to
the GUI require modifying that C code and re-flashing the firmware), or GUI
definitions provided in XML files (for which updates to the GUI require only
modifying the XML files that define the GUI for that firmware), or any combination of
these two that suits your project.
.. _key_features:
Key Features
************
- Powerful building blocks such as :ref:`buttons, charts, lists, sliders, images <widgets>`, etc.
- Advanced graphics with animations, anti-aliasing, opacity, smooth scrolling
- Various input devices such as touchpad, mouse, keyboard, encoder, etc.
- Multi-language support with UTF-8 encoding
- Multi-display support, even with mixed color formats
- Fully customizable graphic elements with CSS-like styles
- Hardware independent: use with any microcontroller or display
- Scalable: able to operate with little memory (64 kB Flash, 16 kB RAM)
- :ref:`OS <threading>`, external memory and :ref:`GPU <draw>` are supported but not required
- Single frame buffer operation even with advanced graphic effects
- Written in C for maximal compatibility (C++ compatible)
- :ref:`Simulator <simulator>` to start embedded GUI design on a PC without embedded hardware
- User code developed under simulator can be shared with firmware to make UI development more efficient.
- Binding to :ref:`MicroPython`
- Tutorials, examples, themes for rapid GUI design
- Documentation is available online
- Free and open-source under MIT license
- Free for commercial projects
.. toctree::
:maxdepth: 2
key_features
requirements
license
faq
@@ -1,25 +0,0 @@
.. _key_features:
============
Key features
============
- Powerful building blocks such as :ref:`buttons, charts, lists, sliders, images <widgets>`, etc.
- Advanced graphics with animations, anti-aliasing, opacity, smooth scrolling
- Various input devices such as touchpad, mouse, keyboard, encoder, etc.
- Multi-language support with UTF-8 encoding
- Multi-display support, even with mixed color formats
- Fully customizable graphic elements with CSS-like styles
- Hardware independent: use with any microcontroller or display
- Scalable: able to operate with little memory (64 kB Flash, 16 kB RAM)
- :ref:`OS <threading>`, external memory and :ref:`GPU <draw>` are supported but not required
- Single frame buffer operation even with advanced graphic effects
- Written in C for maximal compatibility (C++ compatible)
- :ref:`Simulator <simulator>` to start embedded GUI design on a PC without embedded hardware
- User code developed under simulator can be shared with firmware to make UI development more efficient.
- Binding to :ref:`MicroPython`
- Tutorials, examples, themes for rapid GUI design
- Documentation is available online
- Free and open-source under MIT license
+12 -9
View File
@@ -11,17 +11,20 @@ run LVGL. The minimal requirements are:
* > 16 MHz clock speed is recommended
* Flash/ROM: > 64 kB for the very essential components (> 180 kB is recommended)
* RAM:
* Static RAM usage: ~2 kB depending on the used features and Widget types
* stack: > 2kB (> 8 kB recommended)
* Dynamic data (heap): > 2 KB (> 48 kB is recommended if using many GUI Widgets).
Set by :c:macro:`LV_MEM_SIZE` in ``lv_conf.h``.
* Display buffer: > *"Horizontal resolution"* pixels (> 10 X *"Horizontal resolution"* is recommended)
* One frame buffer in the MCU or in an external display controller
* Static RAM usage: ~2 kB depending on the used features and Widget types
* stack: > 2kB (> 8 kB recommended)
* Dynamic data (heap): > 2 KB (> 48 kB is recommended if using many GUI Widgets).
Set by :c:macro:`LV_MEM_SIZE` in ``lv_conf.h``.
* Display buffer: > *"Horizontal resolution"* pixels (> 10 X *"Horizontal resolution"* is recommended)
* One frame buffer in the MCU or in an external display controller
* C99 or newer compiler
* Basic C (or C++) knowledge:
* `pointers <https://www.tutorialspoint.com/cprogramming/c_pointers.htm>`__.
* `structs <https://www.tutorialspoint.com/cprogramming/c_structures.htm>`__.
* `callbacks <https://www.geeksforgeeks.org/callbacks-in-c/>`__.
* `pointers <https://www.tutorialspoint.com/cprogramming/c_pointers.htm>`__.
* `structs <https://www.tutorialspoint.com/cprogramming/c_structures.htm>`__.
* `callbacks <https://www.geeksforgeeks.org/callbacks-in-c/>`__.
.. note::
*Memory usage may vary depending on architecture, compiler and build options.*