summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2025-01-10layout: Check for valid app_id on previous apptrout_19.90.0trout/19.90.019.90.0Marius Vlad1-1/+1
This is an oversight so let us fix that as well. A corner case which we can trigger after closing/opening the same app. Bug-AGL: SPEC-5324 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Idaa3da8edb8231d6f4be66654ea42eb617651093
2025-01-10src: Remove 'mapped' of ivi_surface and use the weston onesMarius Vlad4-36/+12
Remove artificial mapped state from a ivi_surface, and rather use the one from Weston. libweston now has helpers for this so let use those, rather than inventing one. Bug-AGL: SPEC-5324 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I785997d4e16049851e7a39451edd34775884ef47
2025-01-10layout: Add missing mappedness checksMarius Vlad1-6/+3
Required for remote output. Bug-AGL: SPEC-5324 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I7c417225ff30f54d1046ff362249931ac3b45c46
2024-12-29Add drm-lease supportNaoto Yamaguchi6-1/+123
Add an option to use a DRM lease instead of a DRM device as the video output. This will allow agl-compositor to operate alongside other applications output via a DRM lease. The original patch developed by Damian Hobson-Garcia <dhobsong@igel.co.jp>. This patch based on his work. On the other hand, it cause some build error in case of disabling a drm lease build option. This patch improve to fix build error in case of disabling a drm lease build option. Bug-AGL: SPEC-4889 Change-Id: Idd76d574ee9cfd72f97657dddaa40d904fa2788b Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
2024-12-09compositor: Read modeline for PipeWire outputMarius Vlad1-4/+12
We seem to have missed adding the ability to specify a modeline. This is similar to native DRM outputs, specifying mode=widthXheight would give us the output modeline resolution. Bug-AGL: SPEC-5235 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I455cfec7b4f937aa8b5d038b4df599aa1dff5d3f
2024-12-09compositor: Don't leak ivi_backend upon failure to load backendMarius Vlad1-0/+5
Bug-AGL: SPEC-5317 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ie8ec8f36d68c6a6d9a157bc555a3e6c48a620529
2024-11-27meson.build: Update meson version to 1.0Marius Vlad1-3/+3
And use it accordingly. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: If2481ef72f8f73cff218f790e06305453b7374ce
2024-11-27clients/stream-pipewire-output: Add script to stream PipeWire outputMarius Vlad2-0/+41
This can be used to automate streaming content from weston's pipewire output. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I06425217934244cb4d7bbc63bf838b13733721e6
2024-11-27layout: Move the logging and activation at first mappingMarius Vlad1-9/+10
We'll spam the journalctl and send continuous events that we have been activated so let's move than when we only map the application. Everything else stays the same. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I0843d6b3b53d89e38f7cfd3ab42fa842bb30c144
2024-11-25compositor: Add support for loading multiple back-endsMarius Vlad2-66/+171
Using multiple backends allows to mirror out output or have different outputs like RDP, VNC, PipeWire. So yeah, allowing to load them as the same time will help towards different goals. Bug-AGL: SPEC-5290, SPEC-4689 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I0657fee5b1105007fd4ef00ac237b0ee2d68ea21
2024-11-25compositor: Add support for loading PipeWire backendMarius Vlad2-0/+126
Bug-AGL: SPEC-5289 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I4a19aa6d242154db398578e2bdff452f713d7116
2024-11-25compositor: Remove loading of remoting plug-inMarius Vlad2-219/+0
In preparation of adding PipeWire backend. Remoting plug-in will be removed from libweston and finally we plan on using PipeWire so let us not keep the code anymore. Bug-AGL: SPEC-5291 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Iba368fbed712cb0cd59a31282ba9c50525ffff7f
2024-11-25desktop: Remove notification for mapping first timeMarius Vlad2-26/+0
This no longer has applicability as there's no one to use it (agl-shell-desktop was the only user for it). Bug-AGL: SPEC-4672 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Id907d0670592b54e776267c193859f981a09f44a
2024-11-25compositor: Remove agl-shell-desktop extensionMarius Vlad6-590/+107
This has been for some time now in the making so let's remove it as we have gRPC proxy for some time now. Bug-AGL: SPEC-4672 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I2cb627cb30ef7756239779c70d9d9d2e317afed0
2024-11-25layout: Use weston_view_move_to_layer when adding to hidden layerMarius Vlad1-41/+12
Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I6b0fa5a0ccb491ab18fcad23f4655beadb364a32
2024-11-25layout: Use weston_view_move_to_layer helper for de-activating viewsMarius Vlad1-11/+4
Finally, adjust the de-activating views. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I64e0c548c676ad9852bc5fe293eb76635e370c21
2024-11-25layout: Use weston_view_move_layer for all other surface rolesMarius Vlad1-40/+21
Simiarly, make sure all call sites are using the newer helper. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I83b18a80e28d1c6df83b7c46abe58cdbbba4b1ee
2024-11-25layout: Update layout to use weston_view_move_to helperMarius Vlad1-6/+4
This for the hidden layer part. Split these into multiple chunks in case I need to backtrack, or we encounter regressions. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: If0b8832eede274dae319337668d90f20405dac16
2024-11-25layout: Update layout to use weston_view_move_to helperMarius Vlad1-23/+11
Purely cosmetic, but let's update any missing call sites. Makes easier when we update to newer version of libweston. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ib514bc426d46e00ba3cc897767b7e9a4dd3f96a0
2024-08-21compositor: Add option to disable black curtainsMarius Vlad3-9/+15
Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I089b52fd9a908bb7b7b6b78119c1c34216b4be21
2024-08-21compositor: Align to the right the remoting outputMarius Vlad1-0/+2
This was an oversight when we migrated to libweston 13, so align the other right to avoid overlapping with the other outputs. This should allow remoting to work, assuming that host can actually grab the frames. Bug-AGL: SPEC-5230 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I0de113804a5888dba38869e5afb857a162389de2
2024-07-16layout: Don't assume we have background surface set-upsalmon_18.90.0salmon/18.90.018.90.0Marius Vlad1-2/+2
set_background request assumes we have set-up a bg surface which might not be the always case. Just avoid dereferencing before testing for a valid background surface role. Bug-AGL: SPEC-5205 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reported-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I3481d7eda83c8d6e7605dc0e8fec240029405808
2024-04-26compositor: Use stdint for specifing integer storagericefish_18.0.0ricefish/18.0.018.0.0Marius Vlad1-1/+1
Fixes the following build failure on arm32: | ../git/src/compositor.c: In function 'log_timestamp': | ../git/src/compositor.c:1848:39: error: format '%li' expects argument of type 'long int', but argument 6 has type '__suseconds64_t' {aka 'long long i nt'} [-Werror=format=] | 1848 | snprintf(buf, len, "%s[%s.%03li]", datestr, | | ~~~~^ | | | | | long int | | %03lli | 1849 | timestr, (tv.tv_usec / 1000)); | | ~~~~~~~~~~~~~~~~~~~ | | | | | __suseconds64_t {aka long long int} Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I9c9a532e2535501035867ed29a2d296900509489
2024-04-20clients/screenshot: Add support for weston output captureMarius Vlad8-775/+1075
libweston now provides a protocol which we can use for doing screenshots, not needing to provide one ourselves. This imports a simple client used in Weston but it has some changes to match our current args. Bug-AGL: SPEC-5095 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I00c9e976975447c74668fbfe1045b9177c623064
2024-04-20compositor: Fix wet_process cleanup on compositor shuwdownMarius Vlad3-11/+19
Bug-AGL: PEC-5104 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ib57d93378847cf2c7fa07782d983a179fa4a7ce8
2024-04-17compositor: fix building with RDP disabledScott Murray1-1/+2
Fix declaration of stub function used when the RDP backend is not enabled. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2024-04-09compositor: Add support for building XwaylandMarius Vlad5-130/+288
This updates with the Weston's front-end. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Id421bdd04fc6943e991cbf51e9478450411721ef
2024-04-09compositor: Fix RDP loading codeMarius Vlad1-5/+22
Some minor changes were added to the RDP backend, so these just updates our loading code to it. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I411c825c098a4201a0d017856da3d979f5d9f6ff
2024-03-28compositor: Fix loading nested X11/Wayland backendsMarius Vlad1-5/+31
The AGL compositor frontend uses ivi_output to denote an output and pass it around, with the implication that's available on retrieval later on. In order for that to actually work, and by the mechanism we are retriving it we need to install a destruction handler a bit earlier, such that is available. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ifbbfff67c75f98fe4ce84613674fb308880bf7e6
2024-03-28compositor: Add more error messagesMarius Vlad1-4/+17
This prints out eariler when a backend failed to load. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I0414d65199177c70c9d98fd6920f70e18b415f4b
2024-03-28layout: Fix panel initialization with no weston surfaceMarius Vlad1-2/+2
Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ib60ad86aa893d812ce4cf2babbb28b860c9b94a4
2024-03-28compositor: Re-work the DRM and other backends loading phaseMarius Vlad1-82/+199
This follows Weston frontend code for loading up and head/output enablement. RDP, Wayland and X11 backend loading are all handled through the same common code, while the DRM one has a clear distinct one. This greatly simplifies the loading phase and provides a more easier, intuitive code review. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I97d39004dea0e030478f27ea18989887b8e2cc82
2024-03-28layout: Migrate the layout save/restore to a more useful placeMarius Vlad4-91/+93
Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I5d7284de09485a42dd84075b5fa2268a81982745
2024-03-28compositor/build: Remove HEADLESS backendMarius Vlad2-87/+7
Headless backend was introduced to test out the compositor but never materialized. Besides removing headless loading of the backend, also do a bit of clean-up and remove vnc and pipewire strings as we currently have no such backend capability at this moment. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I87fdc0aa6c41bdcc8b1f53880860df7139ca7ae8
2024-03-28compositor: Don't reuse weston_compositor_create_outputMarius Vlad1-18/+9
With libweston 13 we don't have a create with head option. Just use the one available has underneath that's what is using as well. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I236d9caa193dafdd20dc2636a517c4e5bf597bd7
2024-03-28layout, shell: Use implicit layer move to add views to layersMarius Vlad3-27/+18
This afffects the background/panels and black curtain installment, with regular activation still using the older approach. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: If8f8272fa29e02535eb5751a3119eb6deba0c3ae
2024-03-21compositor: Fix RDP and HEADLESS backends loadingMarius Vlad3-9/+14
Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Id2a3001e02f1be62c621f942be69e5006c20e7a3
2024-03-21compositor: Adapt loading to latest versionMarius Vlad2-31/+38
Some missing bits to adapt to loading correctly the backends. Bug-AGL: SPEC-5096, SPEC-5061 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ibc97d9701ca6dfd7326362fcd2dcf3af681ad704
2024-03-11src: weston_process renamed to wet_processDenys Dmytriyenko1-6/+6
Also, wet_process.cleanup now takes extra data argument. Bug-AGL: SPEC-5061 Change-Id: I2e7e6d976663a41d0a53866d6bde4df0531f1790 Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
2024-03-11src: weston_compositor_load_backend now returns backendDenys Dmytriyenko2-17/+14
And since weston_compositor structure now doesn't provide backend field, move it to the parent ivi_compositor structure. Bug-AGL: SPEC-5061 Change-Id: Ia0463ecdf149172c67857131530fc42e56fe5190 Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
2024-03-11src: use weston_coord_* structuresDenys Dmytriyenko4-46/+49
Offsets and coordinates are now handled and passed around via corresponding weston_coord_* structures. Bug-AGL: SPEC-5061 Change-Id: Ifa6958cce71eca80e4412545c3542842cd4d64da Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
2024-03-11meson.build: update for weston 13Denys Dmytriyenko1-1/+1
Bug-AGL: SPEC-5061 Change-Id: If56c7121b48ab5f826534e3dc538052f4bdef1ac Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
2024-03-11compositor: Fix building when x11 is not enabledMarius Vlad1-2/+4
This is just an aftermath of the change in 'meson.build, src: update for weston 12' which missed up the change for not having the x11 backend. Bug-AGL: SPEC-4578 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Iff2112ece5d378d7d9f8fe67ed05bd9c5d354155
2024-03-11meson.build, src: update for weston 12Marius Vlad6-37/+141
Update dependencies for libweston-12 in meson.build, as well as adjust sources due to libweston-desktop/libweston-desktop.h moving to libweston/desktop.h This adds support libweston 12 which includes the following changes: - use MODULEDIR, for both weston and libweston when loading - use backend, renderer when starting up and pass those up Bug-AGL: SPEC-4578 Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I269e877ee3ae8cf8f1447bda05e11422244a416e
2024-03-11src: Make sure we don't die out when performing output hot-pluggingMarius Vlad1-2/+2
Bug-AGL: SPEC-4617 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I3147cbfbc5a5c3913d8e361b907f5c19bf539276
2024-03-11meson.build, src: update for weston 11Marius Vlad5-18/+86
Bump Weston library dependencies to work with Weston 11.0.0. The following changes are needed to port the compositor to the latest changes from libweston 11. Specifically we now use weston_surface_unref() instead of weston_surface_destroy(). The weston_head parameter is now needed when creating an output in weston_compositor_create_output(). We now use weston_buffer_create_solid_rgba() instead of weston_surface_set_color() to create our black curtain. A further upstream updates has been added to include some of the shell-utils wrapper but we'll get those in the next release of libweston. Finally, in order to attach heads and enable the outputs, we need to start from 1, rather than 0, and we now need lazy output placement for multiple outputs, following basically what weston is doing. Bug-AGL: SPEC-4578 Bug-AGL: SPEC-4617 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ie4aa7bc09b99d85b6bda49437c5f4789012244e1
2024-03-11meson.build: Fix wayland-scanner detectionScott Murray1-1/+1
Update wayland-scanner dependency to mark it as native, as detection fails with newer meson without it. This also matches what is done in Weston's meson.build. Bug-AGL: SPEC-4578 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2024-02-23meson.build: Do another version bumpMarius Vlad1-1/+1
To include a quick fix regarding building the compositor with rdp backend support. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I2611af2b867285b5529dbcdeceed4bfd2869ec9b
2024-02-23compositor: Avoid compiler warning and build failureMarius Vlad2-1/+3
This is because we build with warns as failures and possibly the rdp backend loading isn't enabled. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ia184b1a6fa2ec25b07329f10777c9d47451d53fe
2024-02-23meson.build: Bump version to 0.22.3Marius Vlad1-1/+1
We've added split type of functionality with support for loading the RDP backend, such that this warrants an version update as well. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I28e35f53bb1d9a9d3deed204596bd8ef090cb579