After half a year of development, the project Weston announced the release of the version of your Wayland composite server, "Weston 13.0" and this new release features various improvements, as well as experimental features, support improvements, and more.
For those who do not know about Weston, you should know that this is the reference implementation of a Wayland composer, as it manages displays, including the composition of their contents, support for events from their input devices (touchscreen, mouse, keyboard, etc.), and their settings (wallpapers, resolution, multi-monitor display, etc.).
Weston is lightweight compared to X11 and is fast as a composer and is suitable for many embedded and mobile use cases.
Main new features of Weston 13.0
In this new version that is presented of Weston 13.0, a of the most notable features is added support for loading multiple backends, which is undoubtedly an important advance in Weston, since it allows multiple backends to be loaded, for example, vnc, rdp, pipewire are secondary backends.
Another of the changes that stands out in this new version is the improvement in Kiosk-shell (for Internet kiosks), since in this new version improved performance in full screen mode operations, as well as additional support for creating full-screen surfaces for applications launched through XWayland.
In addition to this, in Weston 13.0 new functions have been addeds, including weston_view_move_to_layer() to move the view to a specific layer or remove it from the scene graph if the layer is NULL, weston_log_scopes_iterate() to iterate over areas in the record and feature updates existing ones such as weston_view_set_position, weston_touch and weston_output, using the weston_coord structure to improve efficiency.
On the other hand, in Desktop-Shell, now you can limit the area of movement of the pointer for full screen surfaces.
Of the other changes that stand out from this new version:
- backend-vnc, backend-pipewire and backend-rdp: GL renderer support
Support for overlapping outputs, allowing views to be placed on sheets when displayed in multiple outputs - Removed libgbm 21.1.1 from several clients that no longer support versions of the libgbm library earlier than 21.1.1.
- Both the desktop shell and the kiosk shell have been refactored to use this new wizard.
- Removed launcher-logind (this was previously deprecated) in favor of launcher-libseat
Systemd-logind support with its backends.
Last but not least, it is worth mentioning that the rise of version 13.0 is accompanied by crucial changes that may break backward compatibility.
Finally if you are interested in knowing more about it, you can check the details in the following link
How to install Weston on Ubuntu and derivatives?
Well, for those of you interested in being able to install this new version of Weston, they must have Wayland installed on their system. In order to install it we just have to open a terminal and in it we are going to type the following:
pip3 install --user meson
Done this, now we are going to download the new version of Weston 13.0 with the following command:
wget https://wayland.freedesktop.org/releases/weston-13.0.0.tar.xz
We unzip the content with:
tar -xvf weston-13.0.0.tar.xz
We access the folder created with:
cd weston-13.0.0
And we carry out the compilation and installation with:
meson build/ --prefix=... ninja -C build/ install cd ..
At the end, it is recommended to restart the computer to start with the changes in the new user session.
As for the keyboard shortcuts to work with Weston, they are as follows:
Key combination | Action |
---|---|
Ctrl+Alt+Backspace |
Leaving Weston |
Super+Scroll (o PageUp / PageDown ) |
Zoom in/out of the desktop |
Super+Tab |
Change windows |
Super+LMB |
move window |
Super+MMB |
Rotate window |
Super+RMB |
Change window size |
Super+Alt+Scroll |
Change window opacity |
Super+k |
Force removal of active window |
Super+Up/Down |
Change previous/next workspace |
Super+Shift+Up/Down |
Take the current window and change the workspace |
Super+Fn |
Switch to workspace n (e.g. F2) |
Super+s |
Take a screenshot |
Super+r |
Record a screencast |