After eight months of development, Sway, the popular tiling Wayland compositor, has announced its latest version, 1.10, which incorporates all the latest enhancements from the latest wlroots 1.18.
The most striking improvement in this update is a complete rewrite of the renderer, which now takes advantage of the wlroots scene-graph API, making Sway more responsive and efficient. Additionally, a new GPU reset recovery feature adds robustness, reducing the risk of system crashes.
Users will also appreciate the new command that allows using an ICC profile for output, which can improve display accuracy.
For those using Intel GPUs, an updated output configuration algorithm addresses GPU bandwidth issues, meaning that manual tweaks like setting WLR_DRM_NO_MODIFIERS
are no longer needed to avoid black screens.
Sway 1.10 also introduces a range of features focused on broader compatibility and functionality:
- Support for IME popups used for Chinese, Japanese, and Korean text input, enhancing usability for users in these regions.
- Support for tearing-control-v1, allowing users to opt for tearing page-flips, which is especially useful for gaming.
- Support for ext-transient-seat-v1, enabling remote applications like wayvnc to create separate temporary seats for input events.
- Support for ext-foreign-toplevel-list-v1, which is the new standard protocol for obtaining information about other toplevels. This feature will be beneficial for taskbars, window switchers, and per-toplevel screen capture.
- Support for xdg-shell v5, including popup repositioning and the ability to hide maximize/minimize buttons in client-side decorations.
It’s also worth noting that Sway 1.10 brings several changes to default configurations and support protocols. For instance, dmenu_run
is no longer a dependency of the default configuration file.
Instead, the new default includes keybindings for volume adjustment (pactl), brightness adjustment (brightnessctl), and screenshots (grim).
Another significant change is the disabling of the legacy wl_drm protocol by default, as it has been superseded by the linux-dmabuf-v1 protocol. This change may cause issues with older versions of certain components, such as xorg-xwayland (< 24.1.0), libva (< 2.22.0), and amdvlk (< 2024.Q4.1).
However, it can be manually re-enabled if necessary using the “-Dlegacy-wl-drm” option. Additionally, the xwayland build-time option has been removed; Xwayland support will now be included by default if enabled for wlroots.
Refer to theย changelogย for detailed information about all Sway 1.10 tiling Wayland compositor changes.