Library Configuration Options¶
Kconfig
files describe build-time configuration options (called symbols
in Kconfig-speak), how they’re grouped into menus and sub-menus, and
dependencies between them that determine what configurations are valid.
Kconfig
files appear throughout the directory tree. For example,
subsys/power/Kconfig
defines power-related options.
This documentation is generated automatically from the Kconfig
files by
the gen_kconfig_rest.py
script. Click on symbols for more
information.
Configuration Options¶
Symbol name |
Help/prompt |
---|---|
Add LVGL header files to the ‘app’ include path. It may be disabled if the include paths for LVGL are causing aliasing issues for ‘app’. |
|
Add POSIX subsystem header files to the ‘app’ include path. |
|
Enable base64 encoding and decoding functionality |
|
Select this for an implementation that supports all potential conversions, with Kconfig options to control availability at build time. |
|
The %a format for floats requires significantly less code than the standard decimal representations (%f, %e, %g). Selecting this option implicitly uses %a (or %A) for all decimal floating conversions. The precision of the original specification is ignored. Selecting this decreases code size when FP_SUPPORT is enabled. |
|
The %a hexadecimal format for floating point value conversion was added in C99, but the output is not easily understood so it rarely appears in application code. Selecting this adds support for the conversion, but increases the overall code size related to FP support. |
|
Build the cbprintf utility function with support for floating point format specifiers. Selecting this increases stack size requirements slightly, but increases code size significantly. |
|
Build cbprintf with buffers sized to support converting the full range of all integral and pointer values. Selecting this has no effect on code size, but will increase call stack size by a few words. |
|
If selected wrappers are generated for various C library functions using the cbprintf formatter underneath. The wrappers use the C library function name with a cb suffix; e.g. printfcb() or vsnprintfcb(). When used with CBPRINTF_NANO this increases the implementation code size by a small amount. |
|
If selected a completely different implementation of the core formatting capability is substituted. This has a much smaller code footprint, but provides fewer capabilities. |
|
If selected %n can be used to determine the number of characters emitted. If enabled there is a small increase in code size. |
|
Build cbprintf with buffers sized to support converting integer values with no more than 32 bits. This will decrease stack space, but affects conversion of any type with more than 32 bits. This includes not only intmax_t but any type that can be converted to an integral represention including size_t and pointers. With CBPRINTF_COMPLETE conversions that may result in value-specific truncation are not supported, and the generated text will be the specification (e.g. %jd). With CBPRINTF_NANO all conversions will be attempted but values that cannot fit will be silently truncated. |
|
Mention maximum number of mutexes in CMSIS compliant application. |
|
This enables CMSIS RTOS v1 API support. This is an OS-integration layer which allows applications using CMSIS RTOS APIs to build on Zephyr. |
|
This enables CMSIS RTOS v2 API support. This is an OS-integration layer which allows applications using CMSIS RTOS V2 APIs to build on Zephyr. |
|
Mention maximum number of semaphores in CMSIS compliant application. |
|
Mention max stack size threads can be allocated in CMSIS RTOS application. |
|
Mention maximum number of timers in CMSIS compliant application. |
|
Mention maximum number of event flags in CMSIS RTOS V2 compliant application. |
|
Mention maximum number of memory slabs in CMSIS RTOS V2 compliant application. |
|
Mention maximum dynamic size of memory slabs/pools in CMSIS RTOS V2 compliant application. |
|
Mention maximum number of message queues in CMSIS RTOS V2 compliant application. |
|
Mention maximum dynamic size of message queues in CMSIS RTOS V2 compliant application. |
|
Mention max number of mutexes in CMSIS RTOS V2 compliant application. |
|
Mention max number of semaphores in CMSIS RTOS V2 compliant application. |
|
Mention max number of dynamic threads in CMSIS RTOS V2 compliant application. There’s a limitation on the number of threads due to memory related constraints. Dynamic threads are a subset of all other CMSIS threads i.e. they also count towards that maximum too. |
|
Mention dynamic stack size threads are allocated in CMSIS RTOS V2 application. |
|
Mention max number of threads in CMSIS RTOS V2 compliant application. There’s a limitation on the number of threads due to memory related constraints. |
|
Mention max stack size threads can be allocated in CMSIS RTOS V2 application. |
|
Mention maximum number of timers in CMSIS RTOS V2 compliant application. |
|
Enable support for event file descriptors, eventfd. An eventfd can be used as an event wait/notify mechanism together with POSIX calls like read, write and poll. |
|
The maximum number of supported event file descriptors. |
|
Build with external/user provided C library. |
|
This option enables the fnmatch library |
|
Build a minimal JSON parsing/encoding library. Used by sample applications such as the NATS client. |
|
This option enables the LittlevGL GUI library. |
|
Enable anti-aliasing |
|
Automatically detect direction |
|
Left-to-right |
|
Right-to-left |
|
Number of bits per pixel. |
|
Rendering buffers are dynamically allocated based on the actual display parameters |
|
Rendering buffers are statically allocated based on the following configuration parameters: * Horizontal screen resolution * Vertical screen resolution * Rendering buffer size * Bytes per pixel |
|
Start a calendar week on Monday |
|
Maximum length of axis label |
|
Swap the 2 bytes of a RGB565 pixel. |
|
1-bit |
|
16-bit |
|
32-bit |
|
8-bit |
|
Enable screen transparency. Useful for OSD or other overlapping GUISs. |
|
Blue |
|
Custom |
|
Green |
|
Red |
|
Value of the color blue to be used in the chroma key |
|
Value of the color green to be used in the chroma key |
|
Value of the color red to be used in the chroma key |
|
Name of the display device to use for rendering. |
|
Screen refresh period in milliseconds |
|
According to the width of the display (hor. res. / dpi) the displays fall in 4 categories. This limit is the threshold for large displays. |
|
According to the width of the display (hor. res. / dpi) the displays fall in 4 categories. This limit is the threshold for medium displays. |
|
According to the width of the display (hor. res. / dpi) the displays fall in 4 categories. This limit is the threshold for small displays. |
|
Use two buffers to render and flush data in parallel |
|
Dots per inch (DPI) |
|
Drop down list animation time in milliseconds |
|
Full flexibility |
|
Disabled |
|
Only horizontally and vertical |
|
Enable Dejavu font support, size 16 pixels, Hebrew, Arabic, Perisan letters and all their forms |
|
Enable Montserrat font support, size 10 pixels |
|
Enable Montserrat font support, size 12 pixels |
|
Enable Montserrat font support with sub-pixel rendering, size 12 pixels |
|
Enable Montserrat font support, size 14 pixels |
|
Enable Montserrat font support, size 16 pixels |
|
Enable Montserrat font support, size 18 pixels |
|
Enable Montserrat font support, size 20 pixels |
|
Enable Montserrat font support, size 22 pixels |
|
Enable Montserrat font support, size 24 pixels |
|
Enable Montserrat font support, size 26 pixels |
|
Enable Montserrat font support, size 28 pixels |
|
Enable Montserrat compressed font support, size 28 pixels |
|
Enable Montserrat font support, size 30 pixels |
|
Enable Montserrat font support, size 32 pixels |
|
Enable Montserrat font support, size 34 pixels |
|
Enable Montserrat font support, size 36 pixels |
|
Enable Montserrat font support, size 38 pixels |
|
Enable Montserrat font support, size 40 pixels |
|
Enable Montserrat font support, size 42 pixels |
|
Enable Montserrat font support, size 44 pixels |
|
Enable Montserrat font support, size 46 pixels |
|
Enable Montserrat font support, size 48 pixels |
|
Enable Montserrat font support, size 8 pixels |
|
Enable Simsun font support, size 16 pixels, 1000 most common CJK radicals |
|
User BGR pixel format instead of RGB for sub-pixel rendering |
|
Enable Unscii monospace font support, size 8 pixels |
|
Horizontal screen resolution in pixels |
|
Enable tile support for image button |
|
Default image cache size, image caching keeps the images open. If only the built-in image formats are used there is no real advantage of caching. With complex image decoders (e.g. PNG or JPG) caching can save the continuous decoding of images. However the opened images might consume additional RAM. |
|
Enable support for alpha indexed images |
|
Enable support for indexed images |
|
Threshold in pixels before entering drag mode |
|
Percentage of slow down of a throw following a drag. Greater percentage means faster slow-down. |
|
Gesture threshold in pixels |
|
Gesture min velocity at release before swipe (pixels) |
|
Period in milliseconds after which a new trigger is generated for a long press |
|
Period in milliseconds before a press is seen as a long press |
|
Refresh period for input devices in milliseconds |
|
Scroll speed in pixels per second if scroll mode is enabled for a label |
|
Enable support for long text hints |
|
Enable label text selection |
|
Waiting period at beginning/end of the label animation cycle |
|
LED maximum brightness |
|
LED minimum brightness |
|
Best precision |
|
No extra precision |
|
Some extra precision |
|
List focus default animation time in milliseconds |
|
Use k_malloc and k_free to allocate objects on the kernel heap |
|
Use C library malloc and free to allocate objects on the C library heap |
|
Use a dedicated memory pool in kernel space to allocate lvgl objects on |
|
Size of the largest block in the memory pool in bytes |
|
Size of the smallest block in the memory pool in bytes |
|
Number of maximum sized blocks in the memory pool. |
|
Use a dedicated memory pool in user space to allocate lvgl objects on |
|
Default page focus animation time in milliseconds |
|
Enable keyboard scan pointer input |
|
Name of the keyboard scan device to use for pointer input. |
|
Invert keyboard scan X axis. This option can be used to align keyboard scan coordinates with the display. |
|
Invert keyboard scan Y axis. This option can be used to align keyboard scan coordinates with the display. |
|
Maximum number of items in the keyboard scan message queue. |
|
Swap keyboard scan X,Y axes. This option can be used to align keyboard scan coordinates with the display. |
|
Roller animation time in milliseconds |
|
Number of extra pages in case the roller is infinite |
|
Allow buffering some shadow calculation. This parameter is the maximum shadow size to buffer. |
|
Constant arc |
|
Fill spin arc |
|
Spinning arc |
|
Default arc length for spinner in degrees |
|
Default spin time for spinner in ms |
|
Maximum number of columns to support in a table |
|
Tab view animation time in milliseconds |
|
Text area cursor blink time in milliseconds |
|
Password character show time in milliseconds |
|
Custom theme initialization function |
|
Aqua |
|
Black |
|
Blue |
|
Custom |
|
Custom primary color RGB blue channel |
|
Custom primary color RGB green channel |
|
Custom primary color RGB red channel |
|
Cyan |
|
Gray |
|
Green |
|
Lime |
|
Magenta |
|
Maroon |
|
Navy |
|
Olive |
|
Orange |
|
Purple |
|
Red |
|
Silver |
|
Teal |
|
White |
|
Yellow |
|
Aqua |
|
Black |
|
Blue |
|
Custom |
|
Custom secondary color RGB blue channel |
|
Custom secondary color RGB green channel |
|
Custom secondary color RGB red channel |
|
Cyan |
|
Gray |
|
Green |
|
Lime |
|
Magenta |
|
Maroon |
|
Navy |
|
Olive |
|
Orange |
|
Purple |
|
Red |
|
Silver |
|
Teal |
|
White |
|
Yellow |
|
Use a none build-in font as default normal font. A pointer named lv_theme_default_normal_font_custom_ptr should exists as a global variable and point to a valid font structure |
|
|
Build-in font size 16 with Hebrew, Arabic and Persian |
Build-in font size 10 |
|
Build-in font size 12 |
|
Build-in font size 12 with sub-pixel rendering |
|
Build-in font size 14 |
|
Build-in font size 16 |
|
Build-in font size 18 |
|
Build-in font size 20 |
|
Build-in font size 22 |
|
Build-in font size 24 |
|
Build-in font size 26 |
|
Build-in font size 28 |
|
|
Build-in compressed font size 28 |
Build-in font size 30 |
|
Build-in font size 32 |
|
Build-in font size 34 |
|
Build-in font size 36 |
|
Build-in font size 38 |
|
Build-in font size 40 |
|
Build-in font size 42 |
|
Build-in font size 44 |
|
Build-in font size 46 |
|
Build-in font size 48 |
|
Build-in font size 8 |
|
Build-in font size 16 with CJK radicals |
|
Build-in monospace font |
|
Use a none build-in font as default small font. A pointer named lv_theme_default_small_font_custom_ptr should exists as a global variable and point to a valid font structure |
|
|
Build-in font size 16 with Hebrew, Arabic and Persian |
Build-in font size 10 |
|
Build-in font size 12 |
|
Build-in font size 12 with sub-pixel rendering |
|
Build-in font size 14 |
|
Build-in font size 16 |
|
Build-in font size 18 |
|
Build-in font size 20 |
|
Build-in font size 22 |
|
Build-in font size 24 |
|
Build-in font size 26 |
|
Build-in font size 28 |
|
|
Build-in compressed font size 28 |
Build-in font size 30 |
|
Build-in font size 32 |
|
Build-in font size 34 |
|
Build-in font size 36 |
|
Build-in font size 38 |
|
Build-in font size 40 |
|
Build-in font size 42 |
|
Build-in font size 44 |
|
Build-in font size 46 |
|
Build-in font size 48 |
|
Build-in font size 8 |
|
Build-in font size 16 with CJK radicals |
|
Build-in monospace font |
|
Use a none build-in font as default subtitle font. A pointer named lv_theme_default_small_font_subtitle_ptr should exists as a global variable and point to a valid font structure |
|
|
Build-in font size 16 with Hebrew, Arabic and Persian |
Build-in font size 10 |
|
Build-in font size 12 |
|
Build-in font size 12 with sub-pixel rendering |
|
Build-in font size 14 |
|
Build-in font size 16 |
|
Build-in font size 18 |
|
Build-in font size 20 |
|
Build-in font size 22 |
|
Build-in font size 24 |
|
Build-in font size 26 |
|
Build-in font size 28 |
|
|
Build-in compressed font size 28 |
Build-in font size 30 |
|
Build-in font size 32 |
|
Build-in font size 34 |
|
Build-in font size 36 |
|
Build-in font size 38 |
|
Build-in font size 40 |
|
Build-in font size 42 |
|
Build-in font size 44 |
|
Build-in font size 46 |
|
Build-in font size 48 |
|
Build-in font size 8 |
|
Build-in font size 16 with CJK radicals |
|
Build-in monospace font |
|
Use a none build-in font as default title font. A pointer named lv_theme_default_small_font_title_ptr should exists as a global variable and point to a valid font structure |
|
|
Build-in font size 16 with Hebrew, Arabic and Persian |
Build-in font size 10 |
|
Build-in font size 12 |
|
Build-in font size 12 with sub-pixel rendering |
|
Build-in font size 14 |
|
Build-in font size 16 |
|
Build-in font size 18 |
|
Build-in font size 20 |
|
Build-in font size 22 |
|
Build-in font size 24 |
|
Build-in font size 26 |
|
Build-in font size 28 |
|
|
Build-in compressed font size 28 |
Build-in font size 30 |
|
Build-in font size 32 |
|
Build-in font size 34 |
|
Build-in font size 36 |
|
Build-in font size 38 |
|
Build-in font size 40 |
|
Build-in font size 42 |
|
Build-in font size 44 |
|
Build-in font size 46 |
|
Build-in font size 48 |
|
Build-in font size 8 |
|
Build-in font size 16 with CJK radicals |
|
Build-in monospace font |
|
Dark |
|
Disable indication of focused state in material theme |
|
Disable transitions in material theme |
|
Light |
|
Tile view animation time in milliseconds |
|
Characters on which a text break can take place |
|
Control character to use for signalling text recoloring |
|
ASCII string encoding |
|
UTF-8 string encoding |
|
If a word is at least this long, a line break is allowed in the word. If the length is 0, no line break is allowed in the middle of a word. |
|
Minimal number of characters to place on a line after a line break occurred in the middle of a word. |
|
Minimal number of characters to place on a line before a line break in the middle of a word can occur. |
|
Enable animations |
|
Use the functions and types from the older API if possible |
|
Use the functions and types from the older API if possible |
|
Enable Arabic/Persian processing In these languages characters should be replaced with an other form based on their position in the text |
|
Enable arc object support |
|
Enable memory allocation assertion Check if memory allocation is successful (Quite fast) |
|
Check the integrity of lv_mem after critical operations. (Slow) |
|
Enable null pointer assertion Check if a null pointer is passed as a parameter (Quite fast) |
|
Enable object assertion Check if an object is not a NULL pointer, has the correct type and does exists. (Quite Slow) If this option is disabled and NULL pointer checking is enabled, the NULL pointer check is executed instead. |
|
Enable string assertion Check if the string is not a NULL pointer, unusually long string, contains invalid characters or contains unusual repetitions. (Slow) If this option is disabled and NULL pointer checking is enabled, the NULL pointer check is executed instead. |
|
Enable style assertion Check if a used style is correctly initialized. (Fast) |
|
Enable bar object support |
|
Enable bidirectional text support The direction of the text will be processed according to the Unicode Bidirectional Algorithm: https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ |
|
Use other blend modes than normal |
|
Enable button object support |
|
Enable button matrix object support |
|
Enable calendar object support |
|
Enabled canvas object support |
|
Enable chart object support |
|
Enable check box object support |
|
Enable container object support |
|
Enable color picker object support |
|
Enable debug support. If debug support is enabled LVGL will validate the parameters of any function call made and if an invalid parameter is found __ASSERT is called. |
|
Enable drop down list object support |
|
Enable LittlevGL file system |
|
Enable support for compressed fonts. If it’s disabled, compressed glyphs cannot be processed by the library and won’t be rendered. |
|
Enable sub-pixel rendering |
|
Enable gauge object support |
|
Enable GPU support |
|
Enable group support. Used by keyboard and button input |
|
Enable image object support |
|
Enable image button object support |
|
Use image zoom and rotation |
|
Enable keyboard object support |
|
Enable label support |
|
Enable LED object support |
|
Enable line object support |
|
Enable line meter object support |
|
Enable list object support |
|
Enable message box object support |
|
Enable object mask support |
|
Enable object realign support |
|
Use the opa_scale style property to set the opacity of an object and its children at once |
|
Enable outline drawing on rectangles |
|
Enable page object support |
|
Enable pattern drawing on rectangles |
|
Show CPU usage and FPS count in the right bottom corner |
|
Enable roller object support |
|
Enable shadows |
|
Enable slider object support |
|
Enable spinbox object support |
|
Enable spinner object support |
|
Enable switch object support |
|
Enable table object support |
|
Enable tab view object support |
|
Enable text area object support |
|
Custom theme. |
|
No theme, you can apply your styles as you need |
|
Material theme, flat theme with bold colors and light shadow, support |
|
Mono theme, monochrome, support |
|
Enable tile view object support |
|
Enable value string drawing on rectangles |
|
Enable window object support |
|
Size of the buffer used for rendering screen content as a percentage of total display size. |
|
Vertical screen resolution in pixels |
|
Maximum number of simultaneously active threads in a POSIX application. |
|
Mention maximum number of timers in POSIX compliant application. |
|
Build with minimal C library. |
|
Enable the minimal libc’s trivial implementation of calloc, which forwards to malloc and memset. |
|
Build with long long printf enabled. This will increase the size of the image. |
|
Enable the minimal libc’s implementation of malloc, free, and realloc. Disable if you wish to provide your own implementations of these functions. |
|
Indicate the size in bytes of the memory arena used for minimal libc’s malloc() implementation. |
|
Enable the minimal libc’s trivial implementation of reallocarray, which forwards to realloc. |
|
Mention length of message queue name in number of characters. |
|
Mention maximum number of messages in message queue in POSIX compliant application. |
|
Mention maximum size of message in bytes. |
|
Hidden option to signal that a memory partition is needed for the C libraray even though it would not have been enabled otherwise. |
|
Build with newlib library. The newlib library is expected to be part of the SDK in this case. |
|
If user mode is enabled, and MPU hardware has requirements that regions be sized to a power of two and aligned to their size, and user mode threads need to access this heap, then this is necessary to properly define an MPU region for the heap. If this is left at 0, then remaining system RAM will be used for this area and it may not be possible to program it as an MPU region. |
|
Build with floating point printf enabled. This will increase the size of the image. |
|
Build with floating point scanf enabled. This will increase the size of the image. |
|
On MMU-based systems, indicates the maximum amount of memory which will be used for the newlib malloc() heap. The actual amount of memory used will be the minimum of this value and the amount of free physical memory at kernel boot. |
|
Build with newlib-nano library, for small embedded apps. The newlib-nano library for ARM embedded processors is a part of the GNU Tools for ARM Embedded Processors. |
|
add the resource table in the generated binary. This table is compatible with linux remote proc framework and OpenAMP library. |
|
This option specifies the number of buffer used in a Vring for interprocessor communication |
|
Enable mostly-standards-compliant implementations of various POSIX (IEEE 1003.1) APIs. |
|
This enables POSIX clock_*(), timer_*(), and *sleep() functions. |
|
This enables POSIX style file system related APIs. |
|
Maximum number of open file descriptors, this includes files, sockets, special devices, etc. |
|
Maximum number of open files. Note that this setting is additionally bounded by CONFIG_POSIX_MAX_FDS. |
|
This enabled POSIX message queue related APIs. |
|
Replace with CBPRINTF_FULL_INTEGRAL. |
|
When true, a spinlock will be taken around the output from a single printk() call, preventing the output data from interleaving with concurrent usage from another CPU or an preempting interrupt. |
|
This enables a mostly-standards-compliant implementation of the pthread mutex, condition variable and barrier IPC mechanisms. |
|
Helper symbol to indicate some feature requires a C library implementation with more functionality than what MINIMAL_LIBC provides |
|
Enable usage of ring buffers. This is similar to kernel FIFOs but ring buffers manage their own buffer memory and can store arbitrary data. For optimal performance, use buffer sizes that are a power of 2. |
|
Maximum semaphore count in POSIX compliant Application. |
|
This option directs standard output (e.g. printf) to the console device, rather than suppressing it entirely. See also EARLY_CONSOLE option. |
|
The sys_heap allocator bounds the number of tries from the smallest chunk level (the one that might not fit the requested allocation) to maintain constant time performance. Setting this to a high level will cause the heap to return more successful allocations in situations of high fragmentation, at the cost of potentially significant (linear time) searching of the free list. The default is three, which results in an allocator with good statistical properties (“most” allocations that fit will succeed) but keeps the maximum runtime at a tight bound so that the heap is useful in locked or ISR contexts. |
|
The sys_heap allocator by default returns pointers to blocks which are guaranteed to be aligned to the pointer size. By enabling the “big chunks” mode, the returned blocks are guaranteed to be 8 byte aligned, also on 32-bit platforms. If this option is enabled, the “big chunks” mode will always be used by sys_heap. |
|
The sys_heap implementation is instrumented for extensive internal validation. Leave this off by default, unless modifying the heap code or (maybe) when running in environments that require sensitive detection of memory corruption. |