[Development] Respecting QGuiApplication::highDpiScaleFactorRoundingPolicy on Wayland

Ilya Fedin fedin-ilja2010 at ya.ru
Mon Sep 9 09:03:04 CEST 2024


While most platforms seem to have fractional scaling via
QHighDpiScaling, Wayland is the first (and the only right now) platform
that got fractional devicePixelRatio on QPA level. QHighDpiScaling
doesn't handle that and the Wayland QPA just disables fractional
scaling support when it sees the policy is not PassThrough.

It's good that it does that at least but I believe this could be done
better. I have patches that make High DPI rounding policy to behave on
Wayland the same as on other platforms, allowing applications using a
rounding policy to render 1:1 with crsip fonts (currently the
compositor downscales as QPA disables fractional scaling support) and
actually respect the policy (downscaling means it's effectively always
Ceil).

Is there any interest in those changes?

The code changes are quite small actually: the main patch changing
mostly qhighdpiscaling.cpp is 179 lines long. The auxiliary qtwayland
patch to provide fractional QWaylandScreen::devicePixelRatio (currently
it provides only fractional QWaylandWindow::devicePixelRatio) is 111
lines long.


More information about the Development mailing list