- Oct 15, 2021
-
-
This makes it possible to close this client without using a terminal, especially useful on a phone. Signed-off-by:
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
-
Signed-off-by:
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
-
Signed-off-by:
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
-
- Oct 14, 2021
-
-
Takuro Ashie authored
input-method-v1 protocol provides two surface type for the input panel, `toplevel` and `overlay`. But there is no example for the later one. This change enables to set weston-keyboard as overlay panel by the environment variable `WESTON_KEYBOARD_SURFACE_TYPE=overlay` to demonstrate this feature. In Addition, add weston.ini option `overlay-keyboard` to set it. Signed-off-by:
Takuro Ashie <ashie@clear-code.com>
-
Takuro Ashie authored
When the surface type of input panel is set as an overlay panel, it's expected to be shown at near the input cursor. But the current implementation shows it at center-bottom on the desktop at first then move it to the correct position while typing. Signed-off-by:
Takuro Ashie <ashie@clear-code.com>
-
Convert remaining wl_shell client to xdg-shell. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
wl_shell is officially deprecated so remove support for it and instead add support for xdg-shell. With it, we've further: - moved out the buffer handling into its own a distinct structure in case we might want to do multi-buffer rendering - perform a redraw after we have receiving the initial configure event, as to draw to working area where to user can use it for receving touch events Additionally we are setting an appid in case one might want to use it in tandem with kiosk-shell as to be able to place it on a distinct/different output. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
We only support xdg-shell in simple-egl, so make it obvious. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
The keyboard focus listener, caps changed and pointer focus listener were missing when destroying the seat. These are necessary to avoid using weston_desktop object even if it was destroyed, which happens due to a focus out event and ultimately handled by the keyboard focus notify callback. Once the seats are destroyed (and implictly the focus handlers) we're safe to destroy weston_desktop object as well. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
This properly tracks the seats and with it, destroys them before destroying weston_desktop object. Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
- Oct 05, 2021
-
-
Add a command line option to disable the default flight recorders so we can save a little bit of CPU and memory on systems where this isn't necessary. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com> Signed-off-by:
Marius Vlad <marius.vlad@collabora.com>
-
- Oct 01, 2021
-
-
Jonas Ådahl authored
Fixes an issue where subsurface extending outside of the main surface wasn't damaged when minimized resulting in left-over content. Signed-off-by:
Jonas Ådahl <jadahl@gmail.com>
-
- Sep 29, 2021
-
-
My reading of the GL spec is that a dmabuf becomes a sibling to the EGLImage created from it, and that all updates to the dmabuf will be propagated to the EGLImage. A rebind is still required every time the dmabuf content changes, but this should be satisfied by gl_renderer_attach(), which does a rebind when the buffer is commit. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
So, turns out the GL implementation is allowed to destroy EGLImage sources if this isn't set. Apparently none we've ever been tested on do this, but it looks like we should be setting this anyway. Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
If we're not in a session we can fall back to sd_uid_get_display() to find the user's primary session. This allows launching weston from an ssh session or as a systemd user service if a viable session is available. It also more closely follows how libseat finds the session. The libseat launcher can already do these things, so this change makes these features common to both launchers. Based on a patch by Sjoerd Simons <sjoerd.simons@collabora.com> Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
Reported in !179 adding weston_output_repaint_failed resets the output Co-authored-by: Daniel Stone Co-authored-by: Julius Krah Signed-off-by:
n3rdopolis <bluescreen_avenger@verizon.net>
-
- Sep 28, 2021
-
-
If two or more clients were running and the one that was focused when weston itself lost keyboard focus was killed, weston would crash. This is because commit 85d55540 changed the way we handle saved keyboard focus when we lose focus, and did so in such a way that the saved keyboard focus listener could be removed from the surface destroy signal list during the emit of the surface destroy signal. This corrupted the list and led to a NULL pointer dereference. Fix this by using a boolean flag to determine whether we should obey the saved keyboard focus. We can set this safely in cases where removing the listener would cause a crash. Fixes #138 Signed-off-by:
Derek Foreman <derek.foreman@collabora.com>
-
- Sep 22, 2021
-
-
Pekka Paalanen authored
This is prompted by the spurious CI failure https://gitlab.freedesktop.org/wayland/weston/-/jobs/13891809 saying: 31/36 output-damage TIMEOUT 122.52s 8 subtests passed 32/36 output-transforms TIMEOUT 122.52s 16 subtests passed 33/36 subsurface TIMEOUT 122.52s 34/36 xwayland TIMEOUT 122.51s 35/36 ivi-shell-app TIMEOUT 122.51s ERROR: Job failed: execution took longer than 5m0s seconds That is hitting both kinds of timeouts at the same time: the per-test timeouts, and the CI job total timeout. That run seems to have had a particularly ill fortune, as a simple retry finished the same job in 2 minutes, and the longest running test took only 24 seconds. Nevertheless, by Daniel Stone's suggestion let's bump both timeouts: - the per-test timeout to 120 seconds, which with the multiplier in CI goes up to 8 minutes - the job timeout for all build related jobs to 15 minutes The timeout for tests_standalone is not bumped as we are not adding significant amounts of new tests there. Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
- Sep 15, 2021
-
-
Adds a Pixman format field to the pixel format table, and adjusts the shm format handling code in the Pixman renderer to use this table. Pixman formats have been registered only for specific 565, 8888, and 2101010 layouts, as these have corresponding DRM format codes and are commonly used. Signed-off-by:
Manuel Stoeckl <code@mstoeckl.com>
-
- Sep 14, 2021
-
-
Simon Ser authored
Instead of manually waiting for the seatd socket to come up, use seatd-launch. Add /usr/local/bin to PATH to avoid having to specify the whole path to seatd-launch. Signed-off-by:
Simon Ser <contact@emersion.fr>
-
Simon Ser authored
This allows splitting the `meson test` command on multiple lines. Signed-off-by:
Simon Ser <contact@emersion.fr>
-
Simon Ser authored
This upgrades seatd to the latest version. Examples are disabled by default. Man pages are already disabled by auto_features=disabled. Other build options have been renamed. Signed-off-by:
Simon Ser <contact@emersion.fr>
-
- Sep 07, 2021
-
-
EGL_KHR_partial_update can be implemented independently of EGL_EXT_buffer_age so we handle each case seperately. Signed-off-by:
Ben Davis <ben.davis@arm.com> Signed-off-by:
Dennis Tsiang <dennis.tsiang@arm.com>
-
Pekka Paalanen authored
weston_output_enable() initializes the list, but weston_output_release() maybe be called even if the output was never enabled, triggering the assert due to uninitialized (actually NULL) list head. This can be triggered with a bad weston.ini, for example using an invalid output transform value. Check in weston_output_disable() instead, but because it too may be called for non-enabled output, only if it was actually enabled. Fixes: 1a4f87de "libweston: introduce weston_paint_node" Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
- Sep 06, 2021
-
-
Since commit "drm-formats: save result of intersection in the first array", every block of code where weston_drm_format_array_create() and destroy() are being called could use init() and fini() instead. Remove these two functions from the API to make it leaner. This patch also modifies the code that depends on these functions to use init() and fini(). Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com>
-
In the current API, we have some set operations: join, intersect and subtract. Both join and subtract receives two DRM format arrays and save the result in the first one. For the intersection we have a slightly different approach, what makes the API weird. We don't save the result in the arguments, instead we return a new array with the result. Modify weston_drm_format_array_intersect() in order to make it similar to the other two set operations. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by:
Alexandros Frantzis <alexandros.frantzis@collabora.com>
-
- Aug 17, 2021
-
-
wet_shell_init() of fulscreen-shell has been missing to create a screenshooter. . adding a screenshooter_create() on wel_shell_init() for fullscreen-shell. . adding a dep_libexe_weston to meson.build to use the screenshooter Signed-off-by:
yj1231.heo <yj1231.heo@samsung.com>
-
- Aug 13, 2021
-
-
Leandro Ribeiro authored
Remove the following warning: WARNING: 'make kvmconfig' will be removed after Linux 5.10 Please use 'make kvm_guest.config' instead. Signed-off-by:
Leandro Ribeiro <leandro.ribeiro@collabora.com>
-
- Aug 03, 2021
-
-
Daniel Stone authored
Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
This shouldn't extend the base .build-env, since we have per-environment extensions. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
When building with Clang, PipeWire throws a warning we should trivially work around: pipewire/pipewire!858 Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Our core test structure is 36 bytes wide. Declaring it with a 32-bit alignment should thus stripe it to 64 bytes. For some reason, clang+lld lays them out with a 96-byte stride within the section (does it want an entire 32-bit word when building with ASan?), getting the code wildly confused when it tries to step through the structures. So we could fix all our tests to avoid the fragile section dance, or we could just waste another 4 bytes per test definition by bumping the alignment up to 64 bytes, which seems to do enough to magically accord with what clang+lld+ASan expect. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
EGL's native display type is not particularly well defined; in gl-renderer we get around this by always treating it as a void *, since for all the platforms we care about it's a pointer - gbm_device, wl_display, or Display *. The surfaceless platform doesn't care what the native display is (since it doesn't have one by definition), so just use NULL instead of what may be either NULL or 0 depending on environmental factors. Signed-off-by:
Daniel Stone <daniels@collabora.com>
-
Daniel Stone authored
Signed and unsigned integers are not the same thing. 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>
-
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
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
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
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
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>
-