Commit graph

18089 commits

Author SHA1 Message Date
Olivier Fourdan
79a529dc34 Bump version to 23.1.2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-06 11:20:05 +02:00
Jessica Clarke
f24e14ef41 xwayland: Stop using event address as event_id
Nothing should be relying on this anymore, so use a counter like other
places in the tree instead. This ensures that the event_id doesn't get
cast back into a pointer again in future, and also may be slightly less
confusing in cases where calloc reuses an address as debug logs would
show the same event_id for those but now they will be distinct.

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
(cherry picked from commit 13e513d2f0)
2023-06-06 10:09:18 +02:00
Jessica Clarke
30dc81f4f5 xwayland: Stop relying on event_id being a valid pointer
On traditional 32-bit and 64-bit architectures, uint64_t can be abused
to hold a uintptr_t and be cast back to a valid pointer. However, on
CHERI, and thus Arm's Morello prototype, pointers are capabilities,
which contain a traditional address alongside additional metadata,
including a tag bit that ensures it cannot be forged (the only way to
get a capability with the tag bit set is by using instructions that take
in another valid capability with sufficient bounds/permissions/etc for
the request, and any other operation, like overwriting individual bytes
in memory, will give a capability whose tag is clear). Casting a pointer
to a uintptr_t is fine as uintptr_t is represented as a capability, but
casting to a uint64_t yields just the address, losing the metadata and
tag. Thus, when cast back to a uintptr_t, the capability remains invalid
and faults on any attempt to dereference.

As with various other places in the tree, address this by searching for
the pointer in a list so that we no longer rely on this undefined
behaviour.

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
(cherry picked from commit bfe8f54924)
2023-06-06 10:09:13 +02:00
Jessica Clarke
74ecd7752c xwayland: Pass vblank pointer itself to xwl_present_flip
All these arguments other than damage come from the vblank itself so
passing the vblank simplifies the caller. Moreover, we pass the event_id
solely so we can get back to the event, which is just the (extended)
vblank, so passing the vblank avoids that round trip.

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
(cherry picked from commit 42d2d9c1d4)
2023-06-06 10:09:08 +02:00
Jessica Clarke
b90eda50a2 xwayland: Avoid gratuitous round trip through event_id
By adding a new xwl_present_event_from_vblank function we can avoid
turning the vblank into an event_id, and also abstract away the exact
encoding for event_id from most places.

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
(cherry picked from commit 85a3614668)
2023-06-06 10:09:04 +02:00
Olivier Fourdan
dfaf3af994 xwayland: Use our CVT function for fixed mode as well
Now that our CVT function is able to deal with non-standard modes, we
can safely use it for the fixed mode as well.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit eb20ba039a)
2023-06-01 10:27:39 +02:00
Olivier Fourdan
9d2cc63a9a xwayland: Do not round non-standard modes
Currently, Xwayland uses libxcvt to generate the mode info and then
passes that to RRModeGet() to generate a RRMode.

However, libxcvt may round down the width to match the horizontal
granularity (8), and that's a problem when the Wayland compositor is
running a non-standard size (like, e.g. running nested with a custom
size) because XRandR would report a width smaller than the actual size.

To avoid that, check whether the CVT computed size differs from the
expected size, and simply fix the hdisplay/vdisplay to match the given
size if that's the case.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1540
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1549
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit ad2d461dec)
(cherry picked from commit 2713383548)
(cherry picked from commit 814a04927d)
2023-06-01 10:27:39 +02:00
Jonas Ådahl
7cfa26d0b2 xwayland/window: Queue damage after commits are allowed
Compositors may use XWAYLAND_ALLOW_COMMITS to communicate when Xwayland
may or may not commit new buffers to a wl_surface. If commits are
denied, then later allowed, we'll only get a buffer attached if there is
actual damage posted, which might be long after.

This fixes an issue where the window manager would reparent a window
while denying commits, then after reparenting, allow commits. The window
in question belonged to a game and took several seconds produce the next
frame, resulting in an empty window appearing as if it had just
disappeared.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
(cherry picked from commit 9a55c402aa)
2023-06-01 10:27:39 +02:00
Jonas Ådahl
fe2153e15c xwayland/window: Move set-allow functions lower down
This will make some helper functions in the same file usable without
extra declarations.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
(cherry picked from commit 5ce96a2a73)
2023-06-01 10:27:39 +02:00
Simon Ser
a3a0644d49 build: set _GNU_SOURCE when checking for SO_PEERCRED
SO_PEERCRED is not POSIX, so might be hidden unless _GNU_SOURCE
is defined.

See [1]: cc.has_header_symbol() does not inherit the project
arguments.

[1]: https://github.com/mesonbuild/meson/issues/3301

Signed-off-by: Simon Ser <contact@emersion.fr>
(cherry picked from commit 636c9aa359)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
73e0510dee xwayland: Use the new API to set scanout
If the format and modifiers are from a tranche which supports scanout,
we can set the corresponding flag to gbm_bo_create_with_modifiers2() to
benefit from scanout buffers where applicable.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 8f7279ade2)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
1f5cdc9cf1 xwayland: Add xwl_glamor_get_drawable_modifiers_and_scanout()
Add a new API similar to xwl_glamor_get_drawable_modifiers() but also
returning whether the format and modifiers are from a tranche which
supports scanout.

This is preparation work for adding scanout support with
gbm_bo_create_with_modifiers2() when supported.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 967ad0fa1e)
2023-06-01 10:22:07 +02:00
Simon Ser
474ba97bab xwayland: use gbm_bo_create_with_modifiers2()
This allows us to pass flags to the function, avoiding the forced
implicit GBM_BO_USE_SCANOUT which happens with the older version.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit f31ca9238f)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
8448a41404 xwayland: Fix build without GBM
The present code in Xwayland cannot be used without GBM, so if GBM is
not available (or too old), the build would fail.

Make sure we do not use the present code without GBM support.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit da0de3caf6)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
b9ebae110c glamor: Fix build without GBM
The functions glamor_egl_fd_from_pixmap()/glamor_egl_fds_from_pixmap()
are not available without GBM support.

So if GBM is not available or too old, the code would fail to link
trying to find the references to those functions.

Make sure we skip that code when glamor is built without GBM.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit c24910d0e1)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
87c1df306b xwayland: Make Wayland logs non-fatal
The Wayland library may log warnings, we do not need to make that fatal
to the Xserver.

By killing the Xserver whenever a warning is raised, we hide other log
messages that might be also interesting.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit 62b1fac0b5)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
070f6a99f5 xwayland: Recycle buffers when dmabuf feedback changes
Whenever the linux-dmabuf v4 feedback changes, we need to recreate the
existing buffers so they use the current linux-dmabuf v4 feedback.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 81458a86bf)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
1cb6417f74 xwayland: Try the Xwayland glamor hook to create pixmaps
When creating the window buffer's backing pixmap, try the Xwayland
glamor hook first and fallback to the regular CreatePixmap() code path
otherwise.

That allows to enable direct scanout if possible, either through the
regular dmabuf v4 code path, or from the implicit fallback code path.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 684580d06f)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
c69a0527cb xwayland: Create scanout capable BO with the fallback path
Before linux_dmabuf v4 support was added, the BO were created using
gbm_bo_create_with_modifiers() which incidentally creates scanout
capable buffers.

We now need to replicate that explicitly when using the fallback path,
with buffers window, otherwise direct scanout will not be possible in
that case.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1535
Suggested-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 111d318fc2)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
6aa9981825 xwayland: Add create_pixmap_for_window() to GBM backend
Add the implementation for create_pixmap_for_window() in the GBM glamor
backend.

To do so, we just rename the existing xwl_glamor_gbm_create_pixmap() as
internal and add an optional drawable parameter, so that it can be used
either from the regular CreatePixmap code path, or from the new direct
Xwayland glamor's hook.

v2: Fallback to xwl_glamor_get_modifiers() if
    xwl_glamor_get_drawable_modifiers() returned 0 modifiers. (Michel)

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 9730fb64ea)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
6af05c71de xwayland: Add a direct hook to create pixmaps with glamor
With linux dmabuf v4 support, for direct scanout support, we need more
context that just what CreatePixmap() provides, as we need the actual
drawable to invoke xwl_glamor_get_drawable_modifiers().

Add a specific hook in Xwayland's glamor implementation that we can use
for that purpose.

This is preparation work for the direct scanout fixes.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 1ac3dd77d5)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
2f7624ef2d xwayland: Check for implicit scanout availability
With implicit modifiers, DRM_FORMAT_MOD_INVALID is an allowed modifier,
to indicate that the server can support the format.

When looking for a scanout capable tranche with implicit modifiers, we
ought to check for the availability of a tranche with an invalid
modifier for the given format.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit a4c700231d)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
5340f14fa2 xwayland: Check for scanout support in tranches
The helper function xwl_feedback_is_modifier_supported() walks all the
formats of a feeedback tranche and checks for format/modifier support
availability.

Add scanout support to that so that a caller can easily restrict the
tranches to those which support scanout.

This is preparation work for the implicit scanout support, no functional
change.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 79ab129fdf)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
1a32a8c2af xwayland: Use a dedicated feedback callback for windows
Separate the callbacks for the default's feedback from the one for
regular windows.

This is preparation work to recreate the window buffer of feedback
updates, no functional change.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 1a0cc25d48)
2023-06-01 10:22:07 +02:00
Olivier Fourdan
f03dd41290 Bump version to 23.1.1
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-03-29 14:26:36 +02:00
Olivier Fourdan
5789e30d9d composite: Fix use-after-free of the COW
ZDI-CAN-19866/CVE-2023-1393

If a client explicitly destroys the compositor overlay window (aka COW),
we would leave a dangling pointer to that window in the CompScreen
structure, which will trigger a use-after-free later.

Make sure to clear the CompScreen pointer to the COW when the latter gets
destroyed explicitly by the client.

This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 26ef545b35)
2023-03-29 14:26:36 +02:00
Benno Schulenberg
77d77c8b44 xkbUtils: use existing symbol names instead of deleted deprecated ones
Symbols `XK_Cyrillic_DZHE` and `XK_Serbian_DZE` were pure synonyms.

(cherry picked from commit 6153c71cfb)
2023-03-29 08:17:04 +00:00
Michel Dänzer
468e2d90b4 xwayland: Prevent nested xwl_present_for_each_frame_callback calls
It could happen with the following call path:

frame_callback
 xwl_present_frame_callback
  xwl_present_msc_bump
   xwl_present_execute
    xwl_present_flip
     xwl_window_create_frame_callback

The nested loop called xwl_present_reset_timer, which may end up calling
xorg_list_del for the entry after the one frame_callback started the
chain for. This resulted in the outer loop never terminating, because
its next element wasn't hooked up to the list anymore.

We avoid this by calling xwl_present_reset_timer as needed in
frame_callback, and bailing from xwl_window_create_frame_callback if it
was called from the former.

We also catch nested calls and FatalError if they ever happen again due
to another bug.

v2:
* Leave xwl_present_reset_timer call in xwl_present_frame_callback,
  needed if xwl_present_msc_bump didn't hook up the window to the frame
  callback list again.

Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1442
(cherry picked from commit 754d6b6dd0)
2023-03-27 13:34:44 +02:00
Michel Dänzer
95119c9c60 xwayland: Refactor xwl_present_for_each_frame_callback helper
Preparation for following changes, no functional change intended.

(cherry picked from commit 4d1cd7cdc2)
2023-03-27 13:34:38 +02:00
Joshua Ashton
f217a68d59 glamor: Don't glFlush/ctx switch unless any work has been performed
`glamor_make_current` is always called before any calls to GL.

Apply some dirty-tracking to whenever we call `glamor_make_current` so
that we can avoid a decent amount of redundant GL work on each
Dispatch cycle.

Gamescope previously was waking up an empty Xwayland server with an
XQueryPointer and I noticed a significant amount of churn doing
redundant GL work.

This has been addressed on the Gamescope side as well, but avoiding any
useless GL context switches and flushes when glamor is doing nothing
is still beneficial for CPU and power usage on portable devices.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Emma Anholt <emma@anholt.net>
Acked-by: Olivier Fourdan <ofourdan@redhat.com
(cherry picked from commit 89163917e1)
2023-03-27 08:58:34 +02:00
Olivier Fourdan
603c14b96f Bump version to 23.1.0
Xwayland 23.1.0 final release

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-03-22 13:53:57 +00:00
Olivier Fourdan
20170b7e10 test: Use either wayland-info or weston-info
weston-info has been deprecated for quite some time, whereas wayland-info
may not be available yet.

So we use either, depending on what's actually available.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit fc625fe172)
2023-03-22 14:43:39 +01:00
Olivier Fourdan
7f2181bcce Bump version to 23.0.99.902
Xwayland 23.1.0 release candidate 2.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-03-09 10:33:27 +01:00
Olivier Fourdan
d11237f11a xwayland: Fix uninitialised value created by a stack allocation
Commit 3c07a01c4 (xwayland: Use xdg-output name for XRandR) changed the
logic to use a fixed sized buffer allocated on the stack to pass to
RROutputCreate() which would then copy it.

Valgrind complains about this:

  == Conditional jump or move depends on uninitialised value(s)
  ==    at 0x49954B: MakeAtom (atom.c:87)
  ==    by 0x5108B3: RRMonitorCrtcName (rrmonitor.c:33)
  ==    by 0x510BBB: RRMonitorSetFromServer (rrmonitor.c:92)
  ==    by 0x511882: RRMonitorMakeList (rrmonitor.c:373)
  ==    by 0x512175: ProcRRGetMonitors (rrmonitor.c:634)
  ==    by 0x508091: ProcRRDispatch (randr.c:748)
  ==    by 0x4A860E: Dispatch (dispatch.c:546)
  ==    by 0x4B692F: dix_main (main.c:271)
  ==    by 0x431C90: main (stubmain.c:34)
  ==  Uninitialised value was created by a stack allocation
  ==    at 0x42122C: xwl_output_create (xwayland-output.c:816)

This is actually harmless, but also simple to avoid by just initializing
the content of the array with zeros, so let's just fix that.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Fixes: commit 3c07a01c4 - xwayland: Use xdg-output name for XRandR
(cherry picked from commit 1209a1bb57)
2023-03-08 18:18:28 +01:00
Jonas Ådahl
d06f270784 xwayland/glamor: Track if a xwl_pixmap uses explicit modifiers
If we allocated with implicit modifiers, then we shouldn't use the
modifier returned by gbm_bo when checking whether the modifier is
supported or not, since it won't be if the compositor only advertises
implicit modifiers, nor should we use the modifier when creating the
Wayland buffer object, as it wasn't explicitly advertised.

Fixes: c6f2598a4 ("xwayland: don't fall back to wl_drm with explicit modifier")
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
(cherry picked from commit 4e20d96e8d)
2023-03-08 17:25:54 +01:00
Jonas Ådahl
8c1cad5b75 xwayland/glamor/gbm: Use helper for implicit buffer params too
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
(cherry picked from commit 9bd83c02a8)
2023-03-08 17:25:51 +01:00
Jonas Ådahl
7d05c05367 xwayland/glamor/gbm: Initialize explicit buffer params in helper
This is preparing for cleaning up the macro mess.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
(cherry picked from commit af255b1651)
2023-03-08 17:25:48 +01:00
Jonas Ådahl
8e7a131e80 xwayland/glamor/gbm: Only use modifier gbm API if explicit
If we're using implicit modifiers, we'll pass NULL and zero modifiers.
Lets just use the legacy API directly instead.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
(cherry picked from commit 08b0ea09de)
2023-03-08 17:25:45 +01:00
Simon Ser
8ff3832763 Allow disabling the SHAPE extension at runtime
To correctly render a window making use of SHAPE, a compositor
must query the shape rectangles. This may not be a desirable
feature for a Wayland compositor. Allow SHAPE to be turned off at
runtime, so that the compositor can opt-out.

Signed-off-by: Simon Ser <contact@emersion.fr>
(cherry picked from commit 21b3dad238)
2023-03-03 19:36:22 +01:00
Simon Ser
97233c9858 xwayland: use drmDevice to compare DRM devices
The linux_dmabuf_v1 protocol doesn't guarantee any DRM node type:
the compositor may send a primary node or a render node. Use
drmDevice so that device comparisons are node-type-insensitive.

Signed-off-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1447
(cherry picked from commit 6f0b9deed6)
2023-03-03 19:19:18 +01:00
Austin Shafer
bdb023b34a Add libdrm 2.4.109 requirement
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit 5a742ab876)
2023-03-03 19:19:02 +01:00
Olivier Fourdan
2b441cea76 xwayland: Use MAP_PRIVATE for keymaps
With wl_pointer.axis_v120 support, the wl_seat supported version has
been bumped to 8, but Xwayland is still using MAP_SHARED which is
prohibited, wl_seat version 7 and above enforces the use of MAP_PRIVATE
for keymaps.

Use MAP_PRIVATE for the keymaps mmap().

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1512
Fixes: 3a02f56b4 - hook up wl_pointer.axis_v120 events
(cherry picked from commit d5dd3f3cee)
2023-03-03 19:17:44 +01:00
Simon Ser
e1133bcd52 xwayland: don't fall back to wl_drm with explicit modifier
It's incorrect to strip an explicit modifier. Daniels' docs [1]
states:

> when importing a buffer, the user may supply `DRM_FORMAT_MOD_INVALID` as the
> buffer modifier (or not supply a modifier) to indicate that the modifier is
> unknown for whatever reason; this is only acceptable when the buffer has
> not been allocated with an explicit modifier

[1]: https://lore.kernel.org/dri-devel/20210905122742.86029-1-daniels@collabora.com/

Signed-off-by: Simon Ser <contact@emersion.fr>
(cherry picked from commit c6f2598a4e)
2023-03-03 19:17:40 +01:00
Simon Ser
fd27fc3f22 xwayland: fix error path when modifier is not supported
When the modifier is not supported by the compositor, and the
DMA-BUF contains multiple planes, xwl_pixmap->buffer is NULL.
Avoid crashing when calling wl_buffer_add_listener().

Signed-off-by: Simon Ser <contact@emersion.fr>
(cherry picked from commit 76a329e55c)
2023-03-03 19:17:35 +01:00
Olivier Fourdan
29d75b092b xwayland: Include <sys/type.h> where needed
With the addition of linux_dmabuf v4, the code adds dev_t in various
places but did not include <sys/types.h>.

While that works on glibc, it may fail to build on other libc
implementations such as musl libc.

Make sure to explicitly include <sys/types.h> where we use dev_t.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1445
Fixes: bddfe190de - Implement linux_dmabuf_feedback event handlers
(cherry picked from commit 24171bb710)
2023-03-03 19:17:30 +01:00
Olivier Fourdan
c41ff45028 Bump version to 23.0.99.901
Xwayland 23.1.0 release candidate 1.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-02-22 10:20:15 +01:00
Peter Hutterer
92c54bea28 dix: fix wheel emulation lockup when a negative increment is set
The increment sign wasn't taking into account when checking if the next
value is past our current value. The result was that for negative
increments, we kept looping indefinitely, locking up the server.

Easiest to reproduce with the evdev driver which has a negative
increment on the y axis.

Fixes 0a22502c34
  dix: switch scroll button emulation to multiples of increment

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit d2158d4063)
2023-02-20 12:48:27 +00:00
Olivier Fourdan
30069ced5d Bump version to 23.0.99.1
In preparation for a 23.1 release.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-02-17 10:13:34 +00:00
Michel Dänzer
987e88b2c3 meson: Change project name to xwayland
(cherry picked from commit 001f0c8938)
2023-02-17 10:13:34 +00:00
Michel Dänzer
4091776201 Don't install Xvfb
We're keeping it for unit tests, but we don't want to ship it from this
branch.

Also disable Xvfb in CI for ninja test. It's still built and used for
unit tests as part of ninja dist, but we don't want to run XTS on Xvfb.

(cherry picked from commit 0408fcb329)
2023-02-17 10:13:34 +00:00