Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkg/lvgl: Increase default LV_MEM_SIZE for 64 bit and enable tests for native64 #20846

Merged
merged 1 commit into from
Aug 30, 2024

Conversation

fzi-haxel
Copy link
Contributor

Contribution description

Now that we have the libsdl2-dev:amd64 package in the CI image (RIOT-OS/riotdocker#241), we can remove native64 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:

  • set different heap sizes in the Makefile.
  • set a larger default in board.h for some boards
  • use LV_MEM_CUSTOM
  • choose a larger default heap size (such as the recommended >48 kB), which would fix most run-time crashes, but would probably result in quite a few build failures due to insufficient memory.

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

@github-actions github-actions bot added Area: tests Area: tests and testing framework Area: pkg Area: External package ports labels Aug 29, 2024
@benpicco benpicco added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Aug 29, 2024
@riot-ci
Copy link

riot-ci commented Aug 29, 2024

Murdock results

✔️ PASSED

6ef1976 pkg/lvgl: Increase default LV_MEM_SIZE for 64 bit and enable tests for native64

Success Failures Total Runtime
10197 0 10197 14m:48s

Artifacts

@benpicco benpicco added this pull request to the merge queue Aug 30, 2024
Merged via the queue into RIOT-OS:master with commit f2076ad Aug 30, 2024
27 checks passed
@benpicco benpicco added this to the Release 2024.10 milestone Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: pkg Area: External package ports Area: tests Area: tests and testing framework CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants