Release highlights:
-
New protocol implementations:
- content-type-v1 to tag surfaces with their content type (audio, video, game, etc).
- xwayland-shell-v1 to improve XWayland reliability.
- wp-fractional-scale-v1 to allow clients to submit buffers with a non-integer scale factor matching the output.
- tearing-control to allow clients to opt-in for tearing page-flips.
- security-context-v1 to identify clients running in sandboxes.
- cursor-shape-v1 for server-side cursor themes.
-
Introduce a new output layers API to leverage KMS planes.
-
Add a new renderer API with improved design and performance. Add an API to query the time taken to render.
-
Continued work on the Vulkan renderer: add more RGB formats, add YUV buffers, add interoperability with implicit synchronization instead of blocking.
-
Add support for the new wl_surface.preferred_buffer_{scale,transform} events.
-
Improved scene-graph, including support for linux-dmabuf feedback and clipping surfaces.
-
Improved wlr_cursor which now keeps track of the current cursor image.
-
Add an implementation of the wl_shm interface, replacing libwayland’s for improved reliability and performance.
-
The Wayland backend supports embedding a wlroots compositor inside an existing Wayland client.
-
wl_surface roles have been refactored.
This hopefully means Sway and similar will support real fractional scaling for applications, not just the compositor fractional scaling we already have.
But I don’t know much about application support. Qt and Electron might support it; GTK 4 does not, possibly in a future version).
https://wayland.app/protocols/fractional-scale-v1
That’s great for those who need it. Anyone with a modern display should probably just use variable refresh rate (vrr), but even today some devices don’t support it. E.g. there’s been 240Hz laptops without vrr.
https://wayland.app/protocols/tearing-control-v1
That would be news to me. Has GTK finally managed to switch away from using actual real hardware pixels as its base unit for measurement?
I was sure I read that GTK wants to support true fractional scaling in GTK 5, but I can’t find a source to it. So it was probably just speculation. As far as I understand it, it would require big changes to GTK because everything is build with integer scaling in mind.
At least GTK 4 already has support for this fractional scaling protocol.
https://www.phoronix.com/news/GTK-4.11.1
At least it does not look blurry with fractional scaling enabled, which is the biggest issue IMO. The current hacky way is not ideal I agree but at least it is functional