Wlroots 0.17.0 released (gitlab.freedesktop.org)
from Chewy7324@discuss.tchncs.de to linux@lemmy.ml on 23 Nov 2023 02:02
https://discuss.tchncs.de/post/6709987

Release highlights:

#linux

threaded - newest

Chewy7324@discuss.tchncs.de on 23 Nov 2023 02:17 next collapse

  • wp-fractional-scale-v1 to allow clients to submit buffers with a non-integer scale factor matching the output.

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).

wayland.app/protocols/fractional-scale-v1

  • tearing-control to allow clients to opt-in for tearing page-flips.

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.

wayland.app/protocols/tearing-control-v1

Atemu@lemmy.ml on 23 Nov 2023 10:02 collapse

GTK 4 does not, possibly in a future version

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?

Chewy7324@discuss.tchncs.de on 23 Nov 2023 11:19 next collapse

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.

www.phoronix.com/news/GTK-4.11.1

independantiste@sh.itjust.works on 23 Nov 2023 15:32 collapse

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

pastermil@sh.itjust.works on 23 Nov 2023 02:25 collapse

How would wlroots relate to the compositors such as KWin & GNOME Shell?

russjr08@outpost.zeuslink.net on 23 Nov 2023 07:20 next collapse

As far as I know, it wouldn’t - I do not believe KWin nor Mutter is built on top of wlroots.

FarLine99@lemm.ee on 23 Nov 2023 08:34 collapse

They are not

Laser@feddit.de on 23 Nov 2023 08:37 next collapse

As pointed out, they don’t use it. However, there are loose plan for KWin to migrate to wlroots one day, and in fact a hostile fork exists that is exactly that (KWinFT). So a compositor can make use of wlroots to implement Wayland functionality, sway for example does exactly that, unsurprisingly since they’re sister projects by the same author.

It should be noted that libwayland (mentioned in the patch notes) also exist, and wlroot actually depends on it, so I guess libwayland is like the lower level stuff while wlroots saves you some work to integrate libwayland into your compositor; the motto is “Pluggable, composable, unopinionated modules for building a Wayland compositor; or about 60,000 lines of code you were going to write anyway.”

ultra@feddit.ro on 23 Nov 2023 13:46 collapse

Just a note, you said that libwayland is a higher level abstraction for libwayland.

starman@programming.dev on 23 Nov 2023 16:12 next collapse

libwayland is like the lower level stuff while libwayland saves you some work to integrate libwayland

LeFantome@programming.dev on 23 Nov 2023 16:28 collapse

Makes sense. You have to factor in libwayland though.

Laser@feddit.de on 23 Nov 2023 16:52 collapse

Thanks, I corrected it

Chewy7324@discuss.tchncs.de on 24 Nov 2023 19:29 collapse

wlroots is a library that can be used to implement a compositor like KWin or mutter (GNOME). In practice wlroots is used in Sway, Hyprland, river, and more.

What wlroots-based compositors, KWin, and mutter share is that they implement a similar set of the display protocol Wayland. E.g. KWin and Sway implement the Wayland extension wlr_layer_shell