Skip to content
MoreDisplays

Type to search.

Support

In this order. Each step answers more problems than the one after it, and doing them in order is the difference between a ten minute fix and a three day thread.

01

Export a support bundle

Settings, Diagnostics, Export Support Bundle. It writes a zip, and it is the single most useful thing you can attach to a report.

What is in it

  • A manifest with the build and machine facts: macOS version, hardware model, app version.
  • Your configuration: groups, arrangement, settings.
  • The app's own log entries from the last day.
  • The display topology as the app sees it.

And nothing else

The exporter can only read from three places: the support directory, the app's own log entries, and the live topology. That is not a promise in a comment, it is the shape of the code, and there is a test that proves nothing outside those three ends up in the archive.

unzip -l ~/Desktop/MoreDisplays-support.zip
  Length   Name
  -------  ----
     4821  manifest.json
    18240  config.json
    96114  log.txt
     2903  topology.json
02

Check known issues

Maintained, and honest about the ones that will not be fixed.

Sleep, wake, hotplug and cold boot are untested on hardware

Open

Affects All versions, today

Automated tests run headless against fakes, so a set of situations can only be checked by hand on real hardware. Several of them have not been checked yet.

Verified so far: activating a group, switching straight from one group to another, and deactivating, all on real hardware, with the displays appearing at the requested resolution and position.

Not yet verified: sleep and wake, logout and login, connecting or disconnecting a physical monitor while a group is active, a cold boot with activate-on-launch set, deleting the active group, a shortcut another app already owns, and a crash while virtual displays exist.

None of it stops the app launching or leaves you without a screen: a failed switch rolls back, and a failed rollback releases every virtual display and puts a physical one back as main. But a display utility that has not been through a wake cycle is not one to trust on a Mac in another building until you have tried that cycle yourself.

Workaround. None. Treat these situations as unknown rather than working, and test them on your own machine before relying on them.

Software brightness has no visible effect

Workaround

Affects Recent macOS on some Apple silicon

Writing a gamma table to change apparent brightness returns success and produces no visible change on some Apple silicon Macs under recent macOS. The call does not fail, so there is no error to report and nothing in the log.

A slider that moves and changes nothing is worse than no slider, so where this is detected the control is disabled and carries the reason.

Displays with a real DDC channel are unaffected: that path changes the panel’s own backlight and works.

Workaround. None needed. Where the app can detect it, the control is disabled with the reason shown rather than left in place.

A remote client keeps changing the resolution

Workaround

Affects All versions, with Jump Desktop or Parsec

Jump Desktop and Parsec both request a display resolution when they connect, and again when the link changes. The display then no longer matches the group you activated.

Marking that display protected in the group makes the app put the arrangement back. It gives up after five restores in twenty seconds, though, because two programs taking turns rewriting the framebuffer is worse than either outcome, so protection wins the argument a few times and then concedes until the group is activated again.

The real fix is in the client: turn its automatic or dynamic resolution off, and let the group own the display. Protection is the belt to that pair of braces, not a substitute for it.

Workaround. Turn off automatic or dynamic resolution in the client. Protecting the display puts it back, but concedes if the client keeps asking.

Sharing the library reports itself unavailable

Workaround

Affects Any build without the entitlement, and any Mac with no iCloud account

Sharing the group library over iCloud needs three things: a restricted entitlement, a signed build, and a user signed in to iCloud. An entitlement counts only when the bundle embeds a provisioning profile granting it, so a build made without one reports sharing as unavailable in Settings, in the same sentence someone with no iCloud account sees.

Settings names which of the three is missing rather than saying only that it did not work.

Nothing else is affected. Groups, activation, the CLI and backups all work against the local file.

Workaround. Expected. Everything else works against the local file; sharing needs a signed build with the right provisioning profile.

Nothing exists before you log in

Workaround

Affects Every version so far

MoreDisplays runs in your user session, so its displays exist from the moment the app launches after you log in, and not before. Nothing it does affects what the login window looks like or which display it appears on.

Covering that window needs a privileged service running as root from boot. The app now ships one: it installs from Settings, registers through SMAppService, runs from the moment the Mac starts, stays resident and reports its state in mdctl status. The last step is the one that is missing. It does not present a display at the login window yet, so in this version enabling it buys nothing.

Until it does, this is the first thing to weigh if you are thinking of putting a Mac somewhere you cannot reach. A hardware dummy plug covers the login window; the app covers everything after it.

Workaround. Use automatic login, keep the machine logged in, or keep a hardware dummy plug for the login window only.

Switching Spaces moves focus to the wrong display

Will not fix

Affects macOS 26

A virtual display in the hierarchy can interfere with how the window server tracks focus across Spaces. Switching Spaces occasionally leaves focus on a display other than the one that received the switch.

This is macOS behaviour rather than a MoreDisplays bug, and a workaround inside the app would mean fighting the window server for control of focus, which produces a worse and less predictable result than the original problem.

Workaround. Keep the number of active displays low, and switch groups with a keyboard shortcut rather than by moving between Spaces.

03

Search the manual and the FAQ

The whole site is indexed, including every CLI page. Press / or ⌘K anywhere, or start here.

The pages that answer the most questions: Troubleshooting, why a feature is greyed out, and remote clients.

04

Ask or report

One address, for everything. The repository is private while the app is unreleased, so there is no issue tracker to file on and no discussions board to search.

support@moredisplays.com

Something is broken

Attach the support bundle, and say what you expected, what happened, and the exact command or click that produced it. A report with a bundle gets an answer; one without gets a request for a bundle.

A question, or an idea

Same address. Say which part of the manual you read first, because if the answer was supposed to be there and was not, that is a documentation bug worth fixing as well.

A security problem

Same address, and say so in the subject line. There is no public tracker, so nothing you send becomes visible to anyone else by accident.

Which version are you on

There are no releases yet, so there is no support matrix. Everyone running this is running a build they made themselves, and the useful thing to include in a report is the commit.

mdctl status | head -1 && git -C ~/src/MoreDisplays rev-parse --short HEAD
version: 0.1.0
0c1cdd7

Also say which macOS you are on and whether make smoke passes. Those two answers resolve a surprising share of reports on their own.

Getting rid of it

If it is not for you, the uninstall guide removes every trace, including the configuration most uninstall instructions forget. Nothing is left behind and there is no account to close.