Skip to content

WSL: pane graphics render blurry — cell size is 8x16 while the terminal reports 10x21 via CSI 16t #2146

Description

@WakaTaira

Is this a reproducible bug?

  • I confirm this is a reproducible bug, not a feature request, idea, question, contribution proposal, or direction check.
  • I reproduced this bug on the version and environment reported below using the exact steps provided.

Current behavior

Graphics panes render visibly blurry under WSL. pane.graphics.info reports {"cell_width_px":8,"cell_height_px":16}, but the outer terminal's actual cell size is 10x21 px (its CSI 16 t reply is ESC[6;21;10t). Under WSL the pty reports xpixel=0 ypixel=0 (TIOCGWINSZ).

Expected behavior

Pane graphics use the terminal's actual cell size (10x21 here) so frames match the pane's real pixel size and render crisply — as the same setup does on a native Linux host.

Reproduction

  1. Windows WezTerm → wsl.exe → herdr with experimental.kitty_graphics = true
  2. Open a plugin graphics pane (e.g. the herdr-browser plugin) — the image is upscaled and blurry
  3. printf '{"id":"p","method":"pane.graphics.info","params":{"pane_id":"<pane>"}}\n' | nc -U ~/.config/herdr/herdr.sock{"cell_width_px":8,"cell_height_px":16}
  4. In the same terminal outside herdr: printf '\e[16t' and read the reply → ESC[6;21;10t; TIOCGWINSZ on the same tty → rows=37 cols=161 xpixel=0 ypixel=0

Impact

Every graphics pane on WSL is produced at roughly 60% of its actual pixel area and upscaled by the terminal, so browser panes and images are noticeably blurry. The identical config on native Linux (ghostty) renders crisply.

Environment

  • Herdr version: 0.7.4
  • Update channel (stable or preview): stable
  • Operating system: NixOS 26.05 on WSL2 (Windows 11 host)
  • Terminal: WezTerm 20260331-040028-577474d8 (Windows) via wsl.exe
  • Shell, if relevant: zsh
  • Relevant config, if any: [experimental] kitty_graphics = true

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions