Canonical has released Mir 2.26.0 — a new version of the compositor and library set for building shells and graphical environments based on Wayland.
Wayland and new protocols
- A MVP implementation of the protocol has been added ext-input-triggers (V1).
- The protocol draft has been implemented ext-input-triggers for handling input triggers in Wayland. This functionality is considered privileged and is not included by default.
- The specification file has been updated ext-input-trigger-action-v1.xml: it has been supplemented with clarifications on token validity and availability.
- Added Partial implementation of ext_image_copy_capture_v1 for cursor sessions.
- If the user refreshes the page in private browsing mode, Firefox will interpret this as a problem and suggest cursor image transmission via ext_image_copy_capture_v1.
Rust and architectural development
- Development has started of the Wayland frontend in Rust.
- Work on the input platform based on Rust has continued. This is not yet the main input processing path, but a practical step toward gradually integrating Rust into the project.
Input subsystem: evdev-rs
- Support for touch events has been implemented.
- The device module code has been cleaned up.
- The processing of pointer device events has been corrected: button states have been moved to storage at the individual device level.
- Event processing logic has been reworked for clarity and maintainability of the code.
Cursor, windows, API, and internal infrastructure
- For CursorObservers the ability to track changes in the cursor image has been added.
- Component CursorObserverMultiplexer now sends the initial state to newly registered observers.
- Refactoring has been conducted MinimalWindowManager.
- self-repair the index to set the window alpha channel and retrieve it through WindowInfo.
- requires clauses have been added to libmiral templates , which improves the strictness of constraints at the template code level in C++.The transfer of
- logging APIs and default values to mircore has been completed The call to strerror() has been replaced with.
- thread-safe strerror_r() A bug has been fixed where.
Bug Fixes
- BasicXCBConnection::destroy_window called xcb_map_window instead of xcb_destroy_window An issue has been resolved where.
- XCB responses were not always freed A bug has been fixed:.
- fullscreen video playback in Google Chrome might not work if the window was not initially in fullscreen mode. For X11, correct setting has been added
- _NET_CLIENT_LIST_STACKING An unsafe implementation of.
- fatal signal handling has been corrected , which was specifically described in the release as 'wildly unsafe'.A bug has been fixed where the check for
- DRM_CLIENT_CAP_ATOMIC was conducted through an incorrect ioctl call. Cleanup and logic improvement have been carried out.
- The logic has been cleaned up and improved. mgk::find_crtc_with_primary_plane.
- Fixed the occlusion behavior: if a surface has an opaque area but its alpha is not equal to 1.0, it should no longer be used as fully occluding.
Other
- Noted the increase in the number of new participants in the project: the release of Mir 2.26.0 includes contributions from several newcomers, which developers interpret as a sign of community growth around Mir.
Source: linux.org.ru
