Skip to content

True HiDPI smooth scaling on ultrawide monitors (virtual display + mirroring) #65

Description

@didriksg

Smooth scaling injects a dense HiDPI ladder through a display override plist, which works as long as macOS is willing to allocate the 2x backing for every step. On ultrawides it often isn't: WindowServer caps how large a scaled backing it will create per display, and on a 5K2K panel (5120x1440) the ladder ends around "looks like 3360x945" because everything above needs a backing wider than the cap. The sizes between that and native exist only as plain 1x modes. The plist route can't go further; the limit sits in the display pipeline, not in the override.

The way past it is a mirrored virtual display: create a virtual display that carries the HiDPI mode you actually want (its framebuffer is rendered, not scanned out, so the cap doesn't apply), then mirror the physical panel onto it and let the hardware downscale on scanout. Crisp already has both halves, VirtualDisplayService creates HiDPI virtual displays and MirrorService handles mirroring. The real work is the wiring:

  • slider stops beyond the enumerable ladder create the virtual display and mirror, instead of a plain mode switch
  • brightness, DDC and gamma keep targeting the physical panel while it mirrors
  • teardown on disconnect, sleep and quit, so a failure never leaves a black panel
  • the mirrored pair reads as one display in the menu, not two

Until this lands, smooth scaling on ultrawides covers the dense range the hardware allows (200% down to about 152% on a 5K2K panel), and the larger in-between sizes stay non-retina 1x.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions