Hazy text rendering on Wayland with fractional scaling #33

Closed
opened 2026-02-08 17:03:26 +00:00 by forbes · 0 comments
Owner

Description

Menu text, shortcut labels, and separator lines appear soft/fuzzy when running under Wayland with fractional display scaling (e.g., 125%, 150%). The issue affects all menus, dialogs, and labels across the entire application. At 100% scaling the text is noticeably crisper, confirming fractional scaling as the root cause.

Root Cause

Qt's Wayland backend does not handle fractional scaling gracefully — it renders at the logical resolution then upscales, producing blurred output. This is a known Qt limitation on non-integer scale factors.

Proposed Fix

Ship a launcher wrapper or .desktop file that sets:

QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor
QT_ENABLE_HIGHDPI_SCALING=1

The .deb package installs a wrapper at /usr/bin/kindred-create and a .desktop file — add these env vars to both. No C++ changes needed.

Alternatively, expose QT_WAYLAND_FORCE_DPI as a config option for users on fractional-scale displays.

Verification

  • Launch Kindred Create on Wayland at 125% and 150% scaling
  • Confirm menu text, dialog labels, and toolbar text render at native sharpness
  • Compare against 100% baseline screenshots

Component: Core / Launcher

## Description Menu text, shortcut labels, and separator lines appear soft/fuzzy when running under Wayland with fractional display scaling (e.g., 125%, 150%). The issue affects all menus, dialogs, and labels across the entire application. At 100% scaling the text is noticeably crisper, confirming fractional scaling as the root cause. ## Root Cause Qt's Wayland backend does not handle fractional scaling gracefully — it renders at the logical resolution then upscales, producing blurred output. This is a known Qt limitation on non-integer scale factors. ## Proposed Fix Ship a launcher wrapper or `.desktop` file that sets: ```bash QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor QT_ENABLE_HIGHDPI_SCALING=1 ``` The `.deb` package installs a wrapper at `/usr/bin/kindred-create` and a `.desktop` file — add these env vars to both. No C++ changes needed. Alternatively, expose `QT_WAYLAND_FORCE_DPI` as a config option for users on fractional-scale displays. ## Verification - Launch Kindred Create on Wayland at 125% and 150% scaling - Confirm menu text, dialog labels, and toolbar text render at native sharpness - Compare against 100% baseline screenshots **Component:** Core / Launcher
forbes added the bugthemehigh-priority labels 2026-02-08 17:03:26 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#33