summaryrefslogtreecommitdiffstats
path: root/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb
AgeCommit message (Collapse)AuthorFilesLines
2024-03-07agl-compositor_git.bb: Bump SRCREV for agl compositorMarius Vlad1-2/+2
This SRCREV bump includes the split window functionality with gRPC as well as the ability to load the RDP backend. In more detail the following have been added since the previous bump: - d5ecd12729734b788 meson.build: Do another version bump - 45b9e2fc90aec09d1 compositor: Avoid compiler warning and build failure - e9ee3fd914b73019c meson.build: Bump version to 0.22.3 - 54631603ff050cb01 compositor: Add support for loading width/height/transform - a2a302d8aadc1afda main-grpc: Fix iterator going invalid at destruction time - e7ccf51adc37748d3 compositor: Add the ability to load rdp-backend.so - 754636273ffc6b872 layout/shell: Keep track of previous role - 16d8d1af63ea1bbda layout: Added sticky implementation for split windows - 3d6199ee18b4807a8 shell/layout: Add implementation for the width param - 70a2d75e8e35d94bf src: Don't attempt to split background role window - 000b725db81ae79ff grpc-proxy/shell: Add sticky parameter when setting up split window - b87f46acc5b0b252e grpc-proxy/shell: Add width for split window - 083ee3d2b88f49612 layout/shell: Reset split type of windows - 1cbb6bdec4d1c0440 shell: Reset active view to allow further activation - 594b5d1c6e1bc7eb8 layout: Specify the reason for not activating windows - 3f2cdeae25429b846 grpc-proxy: Extend AglShellSetSplit from gRPC proxy - 09fa5536e759792c8 layout/shell: Add basic support for split window - 8a7f3fbbf0fd94bb1 Add gitlab issue/merge request templates Change-Id: I61a3f9b553ed1416849dc5a1dccdcf1be7de6ee3 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29710 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2024-01-04agl-compositor_git.bb: Bump SRCREV for fixesMarius Vlad1-1/+1
This SRCREV bump includes a couple of fixes for avoid a hard-to-catch race between the gPRC proxy client the shell client. The update simplifies the whole "conversation" between gRPC client and the compositor. In more details the following changes have been added since the previous update: - e3f8379e48433d grpc-proxy: Add a prefix tag for debugging messages - ae3ef78cb1a01b grpc-proxy: Re-work bound_ok/bound_fail events handling - 071440ef54444c shell: Provide a better explanation for terminating the connection Bug-AGL: SPEC-4977 Change-Id: I6420441e7379f42c0455ffb78e3ea2867b5e332e Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29576 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Tested-by: Jenkins Job builder account
2023-12-17agl-compositor_git: SRCREV bumpMarius Vlad1-1/+1
To pick up the latest fix for agl-compositor. It's a simple fix for setting up applications on different outputs. Change-Id: I63118c793faf0e7a4e68bfd15719c6939cca964d Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29538 ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Tested-by: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-11-16recipes-graphics/wayland/agl-compositor_git.bb: Bump SRCREVMarius Vlad1-3/+5
This SRC_REV bump updates the gRPC proxy API to address some start-up issues we're seeing when switching the qt homescreen shell client to using the start-up + activation procedure rather than relying on the wayland protocol to do that. A smaller fix for restarting the compositor, as well as functionality to dynamically move windows with it and scale windows was added in this update. The recipe changes does include a version bump for the compositor as well, making it easier to track down the compositor version. In more detail, the following changes have been added since the previous update: - bdc551314dc5 meson.build: Bump version to 0.0.22 - be197db866b8 grpc-proxy: Use smaller waiting time - 73e82a6f346d grpc-proxy: Start the gRPC server and waiting thread much sooner - 53b470c60986 grpc-proxy: Fix missing args LOG() - 0d2e33ded529 grpc-proxy/main-grpc: Don't fall trough assuming we have a wl_display - 994d8a30b27f grpc-proxy: Don't attempt to connect if there's no compositor running - d8e72099ecbc grpc-proxy: Terminate thread when we're exiting - ca537df2c529 grpc-proxy: Add dynamic scale of floating windows - 2edba91d3eab grpc-proxy: Add dynamic floating window movement Change-Id: Ic07b11e6334f14f60a1d71e48347a3d66f07b823 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29405 Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-09-27Add templates for Sifive unmatched boardJan-Simon Moeller1-0/+2
This adds the templates to build for the sifive-unmatched board. Currently we have to tweak the layer.conf to enable kirkstone to build. v2: Simplify addition and add patch to agl-compositor for -latomic v2: rename template to just the boardname to match all other boards v3: Drop patch and use LDFLAGS:append:riscv64 = " -Wl,--no-as-needed -latomic -Wl,--as-needed" Bug-AGL: SPEC-4909 Change-Id: I6b6fd9e7f316c66c5a9160318c64028faf8f5dea Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29234 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2023-08-17agl-compositor_git.bb: Bump agl-compositor SRCREVMarius Vlad1-1/+1
This SRCREV bump update is necessary to avoid a circular dependency between libweston and the AGL compositor. This update includes Xwayland support (and a few fixes related to that) and an update for using logging scopes to match with that we have in upstream. Note that Xwayland requires to build with Xwayland enabled and have a working Xwayland image (which requires a bit of tweaks to make it work). In more detail, the following changes have been added since previous bump: - a68408367cf desktop: Fix Xwayland build - 5ec94158612 compositor: Use the logging context when iterating over scopes - f3ae1a25e24 layout: Check against app_id being valid - 26700fa20ab layout: Determine xwayland surface in a generic fashion - 8033c46081b compositor: Add XWayland basic support Change-Id: Ib4aa552eec776a5badafb56bbdd2f780eb0ff331 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29101 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-06-16recipes-graphics/wayland/agl-compositor_git: Bump SRCREVMarius Vlad1-1/+1
The SRCREV bumps fixes for handling the activation area. In more detail the following changes have been integrated: - ffdbb335ee72a5b layout: Give ini config precedence over agl_shell - e089e3ba1b7581a shell: Don't reset the activation area always - 07c332f0b8c3297 layout: Add a fallback for reading activation-area Change-Id: Ib6a0bf15330290a464bf61b948f7ca7f69c8968f Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29013 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-06-16meta-agl-core: fix polkit dependenciesScott Murray1-1/+3
As part of the systemd user session removal, some changes were made to attempt to fix pulling in polkit for core-image-weston, agl-image-weston, and agl-image-compositor so that the compositors would correctly start up in the resulting images. Unfortunately, just gating the dependency on polkit being in DISTRO_FEATURES breaks the usecase of using poky and meta-agl-core with our poky-agl distro configuration without also pulling in the meta-oe layer. This combination is used for testing meta-agl-core on the Yocto Project autobuilder, so that broke and was reported by upstream. To fix this usecase, the polkit dependency logic has been shifted to weston-init and agl-compositor-init via bbappends that are only used when meta-oe is present via our existing BBFILES_DYNAMIC set up. Since the dependency on polkit stems from a combination of the compositor PAM configuration from the -init packages and having systemd, pam, and polkit in DISTRO_FEATURES, this seems more correct, anyways. Other changes: - The explicit pam DISTRO_FEATURES checking that was added in the previous cleanup has been removed; it is actually redundant due to weston and weston-init having checks. Using the .inc file for that from upstream has been added to the agl-compositor and agl-compositor-init recipes to match the weston recipes and make the dependency visible in our tree. - There is no further need for our bbappend to core-image-weston, so it has been removed. Bug-AGL: SPEC-4836 Change-Id: Ia3052023dfb06d1c2190a03c72606ab4b27bbdd2 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29014 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-06-05wayland/agl-compositor_git.bb: Bump SRCREVMarius Vlad1-1/+1
This SRCREV bump update formally removes SMACK and Waltham and modifies the client screenshooter client to generate a PNG screenshot for each output -- rather than creating an image for all outputs. In more detail to following changes have been added since the previous SRCREV bump: - 69bd3ddac4b23 policy-deny: Remove SMACK support - 0ed8064b0de23 compositor: Remove Waltham support - e0a1dcc548087 clients/screenshooter: Add the output name to screenshot name Change-Id: Ic951fdeddc3abff8b1f80be45896f1fdfb67bced Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28980 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-05-08recipes-graphics/wayland/agl-compositor_git: Bump agl-compositor SRCREVMarius Vlad1-1/+1
This update includes further gRPC API support, adding the ability to now move windows dynamically between different outputs. Further more this includes also the ability to susbcribe to the drm-backend debug scope (which is being created by the drm-backend module) and to also list other possible debug scopes the AGL compositor can subscribe. In more detail the following changes have been added since the previous update: - 01171e9abf8a13 compositor: Let the user know about the debug scopes available - cea026b06a9073 compositor: Add support for subscribing to libweston scopes - 0fef26d32431e7 shell: Add the ability to dynamically move application window - 998097db427c6a layout: Fix no-op check due to invalid checks - d5d2af73456fba desktop: Look for app_ids after the initial commit - b80044887e9750 src: Send out the output name for the remote role - 456f3fed4ff45b layout: Split remote from desktop role - 4a1684308bd6a1 grpc-proxy: Added set_app_output request Change-Id: I99f96aa983495b1eee2034de39526893085c7c0f Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28806 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-05-08waltham: Drop waltham supportMarius Vlad1-3/+1
Given than we don't really have any users and more importantly no maintainers it would be best to remove Waltham support entirely from the tree. The AGL compositor will shortly follow-up to remove supporting code. Bug-AGL: SPEC-4669 Change-Id: I4df495bb873d70f380dcc09cb083686f11f0b2e2 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28805 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-03-22agl-compositor_git: Bump SRCREV to latestMarius Vlad1-2/+2
This SRCREV bump updates includes some minor fixes when hot-plugging the connector, and includes set_app_float, set_app_normal and set_app_fullscreen together with an implementation for deactivation of windows using the gRPC API. With this bump we also provide a versioned so libexec_compositor library rather than a generic unversioned one. In detail the following changes have been added: - 4e4624dee9850b4a4e5 grpc-proxy: Add set_app_fullscreen functionality - 9eb8ca6ac7473107ebe shell: Reset normal state when getting back to maximized - 359a0612e48d7d21d52 protocol: Add set_app_normal request - 4af44df30c1784a69b9 protocol, grpc-proxy: Add support for set_app_float - 65fc5191f046ad8c7ba protocol/grpc-proxy: Add deactivate_app request - 28ec0cff16d62260fb1 compositor: Added layout_save/layout_restore - ee50083d93869aaa581 shell: Check for a valid ivi_surface - 02fcb317161c08bcf02 shell: Check for invalid outputs passed on when activating - d98b08f1fcb6ff6ccc7 compositor: Fix memleak when disabling the output - 53a039ff1c4b05aaacc ivi-compositor: Add support for multiple app_ids - ce8dd33f3762e0ec449 meson: Deprecate waltham and inform users of that - 6fd11a88c4d3c82e33b meson: Bump to version 0.0.21 - 4003cfb04b7bae04c32 shell: Reset the area activation Change-Id: I2a2ea18124a825e7e7709aab9c4a4285377a45b0 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28564 Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2023-02-27[agl-shell-activator] Decouple due to dependency on grpcJan-Simon Moeller1-2/+7
We also need to deal with DEPENDS and agl-shell-activator. The latter is a pure grpc implementation, thus move it to a dynamic layer. Bug-AGL: SPEC-4707 Change-Id: I308104b59333f69dfe416bd3721b11fb7e1b96c4 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28513 Reviewed-by: Denys Dmytriyenko <denys@konsulko.com> Reviewed-by: Marius Vlad <marius.vlad@collabora.com> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2023-02-16Fix dependency issue with grpc in meta-agl-coreJan-Simon Moeller1-0/+1
grpc is not in the core layer but in meta-oe . Guard the dependency and only enable when prerequisites are met. Bug-AGL: SPEC-4707 Change-Id: I922a846108ca13d8e6d50e79c3003b0b32a002a7 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28509 Reviewed-by: Marius Vlad <marius.vlad@collabora.com> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2023-01-23agl-compositor_git: Bump agl-compositor SRCREVMarius Vlad1-2/+3
This SRCREV bump includes the addition of agl-shell-grpc-server, an interface to agl-shell-desktop protocol, but instead of using wayland connection it uses Google's RPC. For the time being there's only a client using it, and that is agl-shell-activator. The plan is to phase out agl-shell-desktop entirely and use this interface as a way to perform additional window management. Further more this bump also includes a couple of connector hot-plug fixes and renames hide-cursor to disable-cursor entry section to better reflect its name. In more detail the following changes have been added: - 7ef34e0c465a7596 shell: Verify agl-shell version for bound_ok/bound_fail - c01b90ece22cc587 shell: Add fallback agl-shell version 1 - 0907e87f1576f8ad input: Fix minor issue while reporting disable cursor - c9d3edb4ee23a563 input: Rename hide-cursor to disable-cursor - 76fa1b83638310c2 src: Verify if the output is present - 79eac214d4866d84 src: Further hotplug connector fixes - 59375972f5642b7e grpc-proxy: Init gRPC - 0b766cf978b8b100 shell: Not not override the agl_shell interface resources - c42f50b567a0d5ad shell: Add a wrappers for sending events with agl-shell - 05bb0384732480a9 compositor: Allow to start other clients - 14a1292a39377472 agl-shell.xml: Introduce a new interface - 33997a7c96838795 compositor: Handle output destruction deferral Change-Id: I6df1d7fcf6d5d3abcc3c1c2b8a0cf820368a26de Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28318 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-11-23agl-compositor: RDEPENDS fixesScott Murray1-0/+2
Changes: - Add the required xkeyboard-config RDEPENDS to the agl-compositor recipe to avoid surprises if nothing else that pulls that in is in an image. - Move the agl-compositor RDEPENDS on polkit directly into the recipe instead of getting indirectly via a meta-oe presence driven addition to packagegroup-agl-graphical-weston. This is more correct, avoids surprises if that packagegroup happens to not be used, and will work better with a binary packagefeed. The RDEPENDS is still conditional on the presence of "polkit" in DISTRO_FEATURES, which seems a reasonable alternative to using dynamic-layers. Bug-AGL: SPEC-4619 Change-Id: I595f55a9d598b4a15fe345f50d1a7a203616dd15 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28184 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-11-21agl-compositor: Bump SRCREVScott Murray1-1/+1
Bump agl-compositor SRCREV to pick up: adf173e layout: Allow background surface roles (to) be activated 77d94d8 agl-shell: Add support for defining an activation area Bug-AGL: SPEC-4594 Change-Id: I4d003c4ce26fe3e6b3e3fe07b845538a5a9e508c Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28181 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2022-10-18agl-compositor_git.bb: Bump SRCREVMarius Vlad1-1/+1
This SRCREV bump update brings in a helpful way to designate a certain area such that the compositor would use it when activating applications, rather than using the entire output. When not having panels the background surface would cover the entire output, making it impossible to keep visible areas of the background surface and, in the same time, display another's application surface. While the solution would be use panels specifically designed to handle this case, that's not always possible. We circumvent that by having this area specified manually in this update, with a direct follow-up to have a request in the agl-shell protocol that specifies that area programmatically. Besides that change, a few more changes made it through, all of them being added from upstream and adapted from weston to the AGL compositor, mostly related to how we handle signals. In detail the following changes made it through since the last SRCREV bump update: - 924473ef016b Add manual activation area configuration option - 897449688a9c compositor: Use sigaction to trap SIGINT - e8761762fcd0 compositor: Add missing SIGCHLD handler - 315496ddbb9f compositor: Stop trapping SIGQUIT - f980c0d90329 shell: Rewrite client_exec as client_launch - edb6d397a4c6 process-util: Move Xwayland fork helpers to shared - 86146a4e7455 shared: add str_printf() - 1b93121761e1 shared: introduce os_fd_clear_cloexec() Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I23e0aba9f2b77cab4fe81754a8feaeebb7cea340 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28056 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-09-22agl-compositor_git.bb: Bump SRCREV to grab latest changesMarius Vlad1-1/+1
This SRCREV bump update for the AGL compositor includes two new protocol updates, one that adds two new events, specifically bound_ok, bound_fail which would allow clients to determine if they're in charge of managing panels and background surfaces. The other protocol update fixes an issue with activation by default of applications but also paves the way to move out bits from the agl-shell-desktop protocol to just the agl-shell protocol. Note that the shell client supporting the latest change of the protocol will need to add at least add stubs for the v2 of the protocol, even if v2 isn't required to be supported at all. Updates to version 3 of the protocol will be required once we'll switch out from activation by default from true to false and finally remove support from the compositor entirely and let the shell client be the one in charge for activation. Additionally, this bump includes a few fixes, most notable handling remote surface roles much better, including migration, in real time of applications from one output to another, making possible a back-and-forth movement of applications. In more detail the following changes have been included: - d08a5b2010f6e6 desktop: Do not attempt to send terminate event - 0512e7251611e7 protocol/agl-shell.xml: Add an app_state event -- app state notification - bb730ca304a5f6 layout: Handle dynamic application/surface movement between outputs - b92397ef12626a shell: Remove the black curtain installed on outputs - 372eb222b17bbc layout: Detect when an application should be migrated to other outputs - 39c91d5ccae3b6 desktop: Avoid sending the dimensions for the first output - a99d56dad0ad4a layout: State explicity the output - fc783c19e6f6b9 layout: Use view's mapping once we placed the view in the hidden layer - e1b15f95e834ac desktop: Install a black background for REMOTE roles - bb79d12c92fa6e desktop: Include REMOTE role in initial configuration - 3e72564852a6f3 agl-shell: Add bound_ok and bound_fail events and a default destructor Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I25c53e9d69270651cd40c7ee9ec3edce28f899a6 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27989 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-07-11agl-compositor_git: Bump SRCREV for AGL compositorMarius Vlad1-1/+1
Most notable in this this bump update, is the ability to receive focus (xdg-shell and input) even though there isn't any keyboard attached in the system. More than that, this update also includes a few fixes related to remote apps placement to different outputs and a fix on how we activate by default applications, in various circumstances. Specifically, this AGL compositor bump includes the following changes: - 2cc479fd8f3e53265 layout: Add a wrapper for adding the view to the hidden layer - baf8a28e6329fdb6c shell: Fix a typo when adding surface to pending list - 1797ef75adcb4c586 compositor: Allow passing continue-without-input - c859ca5a97d53a00c shell: Make sure that app_id is valid before checking it - 89440e0ffdfea2568 layout: Keep track of popup state to handle activation - 89f67c5cf793bc69c compositor: Perform activation from keybindings - 8cc1032b2f5542028 compositor: Pass flags when adding keybindgs - 9cccfe829aab45fd2 layout: Add a way common way activate views - 394b5da7676612600 shell: Extract some common functions - cac00851d454fcfe6 input: Migrate ivi_seat to ivi_compositor header - 2844fde1df83707f3 input: Remove keyboard listener keyboard focus activation - b4a52c732dbf3863b compositor: Properly dispose of fullscreen views at shutdown Bug-AGL: SPEC-2982 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I83fd9513114a6ffd4cb98a8506063544ccce377a Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27696 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-05-16agl-compositor_git: Bump up SRCREVMarius Vlad1-1/+1
This SRCREV bump is a bug-fixing update: includes some fixes with fullscreen surface roles, uses libweston's _fini calls to verify and check-up and if cleaned up correctly when shutting down the compositor, and finally, does some minor clean-ups. Specifically, the following changes have been added since the last update: - 1304d412eb2bcefd4 shell: Do not set none role for applications w/o appid - 43bdf9a42bac33df1 shell: Let the output destroy handler handle layer fini - a89fbd6702dd82c4b desktop: Document the repaint schedule - 5274f6ea9da2f119f Revert "desktop: No need to schedule a compositor repaint" - 71deafe03f41738bf shell: Added missing layer fini calls - 41791c9fa1839e93a compositor: Proper indentation - 40f5e3bbfac73375b desktop: Remove dead code - 8f85581e96bc71512 desktop: No need to schedule a compositor repaint - c40f46aa4d2644b18 meson.build: Bump up meson version - 7a7b46bd7040b2814 layout: Inform client to resize for fullscreen roles - 13ac8bab43fffd002 layout: Send dimensions when setting up property as fullscreen - 2cd345013ccaaccd7 layout: Do perform a view update transform when unmapped - b13e185e7214218ca layout: Make the view mapped at activation completion - 7ecc8c2ee8a776bb1 compositor: Rename activated_by_default to mapped Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I3f5735fad1ea99fa6ce388fbb73796436f956bf6 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27450 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-05-02meta-agl-core: switch next branch users back to masterScott Murray1-1/+1
Remove the aglnext override that was added on the next branch to switch the couple of affected libweston users (agl-compositor and waltham-transmitter-plugin) to forked next branches for handling Weston 9.0 and 10.0 changes. Now that those changes have been merged to the master branches in the respective repositories, this is no longer required. As well, bump the SRCREVs to pick up the Weston update changes. Bug-AGL: SPEC-4343 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I7a4598a9e776aefa3ec7b2bf13b2e89c086c0681 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27418
2022-03-29meta-agl-core: use next branch for weston dependent packagesScott Murray1-0/+2
Add a "aglnext" OVERRIDE in the distro configuration, and use it to select the "next" branches in the agl-compositor and waltham-transmitter-plugin recipes, and use AUTOREV for their SRCREV. The latter will allow rebasing the next branches in those repositories as next branch updates occur without requiring SRCREV updates every time. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I4f2a57fface53374d9428b5af1c6ad02edfde7eb
2022-03-18wayland/agl-compositor_git.bb: Bump SRCREVMarius Vlad1-1/+1
Another bump update for agl-compositor, addresses a small issue found while using the cursor + some left-overs which have been added with the previous update. Since the last SRCREV update, the following changes has been added: - cec4cf8fe409c layout: Address all other callsites w/ dirty+surface damage - 62e020b90b062 layout: Inflict surface damage - b06ffcc3ca1ed layout: Remove left-over comment - f24765124d3a5 Fix potential memory leak - 9cc8100eef72b meson.build: Don't set the dependency type for wayland-scanner - 26c37c4140ce5 Fix potential memory leak Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Id2ba7019777da1c06fdecec5a174c8bfeae1a7f3 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27252 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-01-19recipes-graphics/wayland/agl-compositor_git.bb: Do another SRCREV bumpMarius Vlad1-1/+1
As it seems I've broken the screenshoter for single ouputs, this bump is necessary to get it working again in CI. Specifically this bump includes the following changes: - 2ee86feebc8888d client/screenshooter: Compute the width/height for a single output - 838df78fe94e5bb agl-compositor: Add NULL check after creating surface/view Bug-AGL: SPEC-4217 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: If5ad858d2e9aed9f8fc074f7240b54334267538c Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27083 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-01-12recipes-graphics/wayland/agl-compositor_git: Bump agl-compositor SRCVREVMarius Vlad1-1/+1
The most notable change is an update in the agl-shell protocol and with a version increase. A few other bug-fixes have also made it. Specifically, since the previous update the following changes have added: - 471a12ee38098aaa agl-compositor:Add NULL check after zalloc in src directory - 18918978ba5c0f91 agl-compositor:Add NULL check after zalloc in screenshooter.c - 6371b14eb0abbb23 agl-compositor: Correct several spell issues in the protocol xml files - 53046f8863e0320d agl-compositor: Correct several spell or grammar issues in the README.md file. - fd4708c898aafc58 layout: Remove explicit damage call - d456a0c59a316f8f layout: Inflict damage on all subsurfaces - c0bc469e505b91e0 meson.build: Bump compositor version - 9e9c768ad6360ef5 shell: Refactor pending surfaces for existing pending ones - 6d4038380b39f204 src/desktop: Add a compositor destroy listener - 5101851ecb304e75 src/shell: Add set_app_property_mode request - e4f4aef1a5b1feb9 layout: Fix-up the positions when placing the pop-up/dialog - 52df92d73985dba8 shell: Fix passing maximized state from the start - b25020f9a5055c4c meson.build: Add a waltham-transmitter pkg-config pc file - e5016cbc47b46b86 meson.build: Conditionally build with headless support - d6f64b665a39e0bd meson.build: Clarify out-of-tree build error - 5b8d4c56e7d793cf clients/screenshooter: Fix taking screenshot on multiple outputs Note that with this bump update, starting with `c0bc469e505b91e0 meson.build: Bump compositor version` all clients using the agl-shell protocol will have to be updated to use agl-compositor-protocols-0.0.20 version. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ica7bb61f16664fb74f051fd7bf2e61120cb1dba7 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27074 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-11-04meta-agl-core: Update weston/agl-compositor initScott Murray1-1/+4
Changes/rework to get weston and agl-compositor starting again: - Since an upgrade to a newer Yocto release is in the near future, update weston-init and associated files to effectively backport the new weston startup behavior added in 3.3/Hardknott as our new base. The changes mean weston or agl-compositor will by default start as a "weston" user that replaces the "display" user that had been added previously in AGL. The goal is that any new work done on top of this base should hopefully work on 3.5/Kirkstone without further substantial rework. - Add new agl-compositor-init recipe that replaces the previous weston-init bbappend in meta-agl-demo. Having it as a separate recipe in core so weston or agl-compositor "just work" in simple test images seems like a better approach. - As part of the above, drop the --log option to agl-compositor in its command-line to address SPEC-4112. - Add SYSTEMD_DEFAULT_TARGET definition to agl-image-weston and in a new core-image-weston bbappend to result in agl-compositor and weston starting automatically in the corresponding images. This is required with the new weston-init behavior until we upgrade past 3.3/Hardknott, when "weston" in IMAGE_FEATURES can be used instead. Bug-AGL: SPEC-4121, SPEC-4112 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia64894416846569abf8e744006ef26637279a895 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26782 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-09-02agl-compositor_git: Bump SRCREVMarius Vlad1-1/+1
This bumps up SRCREV to include 'compositor: Do not allow vt-switching by default' Bug-AGL: SPEC-4063 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I45c174499373ad8fe9a8aaadac34abc7ff723a38 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26605 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-08-23Convert to new override syntaxScott Murray1-3/+3
This is mostly the result of running a slightly customized version of the convert-overrides.py script from poky with additional overrides added. A few minor fixups were done by hand afterwards during a review of the changes. The intent of these changes is to minimize the effort to keep the "next" branch that builds against poky master up to date and tested in preparation for the switch to the next Yocto LTS release in early 2022. Bug-AGL: SPEC-4052 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia3bf63b7cb1aa1d95ada373d1a3ab56def0a125d Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26564 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-07-30agl-compositor_git: Bump SRCREVMarius Vlad1-1/+4
This bump brings no functional change, it just re-factors some of the code in the compositor to match a bit more to what upstreaming into has in weston, and paves the way to add support for testing, and with it, to include headless backend loading. The bump would need changes in the recipe so it will have a couple of follows-up, to compile the headless back-end and install a run-time shared library. Note this change squashed headless-backend support as well to make CI happy (Bug-AGL: SPEC-3964) and Install the run-time shared library (Bug-AGL: SPEC-3964) In more detail, the following changes have been included: - de7cdb0314af949 compositor: Avoid loading systemd-notify plug-in - ae60166cd931609 meson.build: Install run-time shared library to a specific path - 0bef8700f21b9e7 main: Split of main() from wet_main() - 65361f9f7979056 main: Copy cmd line args and print them - ccda88821b5bd9a main: Teach agl-compositor to load additional modules - 61dff3ff317c4d6 main: Add support for loading the headless-backend Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I49bbb216cb723db6a104d9e2753f5ddeb9bdd9f0 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26442 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-07-13agl-compositor: Move protocol files to the -dev packageMarius Vlad1-5/+9
Bug-AGL: SPEC-4015 v2 (jsmoeller): simplify protocols recipe v3 (jsmoeller): pkgconfig needs to be in the protocols package v4 (mvlad): Re-phrase the commit description v5 (mvlad): leave DEPENDS alone v6 (smurray): Untagle commit message Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I21fa9b40ad07871b956abcbb4e79c8f5d742522c Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26490 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account
2021-04-26recipes-graphics/wayland/agl-compositor: SRCREV bumpMarius Vlad1-1/+1
The major change in this bump, besides some smaller fixes, is that the compositor would send to the client (before attaching a buffer to a surface) the initial surface dimensions, thus not needing any resizing code for the client to handle, making this a nice optimization to have to in. Obviously, this happens only for regular clients, w/ the client shell, still required to handle the resizing of its buffers. With this bump we also remove an external dependency patch (which should come as a follow-up to this) and increase the compositor version. In detail the following changes have been added: - 68d184f9d541a47 meson.build: Do a release update before libweston9 integration - 483d363b9e724a0 layout: Remove weston_output_damage dependecy - e35c7858a788b46 layout: Fix split role sending invalid dimensions - 80febb3fbcebe88 desktop: Tell clients to use current geometry area from start - 46e2d5e441dfb9f desktop: Send remove event only if output and app_id is set - d85915199c8a321 Notify about application destruction - fd860492da6fb07 Allow unregistered applications in rba Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Iaed23aae27695db51260b7b04e3d9e0a5a053aa2 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26278 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-02-05agl-compositor: Bump SRCREVMarius Vlad1-1/+1
This update is needed to allow unregistered/unknown applications in/to the RBAModel json to be displayed. By default no application would be allowed. This can be tweaked by modifying the weston.ini file. By default it is off/not set. In detail this update includes the following the changes: - fd860492da6fb07f Allow unregistered applications in rba - 47386558dbc95387 Use parameterized constructor of RBAArbitrator - 79bc7999332d55b7 Update architecture diagram with a small legend Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I6249fd934868b6c064cf9f183e3db5282ffdc2bf Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26024 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-01-22agl-compositor_git: Enable loading waltham-transmitter-pluginMarius Vlad1-1/+3
The build system is able to determine if it can build support for loading the plug-in when waltham depedency is satified. We add that based on AGL_FEATURES. Bug-AGL: SPEC-3601 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Id7279fddc12c78472ae22a480626106a00ea30db Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25699 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-01-13agl-compositor: include runtime dependencies in PACKAGECONFIG for policy-rbaJan-Simon Moeller1-1/+1
Update the PACKAGECONFIG line to include run time dependencies next to the compile time dependencies. Without these there is not policy file in the image leading to: [14:54:42.539] Sending ready to systemd [14:54:43.126] Unable to find /etc/rba/RBAModel.json file!! [14:54:43.126] libwayland: error in client communication (pid 851) [14:54:43.244] Unable to find /etc/rba/RBAModel.json file!! [14:54:43.244] libwayland: error in client communication (pid 837) Bug-AGL: SPEC-3738 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I95052f51c24957c89aaa8da4385b7bf878eebf03 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25903 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2021-01-12agl-compositor: Bump SRCREV for agl-compositorMarius Vlad1-1/+1
Bumps agl-compositor to latest changes to include support for RBA (role base arbitration policy) and make screenshoting debug feature a bit easier. - e1e8c07e202ffc Added rba policy implementation - 838efcb58cbe08 meson.build: Fix building with cross SDK - c5d2c447df7c07 main: Add activate_by_default ini option Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I6935daa51730a34dcc1bce8705409d7f6e96264b Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25890 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-01-12agl-compositor: added option to build rba policyAnusha Gugale1-0/+2
- Changes related to install specific file of rba, add PACKAGECONFIG option for rba policy. Bug-AGL: SPEC-3738 Signed-off-by: Anusha Gugale <external.agogale@jp.adit-jv.com> Change-Id: If9697fce3be8c238c363558fddec53bff5da8df6 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25845 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-12-17SPEC-3723: restructure meta-aglJan-Simon Moeller1-0/+28
Goal is to reach a minimal meta-agl-core as base for IVI and IC work at the same time. Trim dependencies and move most 'demo' related recipes to meta-agl-demo. v2: changed to bbapend + .inc , added description v3: testbuild of all images v4: restore -test packagegroup and -qa images, compare manifests and adapt packagegroups. v5: rebased v6: merged meta-agl-distro into meta-agl-core, due to dependency on meta-oe, moved -test packagegroup and -qa images to own layer meta-agl-core-test v7: Fixed comments from Paul Barker v8: Update the markdown files v9: restore wayland/weston/agl-compositor recipes/appends, reworked to move app f/w specific changes to bbappends in meta-app-framework and only demo specific weston-init changes to meta-agl-demo v10: fix s/agldemo/aglcore/ missed in weston-init.bbappend Description: This patch is part 1 out of 2 large patches that implement the layer rework discussed during the previous workshop. Essentially meta-agl-core is the small but versatile new core layer of AGL serving as basis for the work done by the IC and IVI EGs. All demo related work is moved to meta-agl-demo in the 2nd patchset. This should be applied together as atomic change. The resulting meta-agl/* follows these guidelines: - only bsp adaptations in meta-agl-bsp - remove the agl-profile-* layers for simplicity -- the packagegroup-agl(-profile)-graphical and so on have been kept in meta-agl-demo - meta-agl-profile-core is now meta-agl-core - meta-agl-core does pass yocto-check-layer -- therefore use the bbappend + conditional + .inc file construct found in meta-virtualization - meta-agl/meta-security has been merged into meta-agl/meta-app-framework - meta-netboot does pass yocto-check-layer - meta-pipewire does pass yocto-check-layer Migration: All packagegroups are preserved but they're now enabled by 'agl-demo'. Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia6c6e5e6ce2b4ffa69ea94959cdc57c310ba7c53 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25769