News: 0001623917

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

xx-fractional-scale-v2 Aims To Improve Wayland Fractional Scaling

([Wayland] 7 Minutes Ago Better Wayland Scaling)


A merge request for Wayland Protocols was opened today for introducing "xx-fractional-scale-v2" as an experimental protocol to address current shortcomings with current Wayland fractional scaling. There is also a KDE KWin compositor merge request already out for review that implements this xx-fractional-scale-v2 protocol.

KDE developer Xaver Hugl opened a [1]wayland-protocols merge request today for this xx-fractional-scale-v2 protocol that allows clients and compositors to use a different coordinate space for communicating surface coordinates. The intent is on allowing unscaled pixels rather than lossy integer logical coordinate space currently relied upon.

The xx-fractional-scale-v2 is actually based on [2]an earlier protocol proposal by Xaver Hugl from 2022. That earlier work was "wp-fractional-scale-v2" for an alternative fractional scaling with different coordinate spaces. This revived protocol is now labeled as xx-fractional-scale-v2 to avoid any protocol naming collision with the prior work.

KDE developer Vlad Zahorodnii authored [3]this KWin merge request implementing the xx-fractional-scale-v2 protocol. Vlad explained there:

"The goal of this protocol is to address some current limitations with the logical coordinate system on Wayland when using fractional scaling. Since the logical coordinate system has not enough resolution, it's possible to have gaps between maximized windows and panels or gaps between sub-surfaces."

That merge request also visually demonstrates the shortcomings of the current fractional scaling handling using a demo app and video recordings of the current and proposed fractional scaling implementations.

We'll see soon enough what comes of this xx-fractional-scale-v2 protocol proposal. As shown by the demo app of the current fractional scaling, it goes against the long-standing Wayland mantra of "every frame is perfect".



[1] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/499

[2] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/149

[3] https://invent.kde.org/plasma/kwin/-/merge_requests/9023



In the beginning there was data. The data was without form and
null, and darkness was upon the face of the console; and the Spirit of
IBM was moving over the face of the market. And DEC said, "Let there
be registers"; and there were registers. And DEC saw that they
carried; and DEC separated the data from the instructions. DEC called
the data Stack, and the instructions they called Code. And there was
evening and there was morning, one interrupt.
-- Rico Tudor, "The Story of Creation or, The Myth of Urk"