summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-graphical/recipes-graphics/wayland/agl-compositor_git.bb
AgeCommit message (Collapse)AuthorFilesLines
2020-12-17SPEC-3723: restructure meta-aglJan-Simon Moeller1-28/+0
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
2020-12-10agl-compositor_git: Bump agl-compositor SRCREVMarius Vlad1-1/+1
This agl-compositor bump adds support for loading waltham-transmitter-plugin, that handles the remote input, and for streaming out buffers by making use of remoting plugin. Further fixes have been added, most importantly to handle the case were applications do not have an app_id set. Along side that, clients using GDK/GTK toolkit can run correctly. - bdd8dd718496 layout: Do not attempt to activate surfaces that doesn't have a valid app_id - 54ab8a8cc447 shell: Throttle the log message - 9c605257e22e build/: Allow to build the compositor w/o waltham - 16ab9c3ba0e2 shell: Perform wl_list_init() after wl_list_remove() - 7239ababba46 desktop: Allow to remove surface from pending list - 47d79bb6a1f1 desktop: Do not attempt to advertise the clients if there are none - 308078596396 desktop: Delay surface creation until committed - 681f5df23492 shell: Destroy weston_transmitter_surface as well - 27e99ddcad08 shell: Keep a reference to weston_transmitter_surface - ea7a72cbc284 desktop: Insert a black surface only when the output is a remote type - 3d32d6d6daf5 desktop: Group tests for checking against last remote surface - 456fe3dd3b28 shell: Push the surface to the remote side - 3f05a28017b2 main: Create a remoting output if the waltham plug-in has been loaded - 36d2a12f8176 ivi-compositor: Add the ability to distinguish between different types of remoting outputs - a30af04e6f81 main: Add support loading waltham transmitter plug-in - 06e9aa93360b layout: Check app_id for remote type of surfaces - dce67758ac77 shell: Avoid creating and inserting black surface - b4d7a5a1861d main: Use the output handler to destroy to black view - fe771c084c2f shell: Advertise app when app_id is available - abe3abc327b7 shell: Avoid advertising applications without app_id set - 51a77a42b400 main: Create black surface after listening socket Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: If5ac067121a814e512ea7648af8290774a60558a Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25670 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-10-13agl-compositor_git: Bump SRCREVMarius Vlad1-1/+2
This bump brings brings a bug-fix for a corner-case that dealt with hiding/showing surfaces, and it adds the agl-screenshooter protocol and a client with it -- useful to allowing users to take a screenshot but also in CI to have some basic sanity testing. In detail, the following changes have been added: - 9bb8ea6f615650 Use a configuration option for hidding out the cursor - 17d86f9b8afa69 main: Enable screenshoter interface when debug option is passed - 3ba840cd3a5a2f input: Add basic seat handling - be8288cc5b1270 client/screenshooter: Client for taking screenshots - 991714fc7f92ae screenshooter: Add agl-screenshooter protocol - 1f888f2050ac50 layout: Set active output NULL when displaying background Squashed and install agl-screenshooter client in the same commit to please yocto/OE. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I19d2b3e3176bae3586cb2913aeacbd25fd48bde7 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25309 ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Tested-by: 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-09-11recipes-graphics/wayland/agl-compositor: Bump SRCREVMarius Vlad1-1/+1
Update SRCREV to include a work-around for clients that will set-up an application after the initial commit of the surface. The following changes have included in this bump: 0056122343c7829 layout: Activate by default xdg surface that do not have an app_id set 8769c76e59ec448 layout: If no valid output found, abort early with a protocol violation Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I074d159f70c9e86527c9721bfc26519fce7ea838 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25243 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-08-04recipes-graphics/wayland/agl-compositor: Bump SRCREV for agl-compositorMarius Vlad1-1/+1
Bumps the agl-compositor to the latest version. This update removes, from the default, allow-all policy, the private extensions bind tests, such that applications making use of those private extensions are free to bind to them. We'll need some better ways to corroborate/integrate with AFM to allow a dynamic way to communicate which applications can bind to those private extensions. On the other hand, for the deny-all policy, the permitted application list has been extended to include the cluster dashboard and the cluster receiver applications, and users can use that in practice if they require some mechanism in place to control which application can bind to the private extensions. In more detail, the changes are: - c7bc55dce459 layout: Add missing hooks for other surface roles - bf016d204089 layout: Advertise state change for other types of surface roles - 35f6733fb39b shell: Assume consistency with the desktop roles - 5fe16df23483 policy-*: Remove any private binding restrictions for allow-all policy Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I3c25af73a76404c87e09245fee04d0f3a2a48ad9 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25057 ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Scott Murray <scott.murray@konsulko.com>
2020-07-10recipes-graphics/wayland/agl-compositor_git: Add PACKAGECONFIG forMarius Vlad1-0/+2
deny-all policy Bug-AGL: SPEC-3432 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ib91bfe7056ad268f660243d3f859c9eb5f9fd1f4 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24928 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: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-07-10recipes-graphics/wayland/agl-compositor_git: Update SRCREVMarius Vlad1-1/+1
Another round of updates for agl-compositor. This update adds a deny-all policy engine, and adds checks in the allow-all policy as to use SMACK labels to check the clients binding to the agl_shell* interfaces. The allow-all policy is still in effect, with the deny-all policy being available to be used as a meson, compile option. A few minor corner cases fixes, found while testing out waylandsink. The update includes the following: - 39ea644837d desktop: Fix destruction of applications that fallback to the desktop role - faea097edab shell: Avoid checking against surfaces that do not have an app_id - 40da59d00a7 README: Add a few words about the deny-all policy engine - 572d0eac44f desktop: Allow desktop_api to handle surface removal - 03f51daf2fc policy: Add a deny-all policy as an example - ea317303ac4 policy-default: Use libsmack to check client label - bbf173123cd policy: Add a new policy hook to restrict access to private extensions - 9827cfd2557 desktop: Avoid referencing the output's surface for pending surfaces Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ibd67e06a60b18334d3c07c2f6c710b7e77201148 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24927 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: Scott Murray <scott.murray@konsulko.com>
2020-06-25agl-compositor: Update SRCREVMarius Vlad1-1/+1
Bump SRCREV to match latest master. This update includes the following changes: - 06773d6a doc: Added arch diagram - 03755785 README: move README.md to doc/ - 51be2ca7 layout: Clip the view to the size specified by width and height - 7854caac shell: Pass the bounding box values to the pop-up surface - 40d73940 agl-shell-desktop: Add the ability to pass width and height as area of the bounding box - 9701fd67 (review/marius_vlad/24652) shell: Advertise application_id event for other surface roles - c8d025cd (review/marius_vlad/24651) layout: Do not attempt to activate the surface on the remote output - 16826129 src: Mark surfaces with the 'remote' role if configuration file says so - 81be1de5 main: Do the installment of black surfaces for remote outputs as well - ba9b65aa shell: Add some extra checks to make sure we don't trip ourselves - a04518d8 main: Enable remote outputs later than local (DRM) outputs - 7536014f main, layout: Minor clean-ups and added some further logging - 9af06129 main: Retrieve the agl-shell-app-id from the config file - bafead57 main: Retrieve the transform and scale from config file - 9f2f83ea src: Create an ivi_output for the remote output - 22514079 src: Hold a reference for remoting_api in the ivi_compositor - b3c4f205 main: Add the ability to load the remote plugin - 7af3d376 desktop: Remove commiting code for the panel - b491db31 shell: Do not remove the black surface if we don't have a background set for that output - c6941d74 desktop: Display a black surface for apps being moved using config file - 9d29ef9f layout: Remove black surface when trying to use migrate views to other outputs - 8df7681a src/: Use agl-shell-app-id to set-up views on a different output - f235042e layout: Add a wrapper to print out the surface role - 5c90f163 src: Insert a black surface/remove it when the last remote surface role is present - f88d870a layout, desktop: Treat the remote surface role like the desktop one - 226f4ca4 layout: Remove the quirks as now we have the policy hooks in place to handle that - 978c7f8c src/: Add the remote surface role - 0e4d30b4 src/: Add all surface roles to a wrapper for retrieving the output - 496b4170 (sandbox/mvlad/split-wip-take2) layout: Do not attempt to activate a split or a fs surface - a9ae8d75 layout: Resize the active surface when doing the split - 831d1b21 layout: Allow to commit the fullscreen and split surface roles - a2d066f0 layout: Remove unused ivi_compositor reference - af2b5c21 shell: Determine the role type - edbfbad7 shell: Introduce fullscreen and split role type of a surface - f73edbcf desktop: Missing assert include - a2f9566b desktop: Handle correctly panel and bg removal of agl-shell unbind - 79420056 README.md: Add documentation details about agl-shell and agl-shell-desktop Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I67971d937e0348d31c2e47c70ebffe6127f96bbe Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24865 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-06-24Make the agl-compositor the default compositorJan-Simon Möller1-1/+5
This makes the agl-compositor the default starting with Jumping Jellyfish For development purposes, you have these variables at hand to influence the setup: AGL_DEFAULT_WESTONSTART AGL_DEFAULT_WM_SHELL Check your conf/local.conf for details. Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Change-Id: Iceb35375e04f947009800b80511f6360026403fe
2020-05-14agl-compositor: Update SRCREV for libweston8 updateMarius Vlad1-1/+1
The following update adds support for libweston8, pop-up kind of dialogs, a few fixes and includes the following: - 1956bd3bfb0 main: Convert to using the logging/debuggging fraemwork - ac4e3581fb1 main: Add a (valid) return code when exiting - 61dea1841a4 main: We don't have weston-debug extension available - a7887be3ed9 meson.build: Add a meson variable to track libweston version - 35b1ed57d2a main: Subscribe to the logger scope - 6e60f22455c meson.build: Update build version - 25ede504313 policy-default: Install default for the state event notify - b4ae3794bc9 policy: Add another hook for controlling the application state change event - 401773a4639 protocol: agl-shell-desktop: Send notification for application state change - 795eb91d057 policy-default: Install default policy for deactivate request - ee9259703dc policy: Add a new policy hook for deactivating apps - 65f9de0a549 policy-default: Add the de-activate request to the default policy - d0b4585202c agl-shell-desktop: Add the ability to hide client windows - 410d47884ff layout: Save the pending output - ef3d1990c49 shell: Store the ivi compositor in the desktop_client - 5ce0b5d5200 layout, desktop: Implement the pop-up role - ab151e5d3d1 agl-shell-desktop: Allow to set role properties for the application - 63b6b6b1e14 shell: Display previously pending surface once the ready request was received - 225415dcbad meson.build: Increase agl-compositor version for libweston8 upgrade - f5141881d54 main: Update weston_compositor_add_log_scope to libweston8 - 79dacfa4f3d meson.build: Increase to libweston8 dependency - 457456edb3d main: Use bool for weston_config_section_get_bool() Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ifcc94efa9a84fb261330a43d7e22efda1bbde1ca
2020-04-20Update SRCREV for agl-compositorMarius Vlad1-2/+2
This brings up two major bits of functionality: the introduction of the agl-shell-desktop protocol, which should be used by regular application(s) to activate/switch other to other applications, and the introduction of the policy API and with it, a default allow-all kind of policy engine. In more details, the following changes have been included: - fcd71e034d378921e layout: Mark activated surface by default - 1ee1bff64338dede1 desktop: Remove the active surface only if matches the one being displayed - 0e66ee13b73e3ca21 meson.build: Increase the build version of agl-compositor - 721d4d4f73e5d30ce README.md: Start adding some light documentation on the policy part - 0a932bc7d66b062e6 layout: Allow by default to activate the application - 58a3fe5c292349916 policy-default: Install a default policy engine - 98457c49f5d777e40 policy: Init policy framework API - fe3358fa9b560a43e ivi-compositor: Use the helpers for array length - 6491e204fd4a9bd2d meson.build: Do another agl-compositor version bump - 72aa326d8f54ad75c meson.build: Install agl-shell-desktop extension - 786f91bd280b83049 protocol: Advertise the applications to regular clients - a35a7f2e5cc20bd40 protocol: Add agl-shell-desktop protocol This patch also installs the agl-shell-desktop XML file. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Icaec7e375242a0266383523806e5eca40d75b652
2020-03-11agl-compositor: Update SRCREV to use libweston7Marius Vlad1-1/+1
This includes the following changes (all of them related to the libweston7 upgrade): - dbba1adda7f meson.build: Increase version of the compositor - b352cee6f81 meson.build: Build X11 backend optionally - 93523a7f38b meson.build: Increase wayland-protocol version dependency - c769a272324 main: Add support for the logging context when creating the compositor instance - a17bac48464 meson.build: Upgrade build and headers to libweston7 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I94e5077c48eca76092306892d6e25e345eeda45e
2020-02-17agl-compositor: Update SRCREVMarius Vlad1-1/+1
Includes the following changes: - 357c5a034a89dc meson.build: Allow to install the private extension - 405a475fa64594 Update .gitreview file - ca5e2aec22cb7b meson.build: Allow to build/install locally - ed4a9b0d9c5937 meson.build: Enable Wextra and transform warning messages into errors - 191dc29c7d05d8 main: Avoid warning on un-initialized display - b43a012824af01 shell: Add a black surface in the fullscreen layer - 433edac095bb14 desktop: Remove the surface in all cases - ab2e660c891df7 desktop: Reset the active surface - f8457f6d62370f shell: Allow the client shell to unbind/rebind to agl-shell interface - 08ea4a2fec76b4 layout: Do not delay mapping of desktop surface until commit time - 3950b7e787c19b layout: Use the background's surface ivi_output when activating apps by default - ffd00ab3a05351 ivi-compositor: Add systemd notify message - 219a513fd959b8 shared: Add some regular helpers - e5027ce09a4440 layout: Force a repaint of the entire output - 0e47c84e348b65 layout: Print out when adding panels/background - 2d7243208d3e45 src/: Add basic support for app switching Change-Id: I366880b5fb5a09a23d9af26ea638ad5e1f14dafa Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2020-02-14agl-compositor: Install agl-shell protocolMarius Vlad1-1/+1
As with 357c5a034a89 we now install the agl-shell protocol, so make yocto aware of it. Change-Id: I6976d9ebb86287305f45580a65a2c36b31f99488 Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2019-11-26graphics: Add agl-compositor recipeDaniel Stone1-0/+21
Add a recipe for the new AGL compositor and enable it when building the Weston package group. Change-Id: I3fe88370a4fc6a01b8ba8c3126a407cd9c39a842 Signed-off-by: Daniel Stone <daniels@collabora.com>