NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
GA

Tá an treoir mhionsonraithe seo ar fáil i mBéarla.

English version

Linux Desktops and User Land Infrastructure

Resolving Fractional Scaling Blurs on Wayland Across Mixed-DPI Monitor Arrays

Fractional scaling on Wayland renders applications at a non-integer scale, which often produces blurry output on mixed-DPI monitor arrays. The blur comes from rendering at one scale and downscaling, or from applications that do not support fractional scales. This guide fixes it per compositor and per application.

Príomhphointí

  1. Enable fractional scaling in the compositor. Most compositors support it but require explicit configuration.
  2. Set per-monitor scale. Apply different scales to each monitor based on its DPI rather than a global value.
  3. Force integer scaling for legacy apps. Some applications blur at fractional scales; force them to integer scales and accept the size mismatch.
  4. Use the correct rendering path. Ensure the compositor renders at the fractional scale and downscales, not the reverse.
  5. Configure GTK and Qt. Set GDK_SCALE and QT_SCALE_FACTOR, or use the compositor's scale hints.
  6. Test with mixed content. Place windows across monitors and check sharpness on each.
  7. Check for blur in screenshots. Screenshots reveal blur that is hard to see on screen.
  8. Update drivers. GPU driver bugs cause scaling artifacts; keep them current.

Architecture

The compositor renders each surface at the monitor's scale factor, then composites. Fractional scales require rendering at the fractional resolution and downscaling, which can blur if the pipeline rounds incorrectly. Per-monitor configuration and application-level hints control the final sharpness.

Production configuration

Configure fractional scaling in Sway bash
# ~/.config/sway/config
output DP-1 scale 1.5
output HDMI-1 scale 1.0

# enable fractional scaling support
output * adaptive_sync on

# verify
swaymsg -t get_outputs | grep -i scale
GTK and Qt scale overrides bash
# per-application fractional scaling
GDK_SCALE=2 GDK_DPI_SCALE=0.75 gtk-app
QT_SCALE_FACTOR=1.5 qt-app

# global defaults in ~/.config/environment.d/scale.conf
GDK_SCALE=1
QT_AUTO_SCREEN_SCALE_FACTOR=1
QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
Verify sharpness bash
# capture screenshot at native resolution
grim -o DP-1 /tmp/dp1.png
# check dimensions
identify /tmp/dp1.png
# compare with expected (monitor_width * scale)

Edge cases from production

  • Mixed-DPI arrays cause windows to blur when dragged between monitors; compositor must rescale on move.
  • Some apps render at 1x and scale up, producing blur; force them to render at the target scale.
  • Nested compositors (Xwayland) add another scaling layer; disable Xwayland scaling if possible.
  • OLED panels show fractional scaling artifacts more visibly than LCDs.

Ceisteanna coitianta

Why does fractional scaling blur?

Rendering at a non-integer scale and downscaling introduces interpolation artifacts.

Which compositor handles it best?

GNOME/Mutter and KDE/KWin have mature fractional scaling; wlroots compositors are catching up.

Can I avoid blur entirely?

Use integer scales only, or accept the size change from 1x to 2x.

Does it affect performance?

Fractional scaling increases GPU load slightly; usually negligible on modern hardware.

How do I test?

Take screenshots and compare sharpness; subjective judgment is unreliable.

Conas a chabhraíonn Kinetikatech le linux desktops and user land infrastructure

Sin é a dhéanann muid: Hardening compositors, sandboxing desktop apps, and tuning the user land that developers and operators actually touch. Clúdaíonn ár seirbhís Bainistíocht Freastalaithe agus Cothabháil Suíomh Gréasáin gach rud, ó mheasúnú go cur i bhfeidhm, faireachán 24/7 agus idirghabháil éigeandála laistigh de 30 nóiméad.

Labhair le hinnealtóir

Fadhb ar an freastalaí? Suíomh hackáilte? Luchtú mall?

Solúfar fadhbanna criticiúla laistigh de 30 nóiméad — gan stad, 7 lá sa tseachtain.

Iarr tacaíocht éigeandála support@kinetikatech.com