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

[buildroot] Need help to create LVGL package #3657

Closed
legerch opened this issue Sep 4, 2022 · 15 comments
Closed

[buildroot] Need help to create LVGL package #3657

legerch opened this issue Sep 4, 2022 · 15 comments
Labels

Comments

@legerch
Copy link
Contributor

legerch commented Sep 4, 2022

Introduce the problem

Hello everyone,
I'm currently trying to port LVGL to buildroot but I'm stuck, I'm not very experienced with buildroot packing, furthermore, very few are using kconfig build system. And, for packages which currently used KConfig build system... they are the big one : busybox, linux, zephyr, uclibc, etc... So I don't have any simple example to help me.

This issues is related to lv_port_linux_frame_buffer - Issue 17 - Packing for buildroot.

Examples and cases

Current examples are :

Suggested solution

So far, I have proper Config.in, lvgl.config (which is default config file generated with kconfig-qconf utility) and lvgl.hash.
Main troubles are in lvgl.mk.
I'm joining my current patch to this issue (at txt format because github doesn't support patch.

When trying to run lvgl-rebuild or even lvgl-menuconfig in my buildroot directory, I got those errors :

>>> lvgl 8.3.1 Patching
Using /home/<userpath>/bsp-output/build/lvgl-8.3.1/.config as base
#
# merged configuration written to /home/<userpath>/bsp-output/build/lvgl-8.3.1/.config (needs make)
#
make[4]: *** No rule to make target « oldconfig ». Stop.
make[3]: *** [package/lvgl/lvgl.mk:18 : /home/<userpath>/bsp-output/build/lvgl-8.3.1/.stamp_dotconfig] Error 2
make[2]: *** [Makefile:84 : _all] Error 2

If anyone have more experience with buildroot packages and can help me to add support for LVGL, that will be appreciated !
Thank you for your time
0001-package-lvgl-new-package.patch.txt

@lvgl-bot
Copy link

We need some feedback on this issue.

Now we mark this as "stale" because there was no activity here for 14 days.

Remove the "stale" label or comment else this will be closed in 7 days.

@lvgl-bot lvgl-bot added the stale label Sep 19, 2022
@legerch
Copy link
Contributor Author

legerch commented Sep 19, 2022

I'm commenting this issue to keep it open, I didn't have time to continue the support but I will, ASAP...

@lvgl-bot lvgl-bot removed the stale label Sep 20, 2022
@lvgl-bot
Copy link

lvgl-bot commented Oct 5, 2022

We need some feedback on this issue.

Now we mark this as "stale" because there was no activity here for 14 days.

Remove the "stale" label or comment else this will be closed in 7 days.

@lvgl-bot lvgl-bot added the stale label Oct 5, 2022
@legerch
Copy link
Contributor Author

legerch commented Oct 8, 2022

Hello to all,

So I tried with CMake build system but I'm still struggling, especially with lv_conf.hfile (new patch can be found attached).
I'm using option -DLV_CONF_PATH to set custom LVGL config file path but I'm still getting those errors:

src/core/../lv_conf_internal.h:46:17: note: « #pragma message: Possible failure to include lv_conf.h, please read the comment in this file if you get errors »
   46 |         #pragma message("Possible failure to include lv_conf.h, please read the comment in this file if you get errors")
      |                 ^~~~~~~

I don't understand why specified file can't be found, my CMake output is correct:

/home/<user>/Documents/buildroot/bsp-output/host/bin/cmake /home/<user>/Documents/buildroot/bsp-output/build/lvgl-8.3.1/ -DCMAKE_TOOLCHAIN_FILE="/home/<user>/Documents/buildroot/bsp-output/host/share/buildroot/toolchainfile.cmake" -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON  -DLV_CONF_PATH="/home/<user>/Documents/buildroot/bsp-external/lvgl/lvgl_conf.h"

Does anyone have any idea on this behaviour ? Did I missed a CMake option ? I don't see any in custom.cmake file.

Bonus question : Can I disable example build ? CMake file doesn't seem to have such option.
0001-package-lvgl-new-package.patch.txt

@lvgl-bot lvgl-bot removed the stale label Oct 9, 2022
@kisvegabor
Copy link
Member

-DLV_CONF_PATH="/home/<user>/Documents/buildroot/bsp-external/lvgl/lvgl_conf.h"

It's not lvgl_conf.h but lv_conf.h.

@legerch
Copy link
Contributor Author

legerch commented Oct 11, 2022

It's not lvgl_conf.h but lv_conf.h.

Oh ! Thank you for your response, I though than since we can add our custom path for lvgl configuration, filename were not important... This fix the behaviour !
I push a pull request two days ago (#3733), since we found the issue, not sure if this is pertinent.

EDIT: I saw than pull request have been merged, thank you for your review ! (I keep the issue open for now just in case, once buildroot patch will be submit, I'm gonna close it)

@kisvegabor
Copy link
Member

Happy to hear that it solved the issue!

(I keep the issue open for now just in case, once buildroot patch will be submit, I'm gonna close it)

Is there anything we can do on LVGL's side?

@legerch
Copy link
Contributor Author

legerch commented Oct 12, 2022

Is there anything we can do on LVGL's side?

Currently, I think I have all I need with submitted pull request (#3733 and #3738), I had some trouble to understand at first how LVGL configuration was included, but now this is good to go 😄

For this repository, I'am able to built it with buildroot, now I have to include LVGL drivers but I saw than configuration file is required too without option to use an external one, I think I'm gonna submit a pull request with same behaviour than this repository to use external config (but this is not sure, maybe I'm gonna generate it automatically on buildroot side at compilation by using buildroot configuration infos, I need to do some tests before).

@kisvegabor
Copy link
Member

Currently, I think I have all I need with submitted pull request (#3733 and #3738)

Great, both are merged now.

now I have to include LVGL drivers

Please wait a little bit with it. I'm almost ready with a new driver architecture. With this all the drivers will be hosted in LVGL.

@legerch
Copy link
Contributor Author

legerch commented Oct 13, 2022

Great, both are merged now.

Perfect, thank you !

Please wait a little bit with it. I'm almost ready with a new driver architecture. With this all the drivers will be hosted in LVGL.

Oh, that's great news ! I didn't know than driver restructuration was in pending, I'm gonna take a look at it.
Is this restructuration planned for v9.x ?

@kisvegabor
Copy link
Member

Among many other restructuring it's planned for v9.0.

@legerch
Copy link
Contributor Author

legerch commented Oct 13, 2022

Noted, thank you for those informations and all your support !
I'm gonna wait a little in this case to make buildroot port 😉

@lvgl-bot
Copy link

We need some feedback on this issue.

Now we mark this as "stale" because there was no activity here for 14 days.

Remove the "stale" label or comment else this will be closed in 7 days.

@lvgl-bot lvgl-bot added the stale label Oct 28, 2022
@lvgl-bot
Copy link

lvgl-bot commented Nov 5, 2022

As there was no activity here for a while we close this issue. But don't worry, the conversation is still here and you can get back to it at any time.

So feel free to comment if you have remarks or ideas on this topic.

@lvgl-bot lvgl-bot closed this as completed Nov 5, 2022
@yangkkokk
Copy link

由于这里有一段时间没有活动,我们关闭了这个问题。但别担心,对话仍然在这里,你可以随时回到它。

所以
,如果你对这个话题有意见或想法,请随时发表评论。

where is patch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants