Skip to content
MoreDisplays

Type to search.

Manual contents

Virtual displays

After this page you will be able to define a display that makes your remote client render at the right sharpness and the right text size.

Last updated 22 August 2026

A virtual display exists in the macOS display hierarchy with nothing on the other end of it. macOS composites into it, applications lay out for it, and a screen sharing client streams from it. The only thing missing is the panel.

The Displays panel for one display: a 49-inch DQHD ultra-wide at 5120 by 1440 and 60 Hz, marked as the main display and not connected, with fields for resolution, pixel size, refresh rate, a HiDPI toggle and a rotation control offering 0, 90, 180 and 270 degrees.
Everything a display spec holds, in the order the app asks for it.

Pixel size and HiDPI

The Pixel Size field is the native framebuffer, in pixels. The HiDPI toggle decides whether the display also advertises the 2x modes derived from it.

Pixel sizeHiDPIWhat macOS offersWhat it looks like
2560 x 1440off2560 x 1440A 27 inch 1440p monitor
2560 x 1440on2560 x 1440, and 1280 x 720 at 2xThe same panel, with a Retina mode
5120 x 2880on5120 x 2880, and 2560 x 1440 at 2xA 5K panel used as Retina 1440p
5120 x 1440off5120 x 1440A 49 inch 32:9 ultrawide

The mistake to avoid is thinking in the numbers System Settings shows. macOS presents a Retina display as “looks like 2560 x 1440” while the panel is 5120 x 2880. MoreDisplays asks for the panel, and HiDPI is what produces the “looks like” modes on top of it.

Picking numbers for a client

Start from the client’s own panel. The catalogue does this for you: pick the iPad or the MacBook from the template picker and the numbers arrive correct.

When you are typing them yourself, these are reasonable starting points.

ClientPixel sizeHiDPI
iPad Pro 11-inch2388 x 1668on
iPad Pro 13-inch2752 x 2064on
MacBook Air 13-inch2560 x 1664on
27 inch 1440p monitor2560 x 1440off
34 inch ultrawide3440 x 1440off
49 inch ultrawide5120 x 1440off
4K monitor, Retina text3840 x 2160on

Set one, connect, look at it, adjust. There is no substitute for looking.

Rotation

A display can be rotated by 90, 180 or 270 degrees, and the rotation is part of the spec rather than something applied afterwards. A portrait panel is a landscape panel with a rotation, not a display with its width and height swapped, and macOS reports the two differently to applications.

A 5120 by 1440 ultrawide main display with a 1080 by 1920 portrait display to its right, centred vertically. Ultrawide 5,120 x 1,440 MAIN Side
The portrait display on the right is a 1920 by 1080 panel with a 90 degree rotation.

Rotation is captured with the rest of the group, so a portrait side panel comes back portrait.

The physical size it reports, and why it is a lie

Every display tells macOS how large it physically is, and macOS divides pixels by millimetres to get a density. A virtual display has no physical size, so the app derives one.

It cannot simply use the real panel’s millimetres. The private interface refuses a descriptor whose pixel density is too high for the declared size, so the millimetres are computed from a target density rather than taken from the catalogue. The default target is 150 PPI, which sits comfortably inside what the interface accepts.

There is an override on the spec for the cases where a client renders at an obviously wrong scale and the density is the reason. Reach for it last, after checking the pixel size and the HiDPI toggle, because those explain the problem far more often.

Two behaviours to know about

Displays vanish when the app quits or crashes. They belong to the app, and it releases them when it stops. That is deliberate: a display no running process owns cannot be reconfigured or removed until the next reboot, which is worse than not having it. Orphans from a crash are detected at the next launch through the vendor identifier stamped on everything the app creates, and cleaned up.

There is a kill switch. Turning off Allow virtual displays in Settings stops the app creating any and releases those that exist. It is the first thing to check when nothing appears and no error is shown.

What is available on which macOS

Creating a display uses an interface that is not public API.

Virtual display capabilities by macOS version.
Capability macOS State Why
Create and release displays 14.0 and later Available Below macOS 14 the interface differs enough that the app declines rather than guessing.
HiDPI modes 14.0 and later Available Derived from the native pixel size when the toggle is on.
Rotation 14.0 and later Available 0, 90, 180 and 270 degrees, stored on the spec.
Validated against this macOS 14.0 to 26 Available macOS 26 is the newest line the interface has been checked on.
Newer than macOS 26 27 and later Partial The app warns and proceeds. Refusing to run on a release nobody has tested is worse than trying and reporting what happened.
Displays at the login window any Unavailable The app runs in your user session, so nothing exists before you log in. The privileged service that will cover it ships but does not serve yet.

Next