Commits on Source (51)
-
Pekka Paalanen authored
warning: Tag 'TCL_SUBST' at line 250 of file '/home/pq/build/weston-meson/doc/sphinx/doxygen.ini' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'COLS_IN_ALPHA_INDEX' at line 1094 of file '/home/pq/build/weston-meson/doc/sphinx/doxygen.ini' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'PERL_PATH' at line 2159 of file '/home/pq/build/weston-meson/doc/sphinx/doxygen.ini' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'MSCGEN_PATH' at line 2181 of file '/home/pq/build/weston-meson/doc/sphinx/doxygen.ini' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" Observed with Doxygen 1.9.1 in Debian Bullseye. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
Do this because the README uses it to demonstrate the build process. Signed-off-by:
Alvarito050506 <donfrutosgomez@gmail.com>
-
Removes a global variable and makes it easier to avoid adding more global variables in the next commit. See !652 (comment 975222) Signed-off-by:
Alvarito050506 <donfrutosgomez@gmail.com>
-
The value of the `path` parameter is executed right before wl_display_run. The `watch` parameter is meant for things like tests using the headless backend and the kiosk shell. Fixes #171 Signed-off-by:
Alvarito050506 <donfrutosgomez@gmail.com>
-
The wayland.c actually include 'xdg-shell-client-protocol.h' instead of the server one, so fix it. Otherwise, it's possible to get build failure due to race condition. Signed-off-by:
Chen Qi <Qi.Chen@windriver.com> Signed-off-by:
Daniel Stone <daniels@collabora.com> [daniels: Found in OpenEmbedded/Yocto source.]
-
Marius Vlad authored
As observed on some platforms, importing known DMA buffers can cause failures, leading to an attempt of destroyng an EGL image not set. This patch resets the num_images such that loop becomes inert when destroying the DMA buffer, and avoids passing an egl image to it. The initial import doesn't have this issue as it sets the num_images in case it succeeds. This also corrects the assumption that the num_images were 0 at that point which, if the initial import succeded, was actually set to 1. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Marius Vlad authored
Potential failures when creating the EGL image could cause an incorrect number of num images (num_planes > num_images). With this change egl_image_unref() requires an additional check to avoid any potential NULL derefs when cleaning up. We do it straight in egl_image_unref() instead of adding guards all over the necessary parts. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
asprintf() has the problem that it leaves *strp undefined when it fails. Here is a simple wrapper that ensures NULL if asprintf() fails, which is much more convenient to use. This will be useful in future patches, where one needs to return error messages from maybe failing functions, and more. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
Conditionally build support when libdrm is at least 2.4.107 to make use of it. Plug it in when printing out the buffer information. With this in, we add a hard dependecy for libweston to link against libdrm. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Daniel Stone authored
It's illegal to create an xdg_surface for a surface which already has a buffer attached to it. We check for this, but only after we've created our weston_desktop_surface; this simply avoids creating the internal tracking structure when we're only going to destroy it after posting the error. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
If a given wl_surface already has a role (e.g. cursor or subsurface), there is nothing you can do with an xdg_surface which won't raise an error, apart from destroying it. As of wayland-protocols@11fecf08 this is now explicitly specified to be illegal, so disallow it within libweston-desktop. This avoids us tying ourselves in knots with surface-private ownership. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
This is the first step towards removing wl_shell support. Add an option so that users can toggle support for the deprecated wl_shell protocol. This lets users test their clients to make sure they work fine without wl_shell. The option is set to false by default. Signed-off-by:
Simon Ser <contact@emersion.fr>
-
Stop using wl_shell for the roles tests, since it'll get disabled and removed eventually. Signed-off-by:
Simon Ser <contact@emersion.fr>
-
-
Derek Foreman authored
Pull the container from a source without a rate limit Suggested by Daniel Stone <daniels@collabora.com> Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
Marius Vlad authored
Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Vlad Zahorodnii authored
weston_frame_callback is needed primarily to store the doubly-linked list link, but it can be also retrieved by using the wl_resource_get_link() function. This removes an extra heap allocation per every wl_callback object. Signed-off-by:
Vlad Zahorodnii <vlad.zahorodnii@kde.org>
-
Some graphics drivers (currently at least VMware and AMD) will give a 0 timestamp for the atomic mode flip completion event when turning off the display. This causes us to trip an assertion in weston_output_frame_finish() because the clock jumps backwards, which isn't a condition the presentation feedback code should be dealing with. This is a good assertion and we'd like to keep it. And there's some expectation that this is buggy behaviour in the graphics drivers that will be fixed at some point. Pragmatically speaking though, there's nothing productive we can do with a correct timestamp for the display shutdown. So let's just flag the event sent for DPMS off as invalid so presentation feedback doesn't have to worry about it, and the assert doesn't fire. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
And ultimately, fail to start when there are no input devices on the system. Patchs adds consistency to touch/pointer initialization to return -1 in case same thing happens. Further more, when the device is not created we can't assume to retrieve a valid one from a libinput_device so guard against it. This takes care of hot-plugging situations when we couldn't create the (keyboard) device, or when removing it. Fixes: #117, #402, #485 Signed-off-by:
Marius Vlad <marius.vlad@collabora.com> Suggested-by:
Daniel Stone <daniel.stone@collabora.com>
-
When a window is closed, Weston will, by default, run a fade out animation and defer destroying the underlying surface until it completes. However, if the compositor is sleeping, and therefore not rendering any frames, this animation will *never* complete. Therefore, if windows are repeatedly created and destroyed while in sleep mode, these surfaces will keep accumulating, and since the buffers attached to them may be backed by an fd, eventually the ulimit will be reached resulting in a potential crash or other errors. This can be demonstrated repeatedly launching and killing an X11 application with Xwayland running. while true; do xterm & pid=$!; sleep 0.5; kill $pid; done As soon as the compositor goes to sleep, one can observe a steadily growing list of dmabufs in the output of lsof. As a fix, desktop_surface_removed should check whether the compositor is active before kicking off the fade animation. If it is not, it should instead drop the extra reference taken in desktop_surface_committed and then destroy the surface immediately. Signed-off-by:
Erik Kurzinger <ekurzinger@nvidia.com>
-
This avoids an extra heap allocation for each view.
-
Fixes a “regression” from 04918f3b, but also other missed pieces.
-
This adds support for xdg-shell v3, which adds support for repositioning popups. This adds support for explicit popup repositioning, as weston doesn't yet apply any constraining to popups, thus cannot implicitly reposition. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com> Tested-by:
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
-
Updating PipeWire to the latest version lets us check that everything still works well, and shows users that they are able to use it. [daniels: Updated to 0.3.31, use symbolic ref tags rather than SHAs. 0.3.32 is released, but doesn't build in our Debian environment; this is fixed upstream but there is no release for it yet.] Signed-off-by:
James Hilliard <james.hilliard1@gmail.com>
-
-
[daniels: Extracted from previous patch, updated to even-newer version.] Signed-off-by:
Jonas Ådahl <jadahl@gmail.com>
-
Daniel Stone authored
The rules syntax is more clear and explicit than the previous only/except. Switch to using that. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
[daniels: Only run on MRs.] Signed-off-by:
Jonas Ådahl <jadahl@gmail.com>
-
pointer/touch drag-n-drop operations could happen if there's no keyboard hooked up or when it is unplugged. Fixes: #235 Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Sebastian Krzyszkowiak authored
It's the geometry size that gets checked, not the buffer size. Signed-off-by:
Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
-
Marius Vlad authored
Follow-up from commit 'desktop-shell: don't run fade animation if compositor is inactive' where the reference was dropped directly, instead of using weston_surface_destroy(). Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
Daniel Stone authored
The API expects uintptr_t (good!), but we're passing an unsigned long here. Make the conversion explicit. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Because we weren't properly pinning the wayland-protocols version, and I can't read, we missed updating this in !563. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
The shared runners export ${FDO_CI_CONCURRENT} for the appropriate number of CPUs we should use during our builds. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Keep this as part of our container image; there's no reason to pull it for every single build. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Just cosmetic for now, but tell Meson to just run our tests rather than trying to rebuild them. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Explain what we do within our CI and why, with links as required. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
GitLab already groups our various stages (container, build, etc) into separate UI elements. Within those stages, the important information is the parameterisation (architecture, OS, toolchain). We don't want that to get ellipsised, so put that first in the job names. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
No need to set it twice. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
We only need KVM for testing. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
No functional change to the test runs, apart from changing the job names. This will allow us to test along more axes without more duplication. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
This makes it easier to split our scripts into OS-independent and OS-dependent sections. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
When we build our base-OS container, we run debian-install.sh to install packages and compile our build dependencies. Since the latter is mostly OS-independent, split debian-install.sh into two scripts: one to install and cleanup packages, and another just to compile stuff. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
0.57.0 has a bug where the whole test harness crashes when using TAP and failing tests, cf. https://github.com/mesonbuild/meson/pull/8385 Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
autotools has already been removed, so we should be doing this. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
GitLab CI has two execution scheduling models. The original model is to split jobs into stages; jobs within a single stage may execute in parallel, but execution is serialised between stages. As we move to supporting multiple OSes and architectures, there is no need to serialise, e.g. the AArch64 Linux build against the x86-64 FreeBSD container preparation. Declare our dependencies explicitly using `needs`. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
AArch64 needs different names and paths to x86-64, so let's allow for that. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
This only runs a single build job, to build without GL and not run any tests, as KVM support is not yet included. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Build a kernel for AArch64 and run it under virtme just like we do for x86-64. This requires adding support for the AArch64 defconfig variant, and accommodating for the fact that it builds DRM as a module by default rather than built in. The virtme branch we are using has also been rebased on top of newer virtme upstream which unbreaks AArch64. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
ARMv7 is still an important architecture for us to run on, and running on ARMv7 also gives us 32-bit build coverage. As distros are deprecating their non-64-bit-x86 support, this may be our only realistic chance of ensuring that our build is also 32-bit-clean. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Give ourselves a bit more separation between the different job types, so it's easier to see what's running and/or failing. Signed-off-by:
Daniel Stone <daniels@collabora.com>
Showing
- .gitignore 2 additions, 0 deletions.gitignore
- .gitlab-ci.yml 272 additions, 50 deletions.gitlab-ci.yml
- .gitlab-ci/build-deps.sh 155 additions, 0 deletions.gitlab-ci/build-deps.sh
- .gitlab-ci/debian-install.sh 12 additions, 77 deletions.gitlab-ci/debian-install.sh
- .gitlab-ci/virtme-scripts/run-weston-tests.sh 1 addition, 1 deletion.gitlab-ci/virtme-scripts/run-weston-tests.sh
- clients/desktop-shell.c 18 additions, 2 deletionsclients/desktop-shell.c
- clients/dnd.c 3 additions, 3 deletionsclients/dnd.c
- clients/terminal.c 3 additions, 3 deletionsclients/terminal.c
- clients/window.c 3 additions, 3 deletionsclients/window.c
- compositor/main.c 67 additions, 14 deletionscompositor/main.c
- compositor/weston.h 2 additions, 1 deletioncompositor/weston.h
- compositor/xwayland.c 2 additions, 2 deletionscompositor/xwayland.c
- desktop-shell/exposay.c 2 additions, 2 deletionsdesktop-shell/exposay.c
- desktop-shell/shell.c 18 additions, 12 deletionsdesktop-shell/shell.c
- doc/sphinx/doxygen.ini.in 0 additions, 28 deletionsdoc/sphinx/doxygen.ini.in
- include/libweston/libweston.h 21 additions, 21 deletionsinclude/libweston/libweston.h
- include/libweston/windowed-output-api.h 1 addition, 1 deletioninclude/libweston/windowed-output-api.h
- libweston-desktop/libweston-desktop.c 9 additions, 0 deletionslibweston-desktop/libweston-desktop.c
- libweston-desktop/xdg-shell.c 111 additions, 15 deletionslibweston-desktop/xdg-shell.c
- libweston-desktop/xwayland.c 12 additions, 0 deletionslibweston-desktop/xwayland.c
.gitlab-ci/build-deps.sh
0 → 100755