JetBrains / JetBrains/thinkrail

GUI window renders blurry fonts / poor DPI scaling on 2560x1600 display (Windows 11)

Open
#440 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
467
Forks
37
Avg merge
1d 52m
Merged PRs (30d)
143

Description

## Description

I'm using the software which offers two ways to launch its UI:
CLI mode – runs a local dev server and opens the UI in my default browser (Chrome/Edge).
GUI mode – launches a dedicated native app window (likely Electron / Tauri / NW.js) that displays the same UI.

In CLI mode, the UI renders perfectly crisp with correct font rendering and scaling.
In GUI mode, however, all fonts appear noticeably blurry – as if the window is not respecting the system DPI / scaling settings. The issue is most visible on text, but UI elements also look slightly "fuzzy" or upscaled from a lower-resolution buffer.

My display is a 2560×1600 panel (native resolution) with 150% scaling (recommended) set in Windows 11. The GUI window seems to be running at a lower effective resolution and then stretched, causing the blurriness.

## Steps to reproduce

1. Install the software (version `0.0.21` ).

2. Open a terminal and run the CLI command to launch the UI in browser mode – observe sharp fonts.

3. Close the browser and launch the GUI mode (e.g., via desktop shortcut or app --gui).

Observe the rendered UI inside the native window – fonts are blurry, especially small text.

## Expected behavior

The GUI window should render fonts and UI elements with the same sharpness and clarity as the browser version, properly respecting the system DPI scaling (150% on 2560×1600) and using high-DPI rendering (e.g., `--enable-features=UseOzonePlatform` / `--force-device-scale-factor` or native DPI awareness).

## Actual behavior

Fonts are blurry/pixelated, suggesting the window is either:

- Running at a lower internal resolution (e.g., 1706×1067) and upscaled,

- Not DPI-aware (or using per-monitor DPI incorrectly),

- Missing high-DPI backing scale settings in the framework.

## Environment

- OS: Windows 11, version 25H2
- Bun version (`bun --version`): `1.3.14`
- Node version (`node --version`): `v24.14.0`
- ThinkRail version / commit: `0.0.21`

screenshoot in full screen mode:
Image

Contributor guide

Open the contributing guide

Research direction

Reproduce the difference between CLI browser mode and GUI mode on Windows 11 at 150% scaling with the listed versions, then inspect the GUI launch and window configuration. Done means the native window renders text and UI elements as sharply as the browser at 2560×1600 without blurry or upscaled output.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.