The release has been published sway 1.12 — a new version of the tiling Wayland compositor, compatible in ideology and configuration with the i3. The release took place May 25, 2026According to the project, Sway 1.12 includes 138 changes from 50 participants, and now assembly requires wlroots 0.20.0.
The main user change was support HDR10 when working through Vulkan rendererThis doesn't automatically enable HDR in all configurations: the feature is tied specifically to the Vulkan backend/renderer in wlroots/Sway and to support from drivers, the monitor, and the rest of the graphics stack. Nevertheless, this is an important step for Sway toward fully supporting modern HDR displays in a Wayland environment.
Key changes in Sway 1.12
Support for capturing individual windows.
Sway can now capture individual windows, rather than the entire screen or workspace. This is important for screen recording and app sharing in video calls: you can show a specific app without revealing the entire desktop. This work is listed as support in the full changelog. top-level capture.HDR10 via Vulkan renderer.
New Wayland protocols.
The release adds support for color-management-v1, color-representation-v1, xdg-toplevel-tag-v1, ext-workspace-v1, and wl_fixes. This expands the foundation for color management, interaction between external components and workspaces, and more accurate identification of top-level windows.New option --device-primaries for output color_profile.
It is now possible to use the primary color coordinates that the monitor reports through EDIDThis is necessary to more accurately describe the color characteristics of a specific display, rather than roughly referencing it to a predefined profile.Changing the behavior of the srgb profile.
The sRGB profile now uses the piecewise sRGB transfer function, rather than a simple gamma 2.2. A gamma22 profile has been added to address the old behavior. However, the effective default behavior, according to the developers, remains the same—gamma 2.2.Official support for launching via display manager.
Previously, launching Sway through display managers was formally considered an unsupported scenario: developers cited old issues with login managers and would close such reports as unsupported. In Sway 1.12, this position has been revised, and launching through a display manager is now officially supported.Changed behavior on unsupported GPUs.
Sway no longer refuses to launch on unsupported video drivers, including the proprietary NVIDIA driver. Instead of refusing to launch, an informational message is now displayed. The developers emphasize that the support policy hasn't changed; only the startup behavior has changed. The message can be disabled using the --unsupported-gpu parameter or the SWAY_UNSUPPORTED_GPU environment variable.Media keys via playerctl in standard configuration.
Key bindings for playerctl have been added to the default configuration file. This simplifies media player control via standard media keys without manually adding custom bindings.Support for keypad slide switches.
Added support for slide switches on keyboard blocks. This change relates to input handling and is useful for devices where such hardware switches are present as part of the keyboard.
In addition to major features, the release includes fixes for drag-and-drop handling, container movement, workspaces, layer-shell, xdg-shell, scratchpad, text rendering via Pango/Cairo, and several IPC scripts. These fixes include crashes caused by incorrect use of panel commands, the first stylus tap after reboot, dragging a container to the edge of the workspace, and some resize/move operations.
Sway 1.12 looks like an infrastructure-level update: the project has been brought up to speed with wlroots 0.20, has been prepared for modern color management and HDR, has improved screen sharing scripts, and has removed the old formal limitation on running through display managers. For users of rolling distributions, the update will likely arrive through the usual package channels, but those building Sway themselves should be aware of the new dependency on wlroots 0.20.0.
Source: linux.org.ru
