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

WIP: switch from luna-surfacemanager-base to auto-luna-surface-manager #527

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Commits on Jan 20, 2024

  1. auto-luna-surface-manager, qtbase-plugins-webos: import from webOS OS…

    …E and use instead of luna-surfacemanager-conf
    
    * luna-surfacemanager-base+luna-surfacemanager-conf don't support dmabuf or at least
      aren't configured to enable it:
      export 'QT_WAYLAND_HARDWARE_INTEGRATION=linux-dmabuf-unstable-v1'
      in platform.env
    
    * that's why wam doesn't work in LuneOS with mesa-22 without fixing
      wl_drm support as in:
      https://lists.openembedded.org/g/openembedded-core/message/166994
    
    * current status is that it crashed somewhere in Evdev thread
      libEGL debug: No DRI config supports native format AR30
      libEGL debug: No DRI config supports native format XB30
      libEGL debug: No DRI config supports native format AB30
      libEGL debug: No DRI config supports native format XB4H
      libEGL debug: No DRI config supports native format AB4H
      [New Thread 0x7fffeb278640 (LWP 268833)]
      double free or corruption (out)
    
      Thread 3 "QEvdevTouchScre" received signal SIGABRT, Aborted.
      [Switching to Thread 0x7fffeb278640 (LWP 268833)]
      __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
      44      pthread_kill.c: No such file or directory.
      (gdb) bt
      #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
      #1  0x00007ffff6539013 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
      #2  0x00007ffff64ee2c6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #3  0x00007ffff64d97e3 in __GI_abort () at abort.c:79
      #4  0x00007ffff652d571 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff666060d "%s\n") at ../sysdeps/posix/libc_fatal.c:155
      #5  0x00007ffff65427ca in malloc_printerr (str=str@entry=0x7ffff66631d0 "double free or corruption (out)") at malloc.c:5664
      #6  0x00007ffff6544708 in _int_free (av=0x7ffff669baa0 <main_arena>, p=0x7fffdc005270, have_lock=<optimized out>) at malloc.c:4588
      #7  0x00007ffff6546e43 in __GI___libc_free (mem=<optimized out>) at malloc.c:3391
      #8  0x00007ffff6546f32 in tcache_thread_shutdown () at malloc.c:3227
      #9  __malloc_arena_thread_freeres () at /usr/src/debug/glibc/2.35-r0/git/malloc/arena.c:1003
      #10 0x00007ffff6548e9a in __libc_thread_freeres () at thread-freeres.c:44
      #11 0x00007ffff653716a in start_thread (arg=<optimized out>) at pthread_create.c:456
      #12 0x00007ffff65b8920 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
    
      There is older ticket with similar error:
      https://bugreports.qt.io/browse/QTBUG-68451
      but might be completely unrelated, I'm re-creating debug
      build to get better bt.
    
    Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
    shr-project committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    2da7ffd View commit details
    Browse the repository at this point in the history
  2. webos_filesystem_paths.bbclass: refresh from meta-webosose

    * otherwise auto-luna-surface-manager installs in /usr/plugins (old webos_qtpluginsdir) instead of /usr/lib/plguings
      and then it's unpackaged, because it doesn't match with OE_QMAKE_PATH_PLUGINS
    
    Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
    shr-project committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    81bb1d3 View commit details
    Browse the repository at this point in the history
  3. luna-surfacemanager: don't package config files in PN-base

    * in OSE it's in PN-conf, but in LuneOS we have separate luna-surfacemanager-conf recipe, so use PN-base-conf instead
    
    * this is needed to avoid confict between luna-surfacemanager-base and auto-luna-surfacemanager
    
    * check_data_file_clashes: Package auto-luna-surface-manager wants to install file /OE/build/luneos-kirkstone/webos-ports/tmp-glibc/work/qemux86_64-webos-linux/luneos-dev-image/1.0-r0/rootfs/etc/surface-manager.d/product.env
      But that file is already provided by package  * luna-surfacemanager-base
    * check_data_file_clashes: Package auto-luna-surface-manager wants to install file /OE/build/luneos-kirkstone/webos-ports/tmp-glibc/work/qemux86_64-webos-linux/luneos-dev-image/1.0-r0/rootfs/usr/share/luna-service2/api-permissions.d/com.webos.surfacemanager.api.json
      But that file is already provided by package  * luna-surfacemanager-base
    * check_data_file_clashes: Package auto-luna-surface-manager wants to install file /OE/build/luneos-kirkstone/webos-ports/tmp-glibc/work/qemux86_64-webos-linux/luneos-dev-image/1.0-r0/rootfs/usr/share/luna-service2/client-permissions.d/com.webos.surfacemanager.perm.json
      But that file is already provided by package  * luna-surfacemanager-base
    * check_data_file_clashes: Package auto-luna-surface-manager wants to install file /OE/build/luneos-kirkstone/webos-ports/tmp-glibc/work/qemux86_64-webos-linux/luneos-dev-image/1.0-r0/rootfs/usr/share/luna-service2/groups.d/com.webos.surfacemanager.groups.json
      But that file is already provided by package  * luna-surfacemanager-base
    * check_data_file_clashes: Package auto-luna-surface-manager wants to install file /OE/build/luneos-kirkstone/webos-ports/tmp-glibc/work/qemux86_64-webos-linux/luneos-dev-image/1.0-r0/rootfs/usr/share/luna-service2/roles.d/com.webos.surfacemanager.role.json
      But that file is already provided by package  * luna-surfacemanager-base
    * check_data_file_clashes: Package auto-luna-surface-manager wants to install file /OE/build/luneos-kirkstone/webos-ports/tmp-glibc/work/qemux86_64-webos-linux/luneos-dev-image/1.0-r0/rootfs/usr/share/luna-service2/services.d/com.webos.surfacemanager.service
      But that file is already provided by package  * luna-surfacemanager-base
    
    Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
    shr-project committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    00603be View commit details
    Browse the repository at this point in the history
  4. luna-next-cardshell: remove luna-surfacemanager-* from RDEPENDS

    * this should respect VIRTUAL-RUNTIME_surface-manager* variables, but
      LuneOS doesn't set them in global config (like OSE in
      webos-preferred-provides.inc), so let packagegroup-webos-extended.bb
      pull right implementations into the image
    
    Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
    shr-project committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    798a47b View commit details
    Browse the repository at this point in the history