lvgl / lv_drivers

TFT and touch pad drivers for LVGL embedded GUI library
https://docs.lvgl.io/master/porting/index.html
MIT License
290 stars 309 forks source link

Add lvgl v9 support #287

Open nicusorcitu opened 10 months ago

nicusorcitu commented 10 months ago

lv_drivers does not work anylonger with lvgl v9 (due to display rework). I am trying to build with wayland enabled and got a lot of errors, so I am opening this Issue to track it down.

Is there any roadmap for the fix for lvgl v9 compatibility?

Thanks. Nicu.

In file included from /home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.h:29,
                 from /home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:9:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lvgl/lvgl.h:126:2: warning: #warning "You are using the development version of LVGL which is not stable at this moment. For production use the release/v8.3 branch. To silence this warning add #define LV_USE_DEV_VERSION to lv_conf.h" [-Wcpp]
  126 | #warning "You are using the development version of LVGL which is not stable at this moment. For production use the release/v8.3 branch. To silence this warning add #define LV_USE_DEV_VERSION to lv_conf.h"
      |  ^~~~~~~
In file included from /home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:9:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.h:33:2: error: #error "Support for user data is required by wayland driver. Set LV_USE_USER_DATA to 1 in lv_conf.h"
   33 | #error "Support for user data is required by wayland driver. Set LV_USE_USER_DATA to 1 in lv_conf.h"
      |  ^~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:196:5: error: unknown type name ‘lv_disp_drv_t’
  196 |     lv_disp_drv_t lv_disp_drv;
      |     ^~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:197:5: error: unknown type name ‘lv_disp_draw_buf_t’
  197 |     lv_disp_draw_buf_t lv_disp_draw_buf;
      |     ^~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:200:5: error: unknown type name ‘lv_indev_drv_t’
  200 |     lv_indev_drv_t lv_indev_drv_pointer;
      |     ^~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:203:5: error: unknown type name ‘lv_indev_drv_t’
  203 |     lv_indev_drv_t lv_indev_drv_pointeraxis;
      |     ^~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:206:5: error: unknown type name ‘lv_indev_drv_t’
  206 |     lv_indev_drv_t lv_indev_drv_touch;
      |     ^~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:209:5: error: unknown type name ‘lv_indev_drv_t’
  209 |     lv_indev_drv_t lv_indev_drv_keyboard;
      |     ^~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘shm_format’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:268:51: warning: unused parameter ‘wl_shm’ [-Wunused-parameter]
  268 | static void shm_format(void *data, struct wl_shm *wl_shm, uint32_t format)
      |                                    ~~~~~~~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘pointer_handle_leave’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:424:65: warning: unused parameter ‘pointer’ [-Wunused-parameter]
  424 | static void pointer_handle_leave(void *data, struct wl_pointer *pointer,
      |                                              ~~~~~~~~~~~~~~~~~~~^~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:425:43: warning: unused parameter ‘serial’ [-Wunused-parameter]
  425 |                                  uint32_t serial, struct wl_surface *surface)
      |                                  ~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘pointer_handle_motion’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:439:16: warning: unused variable ‘max_y’ [-Wunused-variable]
  439 |     int max_x, max_y;
      |                ^~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:439:9: warning: unused variable ‘max_x’ [-Wunused-variable]
  439 |     int max_x, max_y;
      |         ^~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:435:66: warning: unused parameter ‘pointer’ [-Wunused-parameter]
  435 | static void pointer_handle_motion(void *data, struct wl_pointer *pointer,
      |                                               ~~~~~~~~~~~~~~~~~~~^~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:436:44: warning: unused parameter ‘time’ [-Wunused-parameter]
  436 |                                   uint32_t time, wl_fixed_t sx, wl_fixed_t sy)
      |                                   ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘pointer_handle_button’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:466:9: warning: unused variable ‘pos_y’ [-Wunused-variable]
  466 |     int pos_y = app->pointer_obj->input.pointer.y;
      |         ^~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:465:9: warning: unused variable ‘pos_x’ [-Wunused-variable]
  465 |     int pos_x = app->pointer_obj->input.pointer.x;
      |         ^~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:450:66: warning: unused parameter ‘wl_pointer’ [-Wunused-parameter]
  450 | static void pointer_handle_button(void *data, struct wl_pointer *wl_pointer,
      |                                               ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:451:61: warning: unused parameter ‘time’ [-Wunused-parameter]
  451 |                                   uint32_t serial, uint32_t time, uint32_t button,
      |                                                    ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘pointer_handle_axis’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:645:64: warning: unused parameter ‘wl_pointer’ [-Wunused-parameter]
  645 | static void pointer_handle_axis(void *data, struct wl_pointer *wl_pointer,
      |                                             ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:646:42: warning: unused parameter ‘time’ [-Wunused-parameter]
  646 |                                 uint32_t time, uint32_t axis, wl_fixed_t value)
      |                                 ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘keyboard_handle_keymap’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:749:68: warning: unused parameter ‘keyboard’ [-Wunused-parameter]
  749 | static void keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
      |                                                ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘keyboard_handle_enter’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:798:67: warning: unused parameter ‘keyboard’ [-Wunused-parameter]
  798 | static void keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
      |                                               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:799:44: warning: unused parameter ‘serial’ [-Wunused-parameter]
  799 |                                   uint32_t serial, struct wl_surface *surface,
      |                                   ~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:800:52: warning: unused parameter ‘keys’ [-Wunused-parameter]
  800 |                                   struct wl_array *keys)
      |                                   ~~~~~~~~~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘keyboard_handle_leave’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:814:67: warning: unused parameter ‘keyboard’ [-Wunused-parameter]
  814 | static void keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
      |                                               ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:815:44: warning: unused parameter ‘serial’ [-Wunused-parameter]
  815 |                                   uint32_t serial, struct wl_surface *surface)
      |                                   ~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘keyboard_handle_key’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:825:65: warning: unused parameter ‘keyboard’ [-Wunused-parameter]
  825 | static void keyboard_handle_key(void *data, struct wl_keyboard *keyboard,
      |                                             ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:826:42: warning: unused parameter ‘serial’ [-Wunused-parameter]
  826 |                                 uint32_t serial, uint32_t time, uint32_t key,
      |                                 ~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:826:59: warning: unused parameter ‘time’ [-Wunused-parameter]
  826 |                                 uint32_t serial, uint32_t time, uint32_t key,
      |                                                  ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘keyboard_handle_modifiers’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:855:71: warning: unused parameter ‘keyboard’ [-Wunused-parameter]
  855 | static void keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
      |                                                   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:856:48: warning: unused parameter ‘serial’ [-Wunused-parameter]
  856 |                                       uint32_t serial, uint32_t mods_depressed,
      |                                       ~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘touch_handle_down’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:880:60: warning: unused parameter ‘wl_touch’ [-Wunused-parameter]
  880 | static void touch_handle_down(void *data, struct wl_touch *wl_touch,
      |                                           ~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:881:57: warning: unused parameter ‘time’ [-Wunused-parameter]
  881 |                               uint32_t serial, uint32_t time, struct wl_surface *surface,
      |                                                ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:882:39: warning: unused parameter ‘id’ [-Wunused-parameter]
  882 |                               int32_t id, wl_fixed_t x_w, wl_fixed_t y_w)
      |                               ~~~~~~~~^~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘touch_handle_up’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:924:58: warning: unused parameter ‘wl_touch’ [-Wunused-parameter]
  924 | static void touch_handle_up(void *data, struct wl_touch *wl_touch,
      |                                         ~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:925:38: warning: unused parameter ‘serial’ [-Wunused-parameter]
  925 |                             uint32_t serial, uint32_t time, int32_t id)
      |                             ~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:925:55: warning: unused parameter ‘time’ [-Wunused-parameter]
  925 |                             uint32_t serial, uint32_t time, int32_t id)
      |                                              ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:925:69: warning: unused parameter ‘id’ [-Wunused-parameter]
  925 |                             uint32_t serial, uint32_t time, int32_t id)
      |                                                             ~~~~~~~~^~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘touch_handle_motion’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:973:62: warning: unused parameter ‘wl_touch’ [-Wunused-parameter]
  973 | static void touch_handle_motion(void *data, struct wl_touch *wl_touch,
      |                                             ~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:974:42: warning: unused parameter ‘time’ [-Wunused-parameter]
  974 |                                 uint32_t time, int32_t id, wl_fixed_t x_w, wl_fixed_t y_w)
      |                                 ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:974:56: warning: unused parameter ‘id’ [-Wunused-parameter]
  974 |                                 uint32_t time, int32_t id, wl_fixed_t x_w, wl_fixed_t y_w)
      |                                                ~~~~~~~~^~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘touch_handle_frame’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:987:38: warning: unused parameter ‘data’ [-Wunused-parameter]
  987 | static void touch_handle_frame(void *data, struct wl_touch *wl_touch)
      |                                ~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:987:61: warning: unused parameter ‘wl_touch’ [-Wunused-parameter]
  987 | static void touch_handle_frame(void *data, struct wl_touch *wl_touch)
      |                                            ~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘touch_handle_cancel’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:991:39: warning: unused parameter ‘data’ [-Wunused-parameter]
  991 | static void touch_handle_cancel(void *data, struct wl_touch *wl_touch)
      |                                 ~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:991:62: warning: unused parameter ‘wl_touch’ [-Wunused-parameter]
  991 | static void touch_handle_cancel(void *data, struct wl_touch *wl_touch)
      |                                             ~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘wl_shell_handle_ping’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1056:40: warning: unused parameter ‘data’ [-Wunused-parameter]
 1056 | static void wl_shell_handle_ping(void *data, struct wl_shell_surface *shell_surface, uint32_t serial)
      |                                  ~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘wl_shell_handle_configure’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1061:76: warning: unused parameter ‘shell_surface’ [-Wunused-parameter]
 1061 | static void wl_shell_handle_configure(void *data, struct wl_shell_surface *shell_surface,
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1062:48: warning: unused parameter ‘edges’ [-Wunused-parameter]
 1062 |                                       uint32_t edges, int32_t width, int32_t height)
      |                                       ~~~~~~~~~^~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘handle_global’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1164:74: warning: unused parameter ‘version’ [-Wunused-parameter]
 1164 |                           uint32_t name, const char *interface, uint32_t version)
      |                                                                 ~~~~~~~~~^~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘handle_global_remove’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1202:40: warning: unused parameter ‘data’ [-Wunused-parameter]
 1202 | static void handle_global_remove(void *data, struct wl_registry *registry, uint32_t name)
      |                                  ~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1202:66: warning: unused parameter ‘registry’ [-Wunused-parameter]
 1202 | static void handle_global_remove(void *data, struct wl_registry *registry, uint32_t name)
      |                                              ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1202:85: warning: unused parameter ‘name’ [-Wunused-parameter]
 1202 | static void handle_global_remove(void *data, struct wl_registry *registry, uint32_t name)
      |                                                                            ~~~~~~~~~^~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘handle_wl_buffer_release’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1212:68: warning: unused parameter ‘wl_buffer’ [-Wunused-parameter]
 1212 | static void handle_wl_buffer_release(void *data, struct wl_buffer *wl_buffer)
      |                                                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘initialize_allocator’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1228:12: warning: implicit declaration of function ‘lv_mem_alloc’; did you mean ‘lv_realloc’? [-Wimplicit-function-declaration]
 1228 |     name = lv_mem_alloc(strlen(dir) + sizeof(template));
      |            ^~~~~~~~~~~~
      |            lv_realloc
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1228:10: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 1228 |     name = lv_mem_alloc(strlen(dir) + sizeof(template));
      |          ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1241:5: warning: implicit declaration of function ‘lv_mem_free’; did you mean ‘lv_font_free’? [-Wimplicit-function-declaration]
 1241 |     lv_mem_free(name);
      |     ^~~~~~~~~~~
      |     lv_font_free
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘initialize_buffer’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1351:5: warning: implicit declaration of function ‘lv_memset_00’; did you mean ‘lv_memset’? [-Wimplicit-function-declaration]
 1351 |     lv_memset_00(buffer_hdl->base, buffer_hdl->size);
      |     ^~~~~~~~~~~~
      |     lv_memset
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘create_graphic_obj’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1392:9: warning: assignment to ‘struct graphic_object *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 1392 |     obj = lv_mem_alloc(sizeof(*obj));
      |         ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1419:1: warning: label ‘err_free’ defined but not used [-Wunused-label]
 1419 | err_free:
      | ^~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1416:1: warning: label ‘err_destroy_surface’ defined but not used [-Wunused-label]
 1416 | err_destroy_surface:
      | ^~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1388:74: warning: unused parameter ‘parent’ [-Wunused-parameter]
 1388 |                                                   struct graphic_object *parent)
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘create_decoration’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1496:9: warning: implicit declaration of function ‘lv_color_fill’; did you mean ‘lv_color_mix’? [-Wimplicit-function-declaration]
 1496 |         lv_color_fill((lv_color_t *)buffer->base,
      |         ^~~~~~~~~~~~~
      |         lv_color_mix
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘attach_decoration’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1581:12: warning: unused variable ‘y’ [-Wunused-variable]
 1581 |     int x, y;
      |            ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1581:9: warning: unused variable ‘x’ [-Wunused-variable]
 1581 |     int x, y;
      |         ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘detach_decoration’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1649:46: warning: unused parameter ‘window’ [-Wunused-parameter]
 1649 | static void detach_decoration(struct window *window,
      |                               ~~~~~~~~~~~~~~~^~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘resize_window’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1727:28: error: request for member ‘hor_res’ in something not a structure or union
 1727 |         window->lv_disp_drv.hor_res = width;
      |                            ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1728:28: error: request for member ‘ver_res’ in something not a structure or union
 1728 |         window->lv_disp_drv.ver_res = height;
      |                            ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1729:9: warning: implicit declaration of function ‘lv_disp_drv_update’; did you mean ‘lv_disp_create’? [-Wimplicit-function-declaration]
 1729 |         lv_disp_drv_update(window->lv_disp, &window->lv_disp_drv);
      |         ^~~~~~~~~~~~~~~~~~
      |         lv_disp_create
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘create_window’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1855:1: warning: label ‘err_destroy_shell_surface’ defined but not used [-Wunused-label]
 1855 | err_destroy_shell_surface:
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: At top level:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:1921:31: error: unknown type name ‘lv_disp_drv_t’; did you mean ‘lv_fs_drv_t’?
 1921 | static void _lv_wayland_flush(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p)
      |                               ^~~~~~~~~~~~~
      |                               lv_fs_drv_t
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2120:38: error: unknown type name ‘lv_indev_drv_t’; did you mean ‘lv_indev_data_t’?
 2120 | static void _lv_wayland_pointer_read(lv_indev_drv_t *drv, lv_indev_data_t *data)
      |                                      ^~~~~~~~~~~~~~
      |                                      lv_indev_data_t
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2133:42: error: unknown type name ‘lv_indev_drv_t’; did you mean ‘lv_indev_data_t’?
 2133 | static void _lv_wayland_pointeraxis_read(lv_indev_drv_t *drv, lv_indev_data_t *data)
      |                                          ^~~~~~~~~~~~~~
      |                                          lv_indev_data_t
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2147:39: error: unknown type name ‘lv_indev_drv_t’; did you mean ‘lv_indev_data_t’?
 2147 | static void _lv_wayland_keyboard_read(lv_indev_drv_t *drv, lv_indev_data_t *data)
      |                                       ^~~~~~~~~~~~~~
      |                                       lv_indev_data_t
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2159:36: error: unknown type name ‘lv_indev_drv_t’; did you mean ‘lv_indev_data_t’?
 2159 | static void _lv_wayland_touch_read(lv_indev_drv_t *drv, lv_indev_data_t *data)
      |                                    ^~~~~~~~~~~~~~
      |                                    lv_indev_data_t
In file included from /home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lvgl/lvgl.h:32,
                 from /home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.h:29,
                 from /home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:9:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘lv_wayland_init’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:54:40: error: ‘LV_DISP_DEF_REFR_PERIOD’ undeclared (first use in this function); did you mean ‘LV_DEF_REFR_PERIOD’?
   54 | #define LV_WAYLAND_CYCLE_PERIOD LV_MIN(LV_DISP_DEF_REFR_PERIOD,1)
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lvgl/src/misc/lv_math.h:139:24: note: in definition of macro ‘LV_MIN’
  139 | #define LV_MIN(a, b) ((a) < (b) ? (a) : (b))
      |                        ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2233:66: note: in expansion of macro ‘LV_WAYLAND_CYCLE_PERIOD’
 2233 |     application.cycle_timer = lv_timer_create(_lv_wayland_cycle, LV_WAYLAND_CYCLE_PERIOD, NULL);
      |                                                                  ^~~~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:54:40: note: each undeclared identifier is reported only once for each function it appears in
   54 | #define LV_WAYLAND_CYCLE_PERIOD LV_MIN(LV_DISP_DEF_REFR_PERIOD,1)
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lvgl/src/misc/lv_math.h:139:24: note: in definition of macro ‘LV_MIN’
  139 | #define LV_MIN(a, b) ((a) < (b) ? (a) : (b))
      |                        ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2233:66: note: in expansion of macro ‘LV_WAYLAND_CYCLE_PERIOD’
 2233 |     application.cycle_timer = lv_timer_create(_lv_wayland_cycle, LV_WAYLAND_CYCLE_PERIOD, NULL);
      |                                                                  ^~~~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘lv_wayland_create_window’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2330:10: warning: assignment to ‘lv_color_t *’ {aka ‘struct <anonymous> *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 2330 |     buf1 = lv_mem_alloc(hor_res * ver_res * sizeof(lv_color_t));
      |          ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2338:5: warning: implicit declaration of function ‘lv_disp_draw_buf_init’ [-Wimplicit-function-declaration]
 2338 |     lv_disp_draw_buf_init(&window->lv_disp_draw_buf, buf1, NULL, hor_res * ver_res);
      |     ^~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2341:5: warning: implicit declaration of function ‘lv_disp_drv_init’; did you mean ‘lv_fs_drv_init’? [-Wimplicit-function-declaration]
 2341 |     lv_disp_drv_init(&window->lv_disp_drv);
      |     ^~~~~~~~~~~~~~~~
      |     lv_fs_drv_init
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2342:24: error: request for member ‘draw_buf’ in something not a structure or union
 2342 |     window->lv_disp_drv.draw_buf = &window->lv_disp_draw_buf;
      |                        ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2343:24: error: request for member ‘hor_res’ in something not a structure or union
 2343 |     window->lv_disp_drv.hor_res = hor_res;
      |                        ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2344:24: error: request for member ‘ver_res’ in something not a structure or union
 2344 |     window->lv_disp_drv.ver_res = ver_res;
      |                        ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2345:24: error: request for member ‘flush_cb’ in something not a structure or union
 2345 |     window->lv_disp_drv.flush_cb = _lv_wayland_flush;
      |                        ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2345:36: error: ‘_lv_wayland_flush’ undeclared (first use in this function); did you mean ‘_lv_wayland_cycle’?
 2345 |     window->lv_disp_drv.flush_cb = _lv_wayland_flush;
      |                                    ^~~~~~~~~~~~~~~~~
      |                                    _lv_wayland_cycle
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2346:24: error: request for member ‘user_data’ in something not a structure or union
 2346 |     window->lv_disp_drv.user_data = window;
      |                        ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2349:23: warning: implicit declaration of function ‘lv_disp_drv_register’; did you mean ‘lv_fs_drv_register’? [-Wimplicit-function-declaration]
 2349 |     window->lv_disp = lv_disp_drv_register(&window->lv_disp_drv);
      |                       ^~~~~~~~~~~~~~~~~~~~
      |                       lv_fs_drv_register
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2349:21: warning: assignment to ‘lv_disp_t *’ {aka ‘struct _lv_disp_t *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 2349 |     window->lv_disp = lv_disp_drv_register(&window->lv_disp_drv);
      |                     ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2352:5: warning: implicit declaration of function ‘lv_indev_drv_init’; did you mean ‘lv_fs_drv_init’? [-Wimplicit-function-declaration]
 2352 |     lv_indev_drv_init(&window->lv_indev_drv_pointer);
      |     ^~~~~~~~~~~~~~~~~
      |     lv_fs_drv_init
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2353:33: error: request for member ‘type’ in something not a structure or union
 2353 |     window->lv_indev_drv_pointer.type = LV_INDEV_TYPE_POINTER;
      |                                 ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2354:33: error: request for member ‘read_cb’ in something not a structure or union
 2354 |     window->lv_indev_drv_pointer.read_cb = _lv_wayland_pointer_read;
      |                                 ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2354:44: error: ‘_lv_wayland_pointer_read’ undeclared (first use in this function)
 2354 |     window->lv_indev_drv_pointer.read_cb = _lv_wayland_pointer_read;
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2355:33: error: request for member ‘disp’ in something not a structure or union
 2355 |     window->lv_indev_drv_pointer.disp = window->lv_disp;
      |                                 ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2356:32: warning: implicit declaration of function ‘lv_indev_drv_register’; did you mean ‘lv_fs_drv_register’? [-Wimplicit-function-declaration]
 2356 |     window->lv_indev_pointer = lv_indev_drv_register(&window->lv_indev_drv_pointer);
      |                                ^~~~~~~~~~~~~~~~~~~~~
      |                                lv_fs_drv_register
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2356:30: warning: assignment to ‘lv_indev_t *’ {aka ‘struct _lv_indev_t *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 2356 |     window->lv_indev_pointer = lv_indev_drv_register(&window->lv_indev_drv_pointer);
      |                              ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2363:37: error: request for member ‘type’ in something not a structure or union
 2363 |     window->lv_indev_drv_pointeraxis.type = LV_INDEV_TYPE_ENCODER;
      |                                     ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2364:37: error: request for member ‘read_cb’ in something not a structure or union
 2364 |     window->lv_indev_drv_pointeraxis.read_cb = _lv_wayland_pointeraxis_read;
      |                                     ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2364:48: error: ‘_lv_wayland_pointeraxis_read’ undeclared (first use in this function); did you mean ‘lv_wayland_get_pointeraxis’?
 2364 |     window->lv_indev_drv_pointeraxis.read_cb = _lv_wayland_pointeraxis_read;
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                lv_wayland_get_pointeraxis
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2365:37: error: request for member ‘disp’ in something not a structure or union
 2365 |     window->lv_indev_drv_pointeraxis.disp = window->lv_disp;
      |                                     ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2366:34: warning: assignment to ‘lv_indev_t *’ {aka ‘struct _lv_indev_t *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 2366 |     window->lv_indev_pointeraxis = lv_indev_drv_register(&window->lv_indev_drv_pointeraxis);
      |                                  ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2373:31: error: request for member ‘type’ in something not a structure or union
 2373 |     window->lv_indev_drv_touch.type = LV_INDEV_TYPE_POINTER;
      |                               ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2374:31: error: request for member ‘read_cb’ in something not a structure or union
 2374 |     window->lv_indev_drv_touch.read_cb = _lv_wayland_touch_read;
      |                               ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2374:42: error: ‘_lv_wayland_touch_read’ undeclared (first use in this function); did you mean ‘_lv_wayland_cycle’?
 2374 |     window->lv_indev_drv_touch.read_cb = _lv_wayland_touch_read;
      |                                          ^~~~~~~~~~~~~~~~~~~~~~
      |                                          _lv_wayland_cycle
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2375:31: error: request for member ‘disp’ in something not a structure or union
 2375 |     window->lv_indev_drv_touch.disp = window->lv_disp;
      |                               ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2376:28: warning: assignment to ‘lv_indev_t *’ {aka ‘struct _lv_indev_t *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 2376 |     window->lv_indev_touch = lv_indev_drv_register(&window->lv_indev_drv_touch);
      |                            ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2383:34: error: request for member ‘type’ in something not a structure or union
 2383 |     window->lv_indev_drv_keyboard.type = LV_INDEV_TYPE_KEYPAD;
      |                                  ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2384:34: error: request for member ‘read_cb’ in something not a structure or union
 2384 |     window->lv_indev_drv_keyboard.read_cb = _lv_wayland_keyboard_read;
      |                                  ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2384:45: error: ‘_lv_wayland_keyboard_read’ undeclared (first use in this function)
 2384 |     window->lv_indev_drv_keyboard.read_cb = _lv_wayland_keyboard_read;
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2385:34: error: request for member ‘disp’ in something not a structure or union
 2385 |     window->lv_indev_drv_keyboard.disp = window->lv_disp;
      |                                  ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2386:31: warning: assignment to ‘lv_indev_t *’ {aka ‘struct _lv_indev_t *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 2386 |     window->lv_indev_keyboard = lv_indev_drv_register(&window->lv_indev_drv_keyboard);
      |                               ^
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c: In function ‘lv_wayland_close_window’:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:2401:33: error: dereferencing pointer to incomplete type ‘lv_disp_t’ {aka ‘struct _lv_disp_t’}
 2401 |     struct window *window = disp->driver->user_data;
      |                                 ^~
At top level:
/home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.c:258:21: warning: ‘_atoi’ defined but not used [-Wunused-function]
  258 | static unsigned int _atoi(const char ** str)
      |                     ^~~~~
make: *** [Makefile:43: /home/nxf68195/bitbucket/lvgl_mpu/lvgl_imx_demo/lv_drivers/wayland/wayland.o] Error 1
nxf68195@lw15016 ~/bitbucket/lvgl_mpu/lvgl_imx_demo (master)$
kisvegabor commented 10 months ago

The solution would be to move the Wayland driver to the LVGL repository.

@WallaceIT @simplejack-src could you help us with that?

The main changes of v9 (so far) are listed here: https://github.com/lvgl/lvgl/issues

nicusorcitu commented 9 months ago

Hi, Any update with this issue, when it is going to be integrated in v9? Thanks.

kisvegabor commented 9 months ago

Unfortunately, I don't have no experience with Wayland, so can't really help with that :slightly_frowning_face:

WallaceIT commented 9 months ago

Hi,

I'm trying to fit some work on this feature on my schedule, but right now I cannot take a commitment.

I took a look at the v9 status and approach to displays and I think the Wayland backend can take a great advantage from them (for example, integrated "dirty rendering" can avoid copies of graphic data). However, such changes also require quite some time of code rework.

nicusorcitu commented 9 months ago

Is it possible to elaborate a bit more with details what needs to be done? I am thinking if someone else might find some room, I can bet the info will be much helpful. Thanks!

WallaceIT commented 9 months ago

The existing Wayland support shall be adapted to v9, doing the required API conversion and in the mean time aligning to the changes that can lead to performance improvement. As an example: v8 required the Wayland driver to copy the rendered content into its own buffer(s), while with v9 double buffering can be implemented without effort (see explanation of LV_DISP_RENDER_MODE_DIRECT here).

While the basics of Wayland are quite simple, resizing the application window is not. Moreover, client-side decorations also add a lot of complexity. I'd say buffer allocation/deallocation is around 90% of the complexity.

Last but not least, buffer allocation logic implemented by @simplejack-src is very flexible but not so straightforward (at least for me).

kisvegabor commented 9 months ago

Window resizing is jut a nice to have, absolutely not mandatory.

I think the most important thing would be have a very basic Wayland driver in v9, which can be improved later.

nicusorcitu commented 1 month ago

@anagrad

kisvegabor commented 1 month ago

FYI, @daniel-rossier is working on a Wayland driver of LVGL v9.

nicusorcitu commented 1 month ago

Hi @kisvegabor @daniel-rossier sorry to ask, do you have any estimation when will be done?

daniel-rossier commented 1 month ago

The PR is still under review, maybe next week?

nicusorcitu commented 1 month ago

Will the driver move from lvgl/lv_drivers/wayland to lvgl/lvgl/src/drivers/wayland? Thanks for your answer.

etag4048 commented 1 month ago

@nicusorcitu Yes I believe it will at some point, but it needs some refactoring.

symfund commented 2 weeks ago

Is there any progress weston/wayland and lvgl v9 support?