lv_drivers icon indicating copy to clipboard operation
lv_drivers copied to clipboard

Add lvgl v9 support

Open nicusorcitu opened this issue 1 year ago • 14 comments

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)$

nicusorcitu avatar Aug 25 '23 07:08 nicusorcitu

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

kisvegabor avatar Aug 25 '23 21:08 kisvegabor

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

nicusorcitu avatar Sep 13 '23 08:09 nicusorcitu

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

kisvegabor avatar Sep 13 '23 19:09 kisvegabor

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.

WallaceIT avatar Sep 13 '23 20:09 WallaceIT

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!

nicusorcitu avatar Sep 14 '23 12:09 nicusorcitu

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).

WallaceIT avatar Sep 15 '23 13:09 WallaceIT

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.

kisvegabor avatar Sep 18 '23 08:09 kisvegabor

@anagrad

nicusorcitu avatar May 16 '24 12:05 nicusorcitu

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

kisvegabor avatar May 20 '24 18:05 kisvegabor

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

nicusorcitu avatar May 23 '24 14:05 nicusorcitu

The PR is still under review, maybe next week?

daniel-rossier avatar May 23 '24 14:05 daniel-rossier

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

nicusorcitu avatar May 23 '24 14:05 nicusorcitu

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

etag4048 avatar May 24 '24 09:05 etag4048

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

symfund avatar Jun 17 '24 01:06 symfund

@kisvegabor was wayland refactored and integrated in lvgl v9.2.0?

nicusorcitu avatar Aug 27 '24 11:08 nicusorcitu

Yes, see here

kisvegabor avatar Aug 29 '24 08:08 kisvegabor

So we can close this issue, as well as the PR https://github.com/lvgl/lv_drivers/pull/313 Correct?

nicusorcitu avatar Aug 29 '24 09:08 nicusorcitu

Yes. For future reference:

  • The Wayland driver is added to LVGL v9: https://github.com/lvgl/lvgl/tree/master/src/drivers/wayland
  • lv_drivers won't be updated to LVGL v9 as now the lvgl repo has built-in drivers.

kisvegabor avatar Aug 30 '24 07:08 kisvegabor