lvgl / lv_port_linux

LVGL configured to work with a standard Linux framebuffer
MIT License
260 stars 160 forks source link

Add wayland support #51

Closed etag4048 closed 1 month ago

etag4048 commented 4 months ago

BTW the commit made 5h ago made changes to the Makefile, but the documentation states that it's currently broken.. Haven't tried to build with the makefile

kisvegabor commented 4 months ago

Let's wait for merging Wayland in LVGL and update the submodule here too.

BTW the commit made 5h ago made changes to the Makefile, but the documentation states that it's currently broken..

@100ask does the Makefile work well now?

100ask commented 4 months ago

does the Makefile work well now?

I am currently planning to fix this issue, the meaning here is not to abandon Makefile, right?

etag4048 commented 4 months ago

@100ask Correct it means that's it's currently broken, and that cmake should be used instead. I've only removed the 'shall' verb, it was in future tense, making it slightly ambiguous. That's great news, let me know when you've fixed so that I can test it and even add the wayland target.

100ask commented 4 months ago

@100ask Correct it means that's it's currently broken, and that cmake should be used instead. I've only removed the 'shall' verb, it was in future tense, making it slightly ambiguous. That's great news, let me know when you've fixed so that I can test it and even add the wayland target.

Makefile fixed: https://github.com/lvgl/lv_port_linux/pull/53

anaGrad commented 2 months ago

Hello! Any updates on this PR?

kisvegabor commented 2 months ago

It seems it was forgotten. @etag4048 Will you have time to finalize it?

etag4048 commented 2 months ago

@kisvegabor @anaGrad Will attempt to finish this week, I wanted to add wayland to the regular makefile too.

kisvegabor commented 2 months ago

Fantastic, thank you! :+1:

nicusorcitu commented 2 months ago

Hi @etag4048 any progress with this PR? Thanks.

etag4048 commented 2 months ago

@nicusorcitu my colleague @EDGEMTech-GabrielC is currently reviewing, testing as well as making adjustments.

etag4048 commented 1 month ago

@nicusorcitu it should be working now, can you test please ?

nicusorcitu commented 1 month ago

@anaGrad can you please verify? Thanks.

anaGrad commented 1 month ago

I tested and on first run it looks great!

nicusorcitu commented 1 month ago

Will it work also with LVGL master/v9.2 branch? can you please verify?

anaGrad commented 1 month ago

Yes, works fine

kisvegabor commented 1 month ago

@etag4048 please resolve the conflict and we are good to go :slightly_smiling_face:

etag4048 commented 1 month ago

@kisvegabor Ready.

kisvegabor commented 1 month ago

Thank you Erik.

Pleas take a look at the CI, now all the test are failing. :(

kisvegabor commented 1 month ago

Thank you, Erik! Merging.

etag4048 commented 1 month ago

@kisvegabor Fixed the CI... I am not familiar with the RHEL, oraclelinux and rocky linux. Not my style of distributions @debug-richard Could you help out and please tell me the name of the packages for wayland-scanner and wayland-client in those distributions? Before the CI I've never had issues compiling on Ubuntu 22.04, I am interested in what issues did you experience when you say you had a hard time building.

debug-richard commented 1 month ago

@etag4048 About my experience:

  1. This project did not specify the required build dependencies. To run the example I had to find the correct dependencies which can take hours and is not very satisfying :wink:. They are now documented in the Dockerfiles.
  2. The find_package command tries to find the cmake config for this library. This file is not provided on Debian and Ubuntu. There is a hack on Stackoverflow that suggests creating the file manually, but this is not portable. pkg-config is the distribution independent standard for this.
  3. It is the purpose of CI to build in a clean environment to detect these problems

Unfortunately, you forgot to enable the wayland build in the CI file which means the dependencies for the wayland build are currently missing.

I fired up the Docker containers and these seem to be the required dependencies:

RHEL:
dnf -y install libxkbcommon-devel wayland-devel wayland-protocols-devel
DEBIAN:
apt-get install -y libxkbcommon-dev libwayland-dev wayland-protocols
etag4048 commented 1 month ago

@debug-richard Thanks for the package names, at least on Ubuntu one can use apt-cache search <term> to find packages, but oracle linux idk.. :) I did not forget to add the wayland test, it's just that I don't want to mess with RHEL

etag4048 commented 1 month ago

@nicusorcitu I want to perform some small refactoring, like doing a separate file per backend. Improve the readme, to list the required dependencies for popular distros. Also integrating the backend selection to the GNU Makefile would be nice.

nicusorcitu commented 1 month ago

Sure, any improvement is much appreciated :)