docs(integration): reorganize the files (#8701)
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
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
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
Close stale issues and PRs / stale (push) Has been cancelled

This commit is contained in:
Gabor Kiss-Vamosi
2025-08-29 20:14:04 +02:00
committed by GitHub
parent 859559cfaf
commit 2e8f375791
112 changed files with 512 additions and 389 deletions
+12 -7
View File
@@ -1,10 +1,15 @@
======
Boards
======
.. _boards:
=============
Board Support
=============
.. toctree::
:maxdepth: 2
:class: toctree-1-deep
:maxdepth: 1
toradex
riverdi
viewe
lvgl_supported
partner_supported
manufacturers/index
@@ -0,0 +1,3 @@
==============
LVGL Supported
==============
@@ -0,0 +1,6 @@
====
ICOP
====
TODO
@@ -0,0 +1,11 @@
======
Boards
======
.. toctree::
:maxdepth: 2
icop
toradex
riverdi
viewe
@@ -2,12 +2,12 @@
Viewe
=====
`Viewe <https://viewedisplay.com/>`__ specializes in comprehensive display solutions
for more than 10 Years with remarkable capability of software and hardware R&D,
`Viewe <https://viewedisplay.com/>`__ specializes in comprehensive display solutions
for more than 10 Years with remarkable capability of software and hardware R&D,
factory manufacturing and sales service. Viewe not only offers one-stop
`bare display and touch solutions <https://viewedisplay.com/display-solutions/>`_
but also `embedded smart displays <https://viewedisplay.com/smart-solutions/>`_
with standard productions and tailored customization to develop your concepts
`bare display and touch solutions <https://viewedisplay.com/display-solutions/>`_
but also `embedded smart displays <https://viewedisplay.com/smart-solutions/>`_
with standard productions and tailored customization to develop your concepts
to reality.
Products Portfolio:
@@ -37,7 +37,7 @@ IOT AIOT Smart Displays
The Viewe IOT AIOT Smart Displays are a series of displays that use ESP32
microcontrollers with integrated multi-modal interactions of GUI/voice/camera, ML/AI
edge computing, and seamless connectivity. UART/RS232/RS485/CAN Interfaces and
redundant IO interfaces are included to facilitate extended usage. LVGL/Arduino/ESP-IDF
redundant IO interfaces are included to facilitate extended usage. LVGL/Arduino/ESP-IDF
is well-suited to these boards.
lv_port_viewe_7_espidf
@@ -0,0 +1,3 @@
=================
Partner Supported
=================
@@ -1,6 +1,6 @@
=============
Build Systems
=============
====================
Build System Support
====================
.. toctree::
@@ -1,13 +0,0 @@
============
Chip vendors
============
.. toctree::
:maxdepth: 2
alif
arm
espressif
nxp
renesas/index
stm32
@@ -0,0 +1,3 @@
==========
Dave2D GPU
==========
@@ -0,0 +1,12 @@
.. _alif:
====
Alif
====
.. toctree::
:maxdepth: 2
overview
dave2d_gpu
@@ -1,8 +1,8 @@
.. _alif:
.. _alif_overview:
====
Alif
====
========
Overview
========
Alif Semiconductor is a next-generation chip vendor making chips that come in a
variety of configurations. Their chips are designed to excel at multiple aspects
@@ -0,0 +1,12 @@
.. _arm:
===
Arm
===
.. toctree::
:maxdepth: 2
overview
arm2d
@@ -1,8 +1,8 @@
.. _arm:
.. _arm_overview:
===
Arm
===
========
Overview
========
Arm is a leading semiconductor and software design company, renowned for creating the Cortex-M microcontroller (MCU) cores and Cortex-A/R (MPU) processor cores, which are integral to a wide range of devices. These cores are at the heart of many embedded systems, powering chips from industry giants such as STMicroelectronics, NXP, and Renesas. Arm's energy-efficient designs are used in billions of devices worldwide, from microcontrollers to smartphones and servers. By licensing their processor designs, Arm enables a broad ecosystem of partners to develop customized solutions optimized for performance, power, and size. Arm's architecture is highly compatible with various operating systems and software libraries, including LVGL, making it a versatile choice for developers creating efficient, high-performance graphical user interfaces.
@@ -0,0 +1,12 @@
.. _espressif:
=========
Espressif
=========
.. toctree::
:maxdepth: 2
overview
ppa_gpu
@@ -1,6 +1,6 @@
=============================
Espressif (ESP32 Chip Series)
=============================
========
Overview
========
LVGL can be used and configured as standard `ESP-IDF <https://github.com/espressif/esp-idf>`__ component.
@@ -201,8 +201,8 @@ Support for Pixel Processing Accelerator
----------------------------------------
Some ESP32 chip series, like the ESP32-P4 support the Pixel Processing Accelerator hardware (PPA), which is capable of
speeding-up the filling and image blending operations, this peripheral works with the
DMA-2D hardware which is responsible to move the input/output buffers into/from the PPA processing engine.
speeding-up the filling and image blending operations, this peripheral works with the
DMA-2D hardware which is responsible to move the input/output buffers into/from the PPA processing engine.
Supported devices
-----------------
@@ -216,7 +216,7 @@ Using the PPA on your ESP-IDF project
-------------------------------------
LVGL supports, in experimental level, the filling and the image blending
acceleration through the PPA, the user can enable it inside their ``sdkconfig.default`` by
acceleration through the PPA, the user can enable it inside their ``sdkconfig.default`` by
adding the following option to enable the PPA draw unit in conjunction to the software render:
.. code:: c
@@ -230,5 +230,5 @@ Limitations
-----------
Please notice that the PPA is at experimental level where some performance gains are expected on drawing tasks related
to rectangle copy or filling, while for image blending, even though it is operational, there is no signifcant gains,
to rectangle copy or filling, while for image blending, even though it is operational, there is no significant gains,
the initial cause for that according to the PPA section from reference manual is due to the DMA-2D memory bandwidth.
@@ -0,0 +1,15 @@
.. _chip_vendors:
===================
Chip Vendor Support
===================
.. toctree::
:maxdepth: 2
alif/index
arm/index
espressif/index
nxp/index
renesas/index
stm32/index
@@ -9,7 +9,7 @@ Overview
eLCDIF is a peripheral that is provided on some of the NXP devices capable to drive display panels through
the RGB interface, it supports different color depths and, on MIPI-DSI capable devices, its output ca be
directed to the MIPI display physical interface. The LVGL's NXP eLCDIF driver is responsible to bind the
NXP MCUx SDK low-level driver to the LVGL display subsystem.
NXP MCUx SDK low-level driver to the LVGL display subsystem.
Prerequisites
@@ -21,21 +21,21 @@ Prerequisites
Usage
-----
The LVGL driver for eLCDIF assumes the platform already configured the display low-level driver,
The LVGL driver for eLCDIF assumes the platform already configured the display low-level driver,
set the pin-mux, clocks, etc. It also requires the base address of the peripheral and configuration
structure already set.
The following code demonstrates using the diver in :cpp:enumerator:`LV_DISPLAY_RENDER_MODE_DIRECT` mode,
The following code demonstrates using the diver in :cpp:enumerator:`LV_DISPLAY_RENDER_MODE_DIRECT` mode,
please notice in this mode of operation the application is responsible to allocate the framebuffers space
and pass them to the display, in the example below `buffer1` and `buffer2` are the current and the next
buffers that will be copied to the display screen, being swapped at each flush operation (managed
buffers that will be copied to the display screen, being swapped at each flush operation (managed
internally by the display driver). Also observe, in direct mode, each buffer should have the space at
least to hold at least the size of the screen, that is it, the heigh times the width times the bytes
least to hold at least the size of the screen, that is it, the height times the width times the bytes
for a pixel (which is application dependent or display supported), on the code below this size is represented
by `buf_size`.
.. code-block:: c
elcdif_rgb_mode_config_t config;
ELCDIF_RgbModeGetDefaultConfig(&config);
@@ -0,0 +1,15 @@
.. _nxp:
===
NXP
===
.. toctree::
:maxdepth: 2
overview
elcdif
pxp_gpu
vg_lite_gpu
g2d_gpu
@@ -1,6 +1,6 @@
===
NXP
===
========
Overview
========
.. |deg| unicode:: U+000B0 .. DEGREE SIGN
@@ -0,0 +1,3 @@
==========
Dave2D GPU
==========
@@ -13,3 +13,5 @@ Renesas
rzg_family
rza_family
supported_boards
glcdc
dave2d_gpu
@@ -76,9 +76,9 @@ Run the Project
On EK-RA8D1 boards, the ``SW1`` DIP switch 7 (in the middle of the board) should be
ON, all others are OFF.
Also note opening a project previously built on top of the FSP prior to v6.0 will trigger
a dialog asking whether the user wants to migrate to the new FSP v6.0. The migration will
a dialog asking whether the user wants to migrate to the new FSP v6.0. The migration will
not break the project,.
@@ -0,0 +1,15 @@
.. _stm32:
=====
STM32
=====
.. toctree::
:maxdepth: 2
overview
ltdc
nema_gfx_gpu
dma2d_gpu
lcd_stm32_guide
@@ -39,7 +39,7 @@ and `lv_port_stm32u5g9j-dk2 <https://github.com/lvgl/lv_port_stm32u5g9j-dk2>`__
is configured to link the "cortex_m33_NemaPVG" binaries when building.
"cortex_m33_revC" works on all STM32 m33 devices with a Nema core while "cortex_m33_NemaPVG"
additionally supports the tesselation and matrix multiplication acceleration that
additionally supports the tessellation and matrix multiplication acceleration that
the STM32 U5F and U5G Nema cores are capable of.
With a different STM32CubeIDE project, you can configure the libraries to be linked
@@ -1,6 +1,6 @@
=====
STM32
=====
========
Overview
========
LVGL Can be added to `STM32CubeIDE <https://www.st.com/en/development-tools/stm32cubeide.html>`__
in a similar fashion to any other Eclipse-based IDE.
@@ -236,7 +236,7 @@ A minimal example using STM32CubeIDE, HAL, and CMSISv1 (FreeRTOS).
- Finally, create the ``my_flush_cb`` function to output the frame
buffer to your LCD. The specifics of this function will vary
depending on which MCU features you are using. Below is a simple
depending on which MCU features you are using. Below is a simple
example of a parallel LCD interface, adjust this to suit your specific
display and MCU capabilities.
@@ -1,18 +0,0 @@
=======
Display
=======
.. toctree::
:maxdepth: 2
fbdev
ft81x
gen_mipi
ili9341
lcd_stm32_guide
nxp_elcdif
renesas_glcdc
st_ltdc
st7735
st7789
st7796
@@ -1,18 +0,0 @@
.. _drivers:
=======
Drivers
=======
.. toctree::
:maxdepth: 2
display/index
libinput
opengles
touchpad/index
wayland
windows
X11
uefi
sdl
@@ -1,5 +0,0 @@
======
FT6X36
======
TODO
@@ -1,9 +0,0 @@
========
Touchpad
========
.. toctree::
:maxdepth: 2
evdev
ft6x36
@@ -0,0 +1,3 @@
===
DRM
===
@@ -1,12 +1,12 @@
==================
Linux Evdev Driver
==================
=====
evdev
=====
Overview
--------
The Linux event device (evdev) is a hardware-independent API that gives access to input events from,
for example, a mouse or touchscreen. It is exposed via the Linux device file system interface.
The Linux event device (evdev) is a hardware-independent API that gives access to input events from,
for example, a mouse or touchscreen. It is exposed via the Linux device file system interface.
Prerequisites
-------------
@@ -16,7 +16,7 @@ Your system has an input device configured (usually under ``/dev/input/`` such a
Configuring the driver
----------------------
Enable the Linux LVGL evdev driver support in ``lv_conf.h``.
Enable the Linux LVGL evdev driver support in ``lv_conf.h``.
.. code-block:: c
@@ -26,35 +26,35 @@ Usage
-----
To set up an event input, first create an input device with ``lv_edev_create`` setting it to the correct Linux event device.
Then link this to the LVGL display with ``lv_indev_set_display``.
Then link this to the LVGL display with ``lv_indev_set_display``.
.. code-block:: c
lv_indev_t *touch = lv_evdev_create(LV_INDEV_TYPE_POINTER, "/dev/input/event0");
lv_indev_set_display(touch, disp);
Ensure that an ``lv_display_t`` object is already created for ``disp``. An example for this is shown below, using the Linux framebuffer driver.
Ensure that an ``lv_display_t`` object is already created for ``disp``. An example for this is shown below, using the Linux framebuffer driver.
.. code-block:: c
lv_display_t * disp = lv_linux_fbdev
lv_linux_fbdev_set_file(disp, "/dev/fb0");_create();
lv_display_t * disp = lv_linux_fbdev_create();
lv_linux_fbdev_set_file(disp, "/dev/fb0");
Locating your input device
--------------------------
If you can't determine your input device, first run
If you can't determine your input device, first run
```$cat /proc/bus/input/devices```
This should show input devices and there will be entries with the word ``event`` which give a clue as to the device to use eg. ``event1`` would be ``/dev/input/event1``.
This should show input devices and there will be entries with the word ``event`` which give a clue as to the device to use eg. ``event1`` would be ``/dev/input/event1``.
You can use ``evtest`` to show data from that event source to see if it is actually the one you want.
Try:
Try:
``$evtest /dev/input/event1`` replacing ``eventX`` with your event device from above.
``$evtest /dev/input/event1`` replacing ``eventX`` with your event device from above.
Automatic input device discovery
--------------------------------
@@ -7,7 +7,7 @@ Overview
The Linux framebuffer (fbdev) is a linux subsystem used to display graphics. It is a hardware-independent API that gives user space software
access to the framebuffer (the part of a computer's video memory containing a current video frame) using only the Linux kernel's own basic
facilities and its device file system interface, avoiding the need for libraries that implement video drivers in user space.
facilities and its device file system interface, avoiding the need for libraries that implement video drivers in user space.
Prerequisites
-------------
@@ -43,8 +43,8 @@ be enabled unless really needed.
Hide the cursor
---------------
You may encounter a blinking cursor on the screen. The method to hide it
varies depending on the platform. For instance, here is how it can be done
You may encounter a blinking cursor on the screen. The method to hide it
varies depending on the platform. For instance, here is how it can be done
on a Raspberry Pi:
1. Edit ``/boot/cmdline.txt`` file.
@@ -56,27 +56,27 @@ Common mistakes
Default resolution issue
^^^^^^^^^^^^^^^^^^^^^^^^
When the Linux kernel initializes, it sets up subsystems like the framebuffer
(fbdev) to manage display output. If an HDMI display is connected, the kernel
detects it and allocates a portion of RAM as the framebuffer, which holds the
When the Linux kernel initializes, it sets up subsystems like the framebuffer
(fbdev) to manage display output. If an HDMI display is connected, the kernel
detects it and allocates a portion of RAM as the framebuffer, which holds the
pixel data for rendering images.
However, a common issue arises when the display is not powered on during the
boot process. If the board is powered on before the screen, the kernel may
incorrectly configure the framebuffer resolution. As a result, both the visible
However, a common issue arises when the display is not powered on during the
boot process. If the board is powered on before the screen, the kernel may
incorrectly configure the framebuffer resolution. As a result, both the visible
and virtual resolutions can be incorrect, leading to display problems.
This issue often occurs with HDMI connections where the display is powered up
This issue often occurs with HDMI connections where the display is powered up
after the system has already booted.
The following command outputs the current settings of the specified framebuffer
The following command outputs the current settings of the specified framebuffer
device, such as resolution, pixel depth, and timings.
.. code-block::
fbset -fb /dev/fb0
.. code-block::
To prevent display-related issues, it is recommended to ensure all devices,
including the HDMI display, are connected and powered on before powering up
fbset -fb /dev/fb0
To prevent display-related issues, it is recommended to ensure all devices,
including the HDMI display, are connected and powered on before powering up
the board.
@@ -1,8 +1,8 @@
.. _opengl_es_driver:
===============================
OpenGL ES Display/Inputs Driver
===============================
====
GLFW
====
Overview
--------

Some files were not shown because too many files have changed in this diff Show More