pkg/lvgl: Increase default LV_MEM_SIZE for 64 bit and enable tests for native64 #20846
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contribution description
Now that we have the
libsdl2-dev:amd64
package in the CI image (RIOT-OS/riotdocker#241), we can removenative64
from the blacklist and build the lvgl tests in the CI.The CI doesn't run the GUI program, but if we run the executable directly, we can see that the lvgl heap size chosen for RIOT is too small for a 64-bit system, since lvgl allocates a lot of space for pointers and the current limits seem to be as small as possible to make the examples run on 32-bit platforms.
I changed the default lvgl heap sizes in
pkg/lvgl/include/lv_conf.h
for 64-bit systems so that the examples can run.The correct heap size is very application and platform specific. Simply extending the header to include a variety of different default heap sizes to run the examples may not be the most elegant way to go about it.
Another option include:
LV_MEM_CUSTOM
If you have an opinion on how to handle the default heap size for lvgl, let me know.
Testing procedure
Check that you have the
libsdl2-dev:amd64
package installed and run the tests, e.g.:BOARD=native64 make all term -C tests/pkg/lvgl
BOARD=native64 make all term -C tests/pkg/lvgl_touch