lv_conf.h¶

Configuration file for v9.5.0-dev

Defines

LV_COLOR_DEPTH¶

Color depth: 1 (I1), 8 (L8), 16 (RGB565), 24 (RGB888), 32 (XRGB8888)

LV_USE_STDLIB_MALLOC¶

Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally

LV_USE_STDLIB_STRING¶

Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally

LV_USE_STDLIB_SPRINTF¶

Possible values

  • LV_STDLIB_BUILTIN: LVGL's built in implementation

  • LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc

  • LV_STDLIB_MICROPYTHON: MicroPython implementation

  • LV_STDLIB_RTTHREAD: RT-Thread implementation

  • LV_STDLIB_CUSTOM: Implement the functions externally

LV_STDINT_INCLUDE¶
LV_STDDEF_INCLUDE¶
LV_STDBOOL_INCLUDE¶
LV_INTTYPES_INCLUDE¶
LV_LIMITS_INCLUDE¶
LV_STDARG_INCLUDE¶
LV_MEM_SIZE¶

Size of memory available for lv_malloc() in bytes (>= 2kB) [bytes]

LV_MEM_POOL_EXPAND_SIZE¶

Size of the memory expand for lv_malloc() in bytes

LV_MEM_ADR¶

Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too. 0: unused

LV_DEF_REFR_PERIOD¶

Default display refresh, input device read and animation step period. [ms]

LV_DPI_DEF¶

Default Dots Per Inch. Used to initialize default sizes such as widgets sized, style paddings. (Not so important, you can adjust it to modify default sizes and spaces.) [px/inch]

LV_USE_OS¶

Select operating system to use. Possible options:

  • LV_OS_NONE

  • LV_OS_PTHREAD

  • LV_OS_FREERTOS

  • LV_OS_CMSIS_RTOS2

  • LV_OS_RTTHREAD

  • LV_OS_WINDOWS

  • LV_OS_MQX

  • LV_OS_SDL2

  • LV_OS_CUSTOM

LV_OS_CUSTOM_INCLUDE¶
LV_USE_FREERTOS_TASK_NOTIFY¶
LV_DRAW_BUF_STRIDE_ALIGN¶

Align stride of all layers and images to this bytes

LV_DRAW_BUF_ALIGN¶

Align start address of draw_buf addresses to this bytes

LV_DRAW_TRANSFORM_USE_MATRIX¶

Using matrix for transformations. Requirements:

  • LV_USE_MATRIX = 1.

  • Rendering engine needs to support 3x3 matrix transformations.

LV_DRAW_LAYER_SIMPLE_BUF_SIZE¶

The target buffer size for simple layer chunks. [bytes]

LV_DRAW_LAYER_MAX_MEMORY¶

No limit by default [bytes]

LV_DRAW_THREAD_STACK_SIZE¶

Stack size of drawing thread. NOTE: If FreeType or ThorVG is enabled, it is recommended to set it to 32KB or more. [bytes]

LV_DRAW_THREAD_PRIO¶

Thread priority of the drawing task. Higher values mean higher priority. Can use values from lv_thread_prio_t enum in lv_os.h: LV_THREAD_PRIO_LOWEST, LV_THREAD_PRIO_LOW, LV_THREAD_PRIO_MID, LV_THREAD_PRIO_HIGH, LV_THREAD_PRIO_HIGHEST Make sure the priority value aligns with the OS-specific priority levels. On systems with limited priority levels (e.g., FreeRTOS), a higher value can improve rendering performance but might cause other tasks to starve.

LV_USE_DRAW_SW¶
LV_DRAW_SW_SUPPORT_RGB565¶
LV_DRAW_SW_SUPPORT_RGB565_SWAPPED¶
LV_DRAW_SW_SUPPORT_RGB565A8¶
LV_DRAW_SW_SUPPORT_RGB888¶
LV_DRAW_SW_SUPPORT_XRGB8888¶
LV_DRAW_SW_SUPPORT_ARGB8888¶
LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED¶
LV_DRAW_SW_SUPPORT_L8¶
LV_DRAW_SW_SUPPORT_AL88¶
LV_DRAW_SW_SUPPORT_A8¶
LV_DRAW_SW_SUPPORT_I1¶
LV_DRAW_SW_I1_LUM_THRESHOLD¶
LV_DRAW_SW_DRAW_UNIT_CNT¶

Set number of draw units.

  • > 1 requires operating system to be enabled in LV_USE_OS.

  • > 1 means multiple threads will render the screen in parallel.

LV_USE_DRAW_ARM2D_SYNC¶

Use Arm-2D to accelerate software (sw) rendering.

LV_USE_NATIVE_HELIUM_ASM¶

Enable native helium assembly to be compiled.

LV_DRAW_SW_COMPLEX¶

  • 0: Use a simple renderer capable of drawing only simple rectangles with gradient, images, text, and straight lines only.

  • 1: Use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too.

LV_DRAW_SW_SHADOW_CACHE_SIZE¶

Allow buffering some shadow calculation. LV_DRAW_SW_SHADOW_CACHE_SIZE is the maximum shadow size to buffer, where shadow size is shadow_width + radius. Caching has LV_DRAW_SW_SHADOW_CACHE_SIZE^2 RAM cost.

LV_DRAW_SW_CIRCLE_CACHE_SIZE¶

Set number of maximally-cached circle data. The circumference of 1/4 circle are saved for anti-aliasing. radius * 4 bytes are used per circle (the most often used radiuses are saved).

  • 0: disables caching

LV_USE_DRAW_SW_ASM¶
LV_DRAW_SW_ASM_CUSTOM_INCLUDE¶
LV_USE_DRAW_SW_COMPLEX_GRADIENTS¶

Enable drawing complex gradients in software: linear at an angle, radial or conical

LV_USE_NEMA_GFX¶
LV_USE_NEMA_HAL¶

Select which NemaGFX HAL to use. Possible options:

  • LV_NEMA_HAL_CUSTOM

  • LV_NEMA_HAL_STM32

LV_NEMA_STM32_HAL_INCLUDE¶
LV_USE_NEMA_VG¶
LV_NEMA_GFX_MAX_RESX¶
LV_NEMA_GFX_MAX_RESY¶
LV_USE_PXP¶

Use NXP's PXP on iMX RTxxx platforms.

LV_USE_DRAW_PXP¶

Use PXP for drawing.

LV_USE_ROTATE_PXP¶

Use PXP to rotate display.

LV_USE_PXP_ASSERT¶

Enable PXP asserts.

LV_USE_G2D¶

Use NXP's G2D on MPU platforms.

LV_USE_DRAW_G2D¶

Use G2D for drawing.

LV_USE_ROTATE_G2D¶

Use G2D to rotate display.

LV_G2D_HASH_TABLE_SIZE¶

Maximum number of buffers that can be stored for G2D draw unit. Includes the frame buffers and assets.

LV_USE_G2D_ASSERT¶

Enable G2D asserts.

LV_USE_DRAW_DAVE2D¶

Use Renesas Dave2D on RA platforms.

LV_USE_DRAW_SDL¶

Draw using cached SDL textures

LV_USE_DRAW_VG_LITE¶

Use VG-Lite GPU.

LV_VG_LITE_USE_GPU_INIT¶

Enable VG-Lite custom external 'gpu_init()' function

LV_VG_LITE_USE_ASSERT¶

Enable VG-Lite assert.

LV_VG_LITE_FLUSH_MAX_COUNT¶

VG-Lite flush commit trigger threshold. GPU will try to batch these many draw tasks.

LV_VG_LITE_USE_BOX_SHADOW¶

Enable border to simulate shadow. NOTE: which usually improves performance, but does not guarantee the same rendering quality as the software.

LV_VG_LITE_GRAD_CACHE_CNT¶

VG-Lite gradient maximum cache number.

Note

The memory usage of a single gradient image is 4K bytes.

LV_VG_LITE_STROKE_CACHE_CNT¶

VG-Lite stroke maximum cache number.

LV_VG_LITE_BITMAP_FONT_CACHE_CNT¶

VG-Lite unaligned bitmap font maximum cache number.

LV_VG_LITE_DISABLE_VLC_OP_CLOSE¶

Remove VLC_OP_CLOSE path instruction (Workaround for NXP)

LV_VG_LITE_DISABLE_BLIT_RECT_OFFSET¶

Disable blit rectangular offset to resolve certain hardware errors.

LV_VG_LITE_DISABLE_LINEAR_GRADIENT_EXT¶

Disable linear gradient extension for some older versions of drivers.

LV_VG_LITE_PATH_DUMP_MAX_LEN¶

Maximum path dump print length (in points)

LV_USE_VG_LITE_DRIVER¶

Enable usage of the LVGL's built-in vg_lite driver

LV_VG_LITE_HAL_GPU_SERIES¶

Used to pick the correct GPU series folder valid options are gc255, gc355 and gc555

LV_VG_LITE_HAL_GPU_REVISION¶

Used to pick the correct GPU revision header it depends on the vendor

LV_VG_LITE_HAL_GPU_BASE_ADDRESS¶

Base memory address of the GPU IP it depends on SoC, default value is for NXP based devices

LV_USE_VG_LITE_THORVG¶

Use ThorVG (a software vector library) as VG-Lite driver to allow testing VGLite on PC Requires: LV_USE_THORVG_INTERNAL or LV_USE_THORVG_EXTERNAL

LV_VG_LITE_THORVG_LVGL_BLEND_SUPPORT¶

Enable LVGL's blend mode support

LV_VG_LITE_THORVG_YUV_SUPPORT¶

Enable YUV color format support

LV_VG_LITE_THORVG_LINEAR_GRADIENT_EXT_SUPPORT¶

Enable Linear gradient extension support

LV_VG_LITE_THORVG_16PIXELS_ALIGN¶

Enable alignment on 16 pixels

LV_VG_LITE_THORVG_BUF_ADDR_ALIGN¶

Buffer address alignment

LV_VG_LITE_THORVG_THREAD_RENDER¶

Enable multi-thread render

LV_USE_DRAW_DMA2D¶

Accelerate blends, fills, etc. with STM32 DMA2D

LV_DRAW_DMA2D_HAL_INCLUDE¶
LV_USE_DRAW_DMA2D_INTERRUPT¶
LV_USE_DRAW_OPENGLES¶

Draw using cached OpenGLES textures. Requires LV_USE_OPENGLES

LV_DRAW_OPENGLES_TEXTURE_CACHE_COUNT¶
LV_USE_PPA¶

Draw using espressif PPA accelerator

LV_USE_PPA_IMG¶
LV_USE_DRAW_EVE¶
LV_DRAW_EVE_EVE_GENERATION¶
LV_DRAW_EVE_WRITE_BUFFER_SIZE¶
LV_USE_DRAW_NANOVG¶

Use NanoVG Renderer

  • Requires LV_USE_NANOVG, LV_USE_MATRIX.

LV_NANOVG_BACKEND¶

Select OpenGL backend for NanoVG:

  • LV_NANOVG_BACKEND_GL2: OpenGL 2.0

  • LV_NANOVG_BACKEND_GL3: OpenGL 3.0+

  • LV_NANOVG_BACKEND_GLES2: OpenGL ES 2.0

  • LV_NANOVG_BACKEND_GLES3: OpenGL ES 3.0+

LV_NANOVG_IMAGE_CACHE_CNT¶

Draw image texture cache count.

LV_NANOVG_LETTER_CACHE_CNT¶

Draw letter texture cache count.

LV_USE_LOG¶

Enable log module

LV_LOG_LEVEL¶

Set value to one of the following levels of logging detail:

  • LV_LOG_LEVEL_TRACE Log detailed information.

  • LV_LOG_LEVEL_INFO Log important events.

  • LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem.

  • LV_LOG_LEVEL_ERROR Log only critical issues, when system may fail.

  • LV_LOG_LEVEL_USER Log only custom log messages added by the user.

  • LV_LOG_LEVEL_NONE Do not log anything.

LV_LOG_PRINTF¶

LV_LOG_USE_TIMESTAMP¶

Set callback to print logs. E.g my_print. The prototype should be void my_print(lv_log_level_t level, const char * buf). Can be overwritten by lv_log_register_print_cb.

  • 1: Enable printing timestamp;

  • 0: Disable printing timestamp.

LV_LOG_USE_FILE_LINE¶

  • 1: Print file and line number of the log;

  • 0: Do not print file and line number of the log.

LV_LOG_TRACE_MEM¶

Enable/disable trace logs in memory operations.

LV_LOG_TRACE_TIMER¶

Enable/disable trace logs in timer operations.

LV_LOG_TRACE_INDEV¶

Enable/disable trace logs in input device operations.

LV_LOG_TRACE_DISP_REFR¶

Enable/disable trace logs in display re-draw operations.

LV_LOG_TRACE_EVENT¶

Enable/disable trace logs in event dispatch logic.

LV_LOG_TRACE_OBJ_CREATE¶

Enable/disable trace logs in object creation (core obj creation plus every widget).

LV_LOG_TRACE_LAYOUT¶

Enable/disable trace logs in flex- and grid-layout operations.

LV_LOG_TRACE_ANIM¶

Enable/disable trace logs in animation logic.

LV_LOG_TRACE_CACHE¶

Enable/disable trace logs in cache operations.

LV_USE_ASSERT_NULL¶

Check if the parameter is NULL. (Very fast, recommended)

LV_USE_ASSERT_MALLOC¶

Checks is the memory is successfully allocated or no. (Very fast, recommended)

LV_USE_ASSERT_STYLE¶

Check if the styles are properly initialized. (Very fast, recommended)

LV_USE_ASSERT_MEM_INTEGRITY¶

Check the integrity of lv_mem after critical operations. (Slow)

LV_USE_ASSERT_OBJ¶

Check the object's type and existence (e.g. not deleted). (Slow)

LV_ASSERT_HANDLER_INCLUDE¶

Add a custom handler when assert happens e.g. to restart MCU.

LV_ASSERT_HANDLER¶

Halt by default

LV_USE_REFR_DEBUG¶

1: Draw random colored rectangles over the redrawn areas.

LV_USE_LAYER_DEBUG¶

1: Draw a red overlay for ARGB layers and a green overlay for RGB layers

LV_USE_PARALLEL_DRAW_DEBUG¶

1: Adds the following behaviors for debugging:

  • Draw overlays with different colors for each draw_unit's tasks.

  • Draw index number of draw unit on white background.

  • For layers, draws index number of draw unit on black background.

LV_ENABLE_GLOBAL_CUSTOM¶
LV_CACHE_DEF_SIZE¶

Default cache size in bytes. Used by image decoders such as lv_lodepng to keep the decoded image in memory. If size is not set to 0, the decoder will fail to decode when the cache is full. If size is 0, the cache function is not enabled and the decoded memory will be released immediately after use.

LV_IMAGE_HEADER_CACHE_DEF_CNT¶

Default number of image header cache entries. The cache is used to store the headers of images The main logic is like LV_CACHE_DEF_SIZE but for image headers.

LV_GRADIENT_MAX_STOPS¶

Number of stops allowed per gradient. Increase this to allow more stops. This adds (sizeof(lv_color_t) + 1) bytes per additional stop.

LV_COLOR_MIX_ROUND_OFS¶

Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.

  • 0: round down,

  • 64: round up from x.75,

  • 128: round up from half,

  • 192: round up from x.25,

  • 254: round up

LV_OBJ_STYLE_CACHE¶

Add 2 x 32-bit variables to each lv_obj_t to speed up getting style properties

LV_USE_OBJ_ID¶

Add id field to lv_obj_t

LV_USE_OBJ_NAME¶

Enable support widget names

LV_OBJ_ID_AUTO_ASSIGN¶

Automatically assign an ID when obj is created

LV_USE_OBJ_ID_BUILTIN¶

Use builtin obj ID handler functions:

  • lv_obj_assign_id: Called when a widget is created. Use a separate counter for each widget class as an ID.

  • lv_obj_id_compare: Compare the ID to decide if it matches with a requested value.

  • lv_obj_stringify_id: Return string-ified identifier, e.g. "button3".

  • lv_obj_free_id: Does nothing, as there is no memory allocation for the ID. When disabled these functions needs to be implemented by the user.

LV_USE_OBJ_PROPERTY¶

Use obj property set/get API.

LV_USE_OBJ_PROPERTY_NAME¶

Enable property name support.

LV_USE_GESTURE_RECOGNITION¶
LV_BIG_ENDIAN_SYSTEM¶

For big endian systems set to 1

LV_ATTRIBUTE_TICK_INC¶

Define a custom attribute for lv_tick_inc function

LV_ATTRIBUTE_TIMER_HANDLER¶

Define a custom attribute for lv_timer_handler function

LV_ATTRIBUTE_FLUSH_READY¶

Define a custom attribute for lv_display_flush_ready function

LV_ATTRIBUTE_MEM_ALIGN_SIZE¶

Align VG_LITE buffers on this number of bytes.

Note

vglite_src_buf_aligned() uses this value to validate alignment of passed buffer pointers.

LV_ATTRIBUTE_MEM_ALIGN¶

Will be added where memory needs to be aligned (with -Os data might not be aligned to boundary by default). E.g. attribute((aligned(4)))

LV_ATTRIBUTE_LARGE_CONST¶

Attribute to mark large constant arrays, for example for font bitmaps

LV_ATTRIBUTE_LARGE_RAM_ARRAY¶

Compiler prefix for a large array declaration in RAM

LV_ATTRIBUTE_FAST_MEM¶

Place performance critical functions into a faster memory (e.g RAM)

LV_EXPORT_CONST_INT(int_value)¶

Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that should also appear on LVGL binding API such as MicroPython. The default value just prevents GCC warning

LV_ATTRIBUTE_EXTERN_DATA¶

Prefix all global extern data with this

LV_USE_FLOAT¶

Use float as lv_value_precise_t

LV_USE_MATRIX¶

Enable matrix support

  • Requires LV_USE_FLOAT = 1

LV_USE_PRIVATE_API¶

Include lvgl_private.h in lvgl.h to access internal data and functions by default

LV_FONT_MONTSERRAT_8¶
LV_FONT_MONTSERRAT_10¶
LV_FONT_MONTSERRAT_12¶
LV_FONT_MONTSERRAT_14¶
LV_FONT_MONTSERRAT_16¶
LV_FONT_MONTSERRAT_18¶
LV_FONT_MONTSERRAT_20¶
LV_FONT_MONTSERRAT_22¶
LV_FONT_MONTSERRAT_24¶
LV_FONT_MONTSERRAT_26¶
LV_FONT_MONTSERRAT_28¶
LV_FONT_MONTSERRAT_30¶
LV_FONT_MONTSERRAT_32¶
LV_FONT_MONTSERRAT_34¶
LV_FONT_MONTSERRAT_36¶
LV_FONT_MONTSERRAT_38¶
LV_FONT_MONTSERRAT_40¶
LV_FONT_MONTSERRAT_42¶
LV_FONT_MONTSERRAT_44¶
LV_FONT_MONTSERRAT_46¶
LV_FONT_MONTSERRAT_48¶
LV_FONT_MONTSERRAT_28_COMPRESSED¶

bpp = 3

LV_FONT_DEJAVU_16_PERSIAN_HEBREW¶

Hebrew, Arabic, Persian letters and all their forms

LV_FONT_SOURCE_HAN_SANS_SC_14_CJK¶

1338 most common CJK radicals

LV_FONT_SOURCE_HAN_SANS_SC_16_CJK¶

1338 most common CJK radicals

LV_FONT_UNSCII_8¶

Pixel perfect monospaced fonts

LV_FONT_UNSCII_16¶
LV_FONT_CUSTOM_DECLARE¶

Optionally declare custom fonts here.

You can use any of these fonts as the default font too and they will be available globally. Example:

#define LV_FONT_CUSTOM_DECLARE   LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)
LV_FONT_DEFAULT¶

Always set a default font

LV_FONT_FMT_TXT_LARGE¶

Enable handling large font and/or fonts with a lot of characters. The limit depends on the font size, font face and bpp. A compiler error will be triggered if a font needs it.

LV_USE_FONT_COMPRESSED¶

Enables/disables support for compressed fonts.

LV_USE_FONT_PLACEHOLDER¶

Enable drawing placeholders when glyph dsc is not found.

LV_TXT_ENC¶

Select a character encoding for strings. Your IDE or editor should have the same character encoding.

  • LV_TXT_ENC_UTF8

  • LV_TXT_ENC_ASCII

LV_TXT_BREAK_CHARS¶

While rendering text strings, break (wrap) text on these chars.

LV_TXT_LINE_BREAK_LONG_LEN¶

If a word is at least this long, will break wherever "prettiest". To disable, set to a value <= 0.

LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN¶

Minimum number of characters in a long word to put on a line before a break. Depends on LV_TXT_LINE_BREAK_LONG_LEN.

LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN¶

Minimum number of characters in a long word to put on a line after a break. Depends on LV_TXT_LINE_BREAK_LONG_LEN.

LV_USE_BIDI¶

Support bidirectional text. Allows mixing Left-to-Right and Right-to-Left text. The direction will be processed according to the Unicode Bidirectional Algorithm: https://www.w3.org/International/articles/inline-bidi-markup/uba-basics

LV_BIDI_BASE_DIR_DEF¶
LV_USE_ARABIC_PERSIAN_CHARS¶

Enable Arabic/Persian processing In these languages characters should be replaced with another form based on their position in the text

LV_TXT_COLOR_CMD¶
LV_WIDGETS_HAS_DEFAULT_VALUE¶

1: Causes these widgets to be given default values at creation time.

  • lv_buttonmatrix_t: Get default maps: {"Btn1", "Btn2", "Btn3", "\n", "Btn4", "Btn5", ""}, else map not set.

  • lv_checkbox_t : String label set to "Check box", else set to empty string.

  • lv_dropdown_t : Options set to "Option 1", "Option 2", "Option 3", else no values are set.

  • lv_roller_t : Options set to "Option 1", "Option 2", "Option 3", "Option 4", "Option 5", else no values are set.

  • lv_label_t : Text set to "Text", else empty string.

  • lv_arclabel_t : Text set to "Arced Text", else empty string.

LV_USE_ANIMIMG¶
LV_USE_ARC¶
LV_USE_ARCLABEL¶
LV_USE_BAR¶
LV_USE_BUTTON¶
LV_USE_BUTTONMATRIX¶
LV_USE_CALENDAR¶
LV_CALENDAR_WEEK_STARTS_MONDAY¶
LV_CALENDAR_DEFAULT_DAY_NAMES¶
LV_CALENDAR_DEFAULT_MONTH_NAMES¶
LV_USE_CALENDAR_HEADER_ARROW¶
LV_USE_CALENDAR_HEADER_DROPDOWN¶
LV_USE_CALENDAR_CHINESE¶
LV_USE_CANVAS¶
LV_USE_CHART¶
LV_USE_CHECKBOX¶
LV_USE_DROPDOWN¶

Requires: lv_label

LV_USE_IMAGE¶

Requires: lv_label

LV_USE_IMAGEBUTTON¶
LV_USE_KEYBOARD¶
LV_USE_LABEL¶
LV_LABEL_TEXT_SELECTION¶

Enable selecting text of the label

LV_LABEL_LONG_TXT_HINT¶

Store some extra info in labels to speed up drawing of very long text

LV_LABEL_WAIT_CHAR_COUNT¶

The count of wait chart

LV_USE_LED¶
LV_USE_LINE¶
LV_USE_LIST¶
LV_USE_LOTTIE¶

Requires: lv_canvas, thorvg

LV_USE_MENU¶
LV_USE_MSGBOX¶
LV_USE_ROLLER¶

Requires: lv_label

LV_USE_SCALE¶
LV_USE_SLIDER¶

Requires: lv_bar

LV_USE_SPAN¶
LV_SPAN_SNIPPET_STACK_SIZE¶

A line of text can contain this maximum number of span descriptors.

LV_USE_SPINBOX¶
LV_USE_SPINNER¶
LV_USE_SWITCH¶
LV_USE_TABLE¶
LV_USE_TABVIEW¶
LV_USE_TEXTAREA¶

Requires: lv_label

LV_TEXTAREA_DEF_PWD_SHOW_TIME¶

[ms]

LV_USE_TILEVIEW¶
LV_USE_WIN¶
LV_USE_3DTEXTURE¶
LV_USE_THEME_DEFAULT¶

A simple, impressive and very complete theme

LV_THEME_DEFAULT_DARK¶

0: Light mode; 1: Dark mode

LV_THEME_DEFAULT_GROW¶

1: Enable grow on press

LV_THEME_DEFAULT_TRANSITION_TIME¶

Default transition time in ms.

LV_USE_THEME_SIMPLE¶

A very simple theme that is a good starting point for a custom theme

LV_USE_THEME_MONO¶

A theme designed for monochrome displays

LV_USE_FLEX¶

A layout similar to Flexbox in CSS.

LV_USE_GRID¶

A layout similar to Grid in CSS.

LV_FS_DEFAULT_DRIVER_LETTER¶

Setting a default driver letter allows skipping the driver prefix in filepaths. Documentation about how to use the below driver-identifier letters can be found at https://docs.lvgl.io/master/main-modules/fs.html#lv-fs-identifier-letters .

LV_USE_FS_STDIO¶

API for fopen, fread, etc.

LV_FS_STDIO_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_STDIO_PATH¶

Set the working directory. File/directory paths will be appended to it.

LV_FS_STDIO_CACHE_SIZE¶

>0 to cache this number of bytes in lv_fs_read()

LV_USE_FS_POSIX¶

API for open, read, etc.

LV_FS_POSIX_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_POSIX_PATH¶

Set the working directory. File/directory paths will be appended to it.

LV_FS_POSIX_CACHE_SIZE¶

>0 to cache this number of bytes in lv_fs_read()

LV_USE_FS_WIN32¶

API for CreateFile, ReadFile, etc.

LV_FS_WIN32_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_WIN32_PATH¶

Set the working directory. File/directory paths will be appended to it.

LV_FS_WIN32_CACHE_SIZE¶

>0 to cache this number of bytes in lv_fs_read()

LV_USE_FS_FATFS¶

API for FATFS (needs to be added separately). Uses f_open, f_read, etc.

LV_FS_FATFS_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_FATFS_PATH¶

Set the working directory. File/directory paths will be appended to it.

LV_FS_FATFS_CACHE_SIZE¶

>0 to cache this number of bytes in lv_fs_read()

LV_USE_FS_MEMFS¶

API for memory-mapped file access.

LV_FS_MEMFS_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_USE_FS_LITTLEFS¶

API for LittleFs.

LV_FS_LITTLEFS_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_LITTLEFS_PATH¶

Set the working directory. File/directory paths will be appended to it.

LV_USE_FS_ARDUINO_ESP_LITTLEFS¶

API for Arduino LittleFs.

LV_FS_ARDUINO_ESP_LITTLEFS_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_ARDUINO_ESP_LITTLEFS_PATH¶

Set the working directory. File/directory paths will be appended to it.

LV_USE_FS_ARDUINO_SD¶

API for Arduino Sd.

LV_FS_ARDUINO_SD_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_FS_ARDUINO_SD_PATH¶

Set the working directory. File/directory paths will be appended to it.

LV_USE_FS_UEFI¶

API for UEFI

LV_FS_UEFI_LETTER¶

Set an upper-case driver-identifier letter for this driver (e.g. 'A').

LV_USE_FS_FROGFS¶
LV_FS_FROGFS_LETTER¶
LV_USE_LODEPNG¶

LODEPNG decoder library

LV_USE_LIBPNG¶

PNG decoder(libpng) library

LV_USE_BMP¶

BMP decoder library

LV_USE_TJPGD¶

JPG + split JPG decoder library. Split JPG is a custom format optimized for embedded systems.

LV_USE_LIBJPEG_TURBO¶

libjpeg-turbo decoder library.

  • Supports complete JPEG specifications and high-performance JPEG decoding.

LV_USE_LIBWEBP¶

WebP decoder library

LV_USE_GIF¶

GIF decoder library

LV_GIF_CACHE_DECODE_DATA¶

GIF decoder accelerate

LV_USE_GSTREAMER¶

GStreamer library

LV_BIN_DECODER_RAM_LOAD¶

Decode bin images to RAM

LV_USE_RLE¶

RLE decompress library

LV_USE_QRCODE¶

QR code library

LV_USE_BARCODE¶

Barcode code library

LV_USE_FREETYPE¶

FreeType library

LV_FREETYPE_USE_LVGL_PORT¶

Let FreeType use LVGL memory and file porting

LV_FREETYPE_CACHE_FT_GLYPH_CNT¶

Cache count of glyphs in FreeType, i.e. number of glyphs that can be cached. The higher the value, the more memory will be used.

LV_USE_TINY_TTF¶

Built-in TTF decoder

LV_TINY_TTF_FILE_SUPPORT¶
LV_TINY_TTF_CACHE_GLYPH_CNT¶
LV_TINY_TTF_CACHE_KERNING_CNT¶
LV_USE_RLOTTIE¶

Rlottie library

LV_USE_GLTF¶

Requires LV_USE_3DTEXTURE = 1

LV_USE_VECTOR_GRAPHIC¶

Enable Vector Graphic APIs Requires LV_USE_MATRIX = 1 and a rendering engine supporting vector graphics, e.g. (LV_USE_DRAW_SW and LV_USE_THORVG) or LV_USE_DRAW_VG_LITE or LV_USE_NEMA_VG.

LV_USE_THORVG_INTERNAL¶

Enable ThorVG (vector graphics library) from the src/libs folder. Requires LV_USE_VECTOR_GRAPHIC

LV_USE_THORVG_EXTERNAL¶

Enable ThorVG by assuming that its installed and linked to the project Requires LV_USE_VECTOR_GRAPHIC

LV_USE_NANOVG¶

Enable NanoVG (vector graphics library)

LV_USE_LZ4_INTERNAL¶

Use lvgl built-in LZ4 lib

LV_USE_LZ4_EXTERNAL¶

Use external LZ4 library

LV_USE_SVG¶
LV_USE_SVG_ANIMATION¶
LV_USE_SVG_DEBUG¶
LV_USE_FFMPEG¶

FFmpeg library for image decoding and playing videos. Supports all major image formats so do not enable other image decoder with it.

LV_FFMPEG_DUMP_FORMAT¶

Dump input information to stderr

LV_FFMPEG_PLAYER_USE_LV_FS¶

Use lvgl file path in FFmpeg Player widget You won't be able to open URLs after enabling this feature. Note that FFmpeg image decoder will always use lvgl file system.

LV_USE_SNAPSHOT¶

1: Enable API to take snapshot for object

LV_USE_SYSMON¶

1: Enable system monitor component

LV_SYSMON_GET_IDLE¶

Get the idle percentage. E.g. uint32_t my_get_idle(void);

LV_SYSMON_PROC_IDLE_AVAILABLE¶

1: Enable usage of lv_os_get_proc_idle_percent.

LV_USE_PERF_MONITOR¶

1: Show CPU usage and FPS count.

  • Requires LV_USE_SYSMON = 1

LV_USE_PERF_MONITOR_POS¶
LV_USE_PERF_MONITOR_LOG_MODE¶

0: Displays performance data on the screen; 1: Prints performance data using log.

LV_USE_MEM_MONITOR¶

1: Show used memory and memory fragmentation.

  • Requires LV_USE_STDLIB_MALLOC = LV_STDLIB_BUILTIN

  • Requires LV_USE_SYSMON = 1

LV_USE_MEM_MONITOR_POS¶
LV_USE_PROFILER¶

1: Enable runtime performance profiler

LV_USE_MONKEY¶

1: Enable Monkey test

LV_USE_GRIDNAV¶

1: Enable grid navigation

LV_USE_FRAGMENT¶

1: Enable lv_obj fragment logic

LV_USE_IMGFONT¶

1: Support using images as font in label or span widgets

LV_USE_OBSERVER¶

1: Enable an observer pattern implementation

LV_USE_IME_PINYIN¶

1: Enable Pinyin input method

  • Requires: lv_keyboard

LV_IME_PINYIN_USE_DEFAULT_DICT¶

1: Use default thesaurus.

Note

If you do not use the default thesaurus, be sure to use lv_ime_pinyin after setting the thesaurus.

LV_IME_PINYIN_CAND_TEXT_NUM¶

Set maximum number of candidate panels that can be displayed.

Note

This needs to be adjusted according to size of screen.

LV_IME_PINYIN_USE_K9_MODE¶

Use 9-key input (k9).

LV_IME_PINYIN_K9_CAND_TEXT_NUM¶
LV_USE_FILE_EXPLORER¶

1: Enable file explorer.

  • Requires: lv_table

LV_FILE_EXPLORER_PATH_MAX_LEN¶

Maximum length of path

LV_FILE_EXPLORER_QUICK_ACCESS¶

Quick access bar, 1:use, 0:do not use.

  • Requires: lv_list

LV_USE_FONT_MANAGER¶

1: Enable Font manager

LV_FONT_MANAGER_NAME_MAX_LEN¶

Font manager name max length

LV_USE_TEST¶

Enable emulated input devices, time emulation, and screenshot compares.

LV_USE_TEST_SCREENSHOT_COMPARE¶

Enable lv_test_screenshot_compare. Requires lodepng and a few MB of extra RAM.

LV_TEST_SCREENSHOT_CREATE_REFERENCE_IMAGE¶

1: Automatically create missing reference images

LV_USE_XML¶

Enable loading XML UIs runtime

LV_USE_TRANSLATION¶

1: Enable text translation support

LV_USE_COLOR_FILTER¶
LV_USE_SDL¶

Use SDL to open window on PC and handle mouse and keyboard.

LV_SDL_INCLUDE_PATH¶
LV_SDL_RENDER_MODE¶

LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance

LV_SDL_BUF_COUNT¶

1 or 2

LV_SDL_ACCELERATED¶

1: Use hardware acceleration

LV_SDL_FULLSCREEN¶

1: Make the window full screen by default

LV_SDL_DIRECT_EXIT¶

1: Exit the application when all SDL windows are closed

LV_SDL_MOUSEWHEEL_MODE¶
LV_USE_X11¶

Use X11 to open window on Linux desktop and handle mouse and keyboard

LV_X11_DIRECT_EXIT¶

Exit application when all X11 windows have been closed

LV_X11_DOUBLE_BUFFER¶

Use double buffers for rendering

LV_X11_RENDER_MODE_PARTIAL¶

Partial render mode (preferred)

LV_X11_RENDER_MODE_DIRECT¶

Direct render mode

LV_X11_RENDER_MODE_FULL¶

Full render mode

LV_USE_WAYLAND¶

Use Wayland to open a window and handle input on Linux or BSD desktops

LV_WAYLAND_DIRECT_EXIT¶

1: Exit the application when all Wayland windows are closed

LV_USE_LINUX_FBDEV¶

Driver for /dev/fb

LV_LINUX_FBDEV_BSD¶
LV_LINUX_FBDEV_RENDER_MODE¶
LV_LINUX_FBDEV_BUFFER_COUNT¶
LV_LINUX_FBDEV_BUFFER_SIZE¶
LV_LINUX_FBDEV_MMAP¶
LV_USE_NUTTX¶

Use Nuttx to open window and handle touchscreen

LV_USE_NUTTX_INDEPENDENT_IMAGE_HEAP¶
LV_NUTTX_DEFAULT_DRAW_BUF_USE_INDEPENDENT_IMAGE_HEAP¶

Use independent image heap for default draw buffer

LV_USE_NUTTX_LIBUV¶
LV_USE_NUTTX_CUSTOM_INIT¶

Use Nuttx custom init API to open window and handle touchscreen

LV_USE_NUTTX_LCD¶

Driver for /dev/lcd

LV_NUTTX_LCD_BUFFER_COUNT¶
LV_NUTTX_LCD_BUFFER_SIZE¶
LV_USE_NUTTX_TOUCHSCREEN¶

Driver for /dev/input

LV_NUTTX_TOUCHSCREEN_CURSOR_SIZE¶

Touchscreen cursor size in pixels(<=0: disable cursor)

LV_USE_NUTTX_MOUSE¶

Driver for /dev/mouse

LV_USE_NUTTX_MOUSE_MOVE_STEP¶

Mouse movement step (pixels)

LV_USE_NUTTX_TRACE_FILE¶
LV_NUTTX_TRACE_FILE_PATH¶
LV_USE_LINUX_DRM¶

Driver for /dev/dri/card

LV_USE_LINUX_DRM_GBM_BUFFERS¶
LV_LINUX_DRM_USE_EGL¶
LV_USE_TFT_ESPI¶

Interface for TFT_eSPI

LV_USE_LOVYAN_GFX¶

Interface for Lovyan_GFX

LV_LGFX_USER_INCLUDE¶
LV_USE_EVDEV¶

Driver for evdev input devices

LV_USE_LIBINPUT¶

Driver for libinput input devices

LV_LIBINPUT_BSD¶
LV_LIBINPUT_XKB¶

Full keyboard support

LV_USE_ST7735¶
LV_USE_ST7789¶
LV_USE_ST7796¶
LV_USE_ILI9341¶
LV_USE_FT81X¶
LV_USE_NV3007¶
LV_USE_GENERIC_MIPI¶
LV_USE_RENESAS_GLCDC¶

Driver for Renesas GLCD

LV_USE_ST_LTDC¶

Driver for ST LTDC

LV_ST_LTDC_USE_DMA2D_FLUSH¶
LV_USE_NXP_ELCDIF¶

Driver for NXP ELCDIF

LV_USE_WINDOWS¶

LVGL Windows backend

LV_USE_UEFI¶

LVGL UEFI backend

LV_USE_UEFI_INCLUDE¶

Header that hides the actual framework (EDK2, gnu-efi, ...)

LV_UEFI_USE_MEMORY_SERVICES¶

Use the memory functions from the boot services table

LV_USE_OPENGLES¶

Use a generic OpenGL driver that can be used to embed in other applications or used with GLFW/EGL

LV_USE_OPENGLES_DEBUG¶

Enable or disable debug for opengles

LV_USE_GLFW¶

Use GLFW to open window on PC and handle mouse and keyboard. Requires

LV_USE_QNX¶

QNX Screen display and input drivers

LV_QNX_BUF_COUNT¶

1 or 2

LV_USE_EXT_DATA¶

Enable or disable for external data and destructor function

LV_BUILD_EXAMPLES¶

Enable examples to be built with the library.

LV_BUILD_DEMOS¶

Build the demos

LV_USE_DEMO_WIDGETS¶

Show some widgets. This might be required to increase LV_MEM_SIZE.

LV_USE_DEMO_KEYPAD_AND_ENCODER¶

Demonstrate usage of encoder and keyboard.

LV_USE_DEMO_BENCHMARK¶

Benchmark your system

LV_DEMO_BENCHMARK_ALIGNED_FONTS¶

Use fonts where bitmaps are aligned 16 byte and has Nx16 byte stride

LV_USE_DEMO_RENDER¶

Render test for each primitive.

  • Requires at least 480x272 display.

LV_USE_DEMO_STRESS¶

Stress test for LVGL

LV_USE_DEMO_MUSIC¶

Music player demo

LV_DEMO_MUSIC_SQUARE¶
LV_DEMO_MUSIC_LANDSCAPE¶
LV_DEMO_MUSIC_ROUND¶
LV_DEMO_MUSIC_LARGE¶
LV_DEMO_MUSIC_AUTO_PLAY¶
LV_USE_DEMO_VECTOR_GRAPHIC¶

Vector graphic demo

LV_USE_DEMO_GLTF¶

GLTF demo

LV_USE_DEMO_FLEX_LAYOUT¶

Flex layout demo

LV_USE_DEMO_MULTILANG¶

Smart-phone like multi-language demo

LV_USE_DEMO_EBIKE¶
LV_DEMO_EBIKE_PORTRAIT¶
LV_USE_DEMO_HIGH_RES¶

High-resolution demo

LV_USE_DEMO_SMARTWATCH¶