Software 44846 Published by

Olivier Fourdan has announced Xwayland 26.0.99.902, the second release candidate for the upcoming 26.1.0 stable release, targeting testers and packagers ahead of a September or October launch. The update modifies 17 files across 15 commits, featuring critical fixes from Jeremy Huddleston Sequoia that prevent server crashes caused by divide-by-zero errors and out-of-bounds reads in malformed keyboard keymaps. Lukáš Lipinský also addressed byte-swap issues in the X Input Extension that corrupt scroll and valuator data for cross-endian clients connecting over TCP, while additional patches resolve cursor warping null-dereferences and memory safety issues in the core server. As the standalone Xwayland build cadence continues to outpace the monolithic xorg-server tree, this RC2 signals the team is actively closing gaps based on RC1 feedback before the final stable release.



Xwayland 26.0.99.902 lands as RC2, targeting crash fixes and byte-swap headaches

Following the first release candidate back in August, the standalone Xwayland project has published its second release candidate for version 26.1.0. Olivier Fourdan of Red Hat announced the build on September 9, 2026, targeting testers and distro packagers who are eager to stress-test the upcoming stable release.

This is the second candidate in the series, tagged xwayland-26.0.99.902. If you're keeping score, that's 17 files modified across 15 commits by three contributors. The diff lands squarely in the subsystem areas that tend to cause the most headaches for desktop users: keyboard handling, scroll wheel data over the wire, and general server stability.

Wayland

Keyboard crashes and byte-swap headaches

The biggest wins in this build come from Jeremy Huddleston Sequoia's work on the X Keyboard Extension. He shipped four patches to plug a class of bugs where the keyboard group count could collapse to zero under specific edge cases. The result of that collapse is predictable: a divide-by-zero crash in XkbWrapIntoRange(), an out-of-bounds memory read via an unsigned wrap-around, and even thread wedging when a negative group case tries to add zero while holding a lock.

Triggering this usually involves XQuartz asking for the "empty" model on macOS, or a custom keymap that compiles to nothing at all. The upstream commit message walks through the bug chain clearly, noting how XkbClampIntoRange can compute a negative value, truncate it to 255, and then use that as an index into a four-element array. It's the kind of subtle bug that survives hardening campaigns because it doesn't require crafted input, just a keymap that reports zero groups.

Lukáš Lipinský handled the X Input Extension side, fixing byte-order issues that corrupt scroll and valuator data for cross-endian clients. If you run a big-endian server and connect a little-endian client over TCP, SwapLongs() was leaving certain multi-byte fields in server byte order. The fix ensures that SwapScrollInfo() and related routines actually swap every field, including ScrollClass flags. The bug was likely latent because most local setups run on x86_64, where both ends share the same endianness.

Stability tweaks and the road to 26.1.0

Olivier Fourdan and Jeremy Huddleston Sequoia also closed the loop on several core stability issues. There's a fix for a double free of badreg->data when region validation fails, a pixel masking correction for rootless windows with safe alpha, and a list corruption guard in the damage tracking subsystem.

The Xwayland-specific highlight is the guard against cursor warping without a valid seat. If an input event tries to warp a cursor when xwl_seat is null, the server would previously dereference a null pointer. It's a small patch, but the kind of thing that keeps Xwayland from throwing unexpected segfaults during heavy input workloads.

It's been about three weeks since RC1. That turnaround tells you the team is treating feedback seriously and shipping targeted corrections rather than waiting for the stable release to mop up. The stable 26.1.0 is expected later in September or October, assuming no critical issues surface during this round of testing.

Notably, the standalone Xwayland cadence is already outpacing the monolithic xorg-server tree, which sits at 26.0.99.901. That gap signals how firmly Xwayland has moved into its own release cycle, separate from the broader X server codebase.

Where to get it

You can grab the tarball directly from the Freedesktop archive. The SHA256 is 4b2d95ace26ccd07af818d93967514f501591070d5c6b7addc1d2be45686d029.