After just over seven months of active development, The release of the new version of "Sway 1.11" has been announced., the popular i3-inspired composition manager.
This new version not only improves user experience and integration of the improvements implemented in wlroots, but also strengthens buffer synchronization, transparency management, and support for new Wayland protocol extensions.
Main new features of Sway 1.11
One of the most important improvements in Sway 1.11 is the Incorporation of the linux-drm-syncobj-v1 protocol, which allows explicit buffer synchronization. This feature guarantees that any drawing operation on screen is completed before the composer shows it, reducing flickering and graphical errors.
Along with it Support for alpha-modifier-v1 is introducedWhich enables customers to adjust the transparency level of their surfacesThis feature communicates directly with the composite server and can leverage the kernel's KMS module, resulting in improved graphics performance and smoother rendering.
In addition, Sway 1.11 introduces Screen capture improvements thanks to new protocols «ext-image-capture-source-v1 and ext-image-copy-capture-v1«. These allow for accurate capture of on-screen content, laying the groundwork for more sophisticated recording or streaming tools, without the need for external solutions that interfere with performance.
Clipboard and metadata security improvements
Sway 1.11 incorporates support for ext-data-control-v1, which provides customers privileged total control over data management, which is key to developing powerful and secure clipboard managers.
In addition, the system IPC (inter-process communication) by Swaand can now include security metadata thanks to the security-context-v1 protocol, which marks an important step towards more secure Wayland environments, especially in multi-user or sensitive systems.
La Output configuration logic has been improved to enable faster and more reliable switching between display devices. Support for pointer control keys is also added, expanding navigation and control possibilities for users with specific needs.
The default configuration file has also been updated with predefined shortcuts for key utilities such as pactl, brilliantctl, and grim, making customization and everyday use even easier. Furthermore, the default menu abandons its dependency on dmenu_path and adopts wmenu-run as the new default utility.
Performance improvements, multi-GPU support, and direct scanning
In this version, Backends and rendering engines now support DRM synchronization, which improves stability and graphics performance. Also added support for multiple GPUs, including devices such as USB video adapters that support GUD (Generic USB Display).
La Direct scan implementation has been improved to allow for buffer trimming and scaling, and internal graphics operations have been optimized to deliver a smoother experience in demanding environments.
Sway's foundation, wlroots, also evolves with version 0.19, bringing new technical improvements and protocols. These include:
- color-management-v1: for HDR10 support (although the rendering and backend components are not yet integrated).
- xdg-toplevel-icon-v1: to assign custom icons to each top window.
- xdg-dialog-v1: to identify toplevels as dialogs.
- xdg-system-bell-v1: to activate the system bell.
- ext-idle-notify-v1: for tracking user activity.
- presentation-time: Improves support for Variable Refresh Rates (VRR).
- wlr-layer-shell-v1: allows you to set precise margins in exclusive areas of the screen.
Finally, if you are interested in being able to know more about it, you can consult the details in the following link
How to install Sway on Ubuntu and derivatives?
For those who are interested in being able to install Sway on Ubuntu and its derivatives, it is important to take into account some requirements and considerations:
- Wayland: Sway requires Wayland to be available on the system.
- Graphics drivers: Sway does not support proprietary graphics drivers. They must be uninstalled and use free graphics drivers.
Installing Sway is simple and the first thing we need to do is install the necessary dependencies:
sudo apt update sudo apt install -y \ meson \ libwayland-dev \ wayland-protocols \ libwayland-egl-backend-dev \ libxkbcommon-dev \ libinput-dev \ libcap-dev \ libxcb-composite0-dev \ libxcb-render0-dev \ libxcb-shape0-dev \ libxcb-xfixes0-dev \ libpixman-1-dev \ libevdev-dev \ libpango1.0-dev \ libcairo2-dev \ libdrm-dev \ libgbm-dev \ libgles2-mesa-dev \ libegl1-mesa-dev \ libxcb-icccm4-dev \ libxcb-xkb-dev \ libxcb-image0-dev \ libxcb-xrm-dev \ libxcb-randr0-dev \ libxcb-xinerama0-dev \ libx11-xcb-dev \ libxrandr-dev \ libxcb-util-dev \ libxcb-util0-dev \ libxcb-keysyms1-dev \ libpam0g-dev
Then we add the Sway repository:
sudo add-apt-repository ppa:swaywm/sway sudo apt update
And we install Sway:
sudo apt install sway