MultiMon 1.0 is out for Windows and macOS. Both builds land today, from the same release.
MultiMon takes any set of monitors and turns them into one seamless video wall. Load your video and audio, pick a mode, and go fullscreen across every screen you choose. It’s free and open source, and it’s for anyone who needs video across more than one display — VJs, AV techs, theatres, installation artists, and design students alike.
Built to not crash
This is a ground-up rebuild. The earlier version was retired because it could lock up when shutting a show down — the one failure a live tool can’t have. So the rebuild was a stability mission from the first line.
On Windows, MultiMon runs on a persistent Direct3D 11 engine: the graphics pipeline is created once at startup and reused for the whole session. Entering and leaving perform mode only shows and hides windows — it never tears the pipeline down and rebuilds it, which is exactly the pattern that broke the old app. A headless stress harness drives repeated open/close cycles watching for the smallest GPU resource leak, with a bar of zero leak, zero crash, zero wedge. And if the graphics device is ever lost, MultiMon rebuilds it and resumes from the master clock on its own.
The macOS build is a native port, not a wrapper: a Metal render core, HAP and VideoToolbox decode, CoreAudio output and an Avalonia control panel, with display refresh matching and a performance readout. It follows the same rule — the pipeline is built once and kept.
The sync model is just as deliberate. There is one master clock, and every source shows the nearest frame at or before master time — dropping or repeating a frame as needed. No speed adjustment, no seek-correction, no source chasing another. A frame you see is always a real frame of the source.
What it does
- Four modes — Span (one source across every screen it detects, an equal share per screen),
Individual (a source per screen, with an optional Sync (frame-lock same-length clips) checkbox),
Hap (one HAP clip per screen, all on the one shared clock), and Split (one source cut into a
rows-by-columns grid, 2×2 by default, mapped per output by
row,col). - HAP and HAP Q, written from scratch with no third-party HAP library — BC1 for plain HAP, BC3 for HAP Alpha, and scaled YCoCg in BC3 plus a YCoCg shader for HAP Q. If the GPU can’t take a clip’s texture format, the file goes to Media Foundation instead.
- H.264 and HEVC, decoded through Media Foundation on Windows and VideoToolbox on macOS, with
hardware decode and an automatic software fallback. Containers:
mp4,mov,mkv,avi. - An inline audio mixer — a master fader and mute, and volume, pan, mute and solo per track, all clocked to the same master timeline as the picture. One output device serves the whole show.
.mmprojproject files, Convert to HAP (FFmpeg on yourPATH— it isn’t bundled) and Identify screens.
Honest about the edges
The Windows build is unsigned, so SmartScreen warns on first run — choose More info, then Run
anyway. The macOS build is signed with a Developer ID but not notarized, so on first launch
right-click the app and choose Open rather than double-clicking it. Signing and notarisation are both
planned. Intel Macs are deferred to 1.1 — this release is Apple Silicon only. FFmpeg is resolved from
your PATH, so install it only from a source you trust. Only open .mmproj files you created. And
per-link mixer overrides set during a perform session aren’t saved into the project file yet.
On Windows MultiMon needs a Direct3D 11 Feature Level 11.0 GPU and fails at startup without one; on macOS it needs macOS 14 or later on Apple Silicon. It has been run and passed on a two-GPU development box — an NVIDIA RTX 3080 with an AMD integrated GPU — across the full harness matrix, with up to four simultaneous outputs in the stress harness. The real Intel (QuickSync) pass, a multi-vendor rig of four or more screens and a live audio device-pull are still outstanding: all three need hardware we don’t have on the bench. The macOS build was tested on two displays, but not yet on a larger multi-screen rig, with audio device switching or unplugging, or on an Intel Mac.
Free & open
MultiMon is EUPL-1.2 licensed, with source on GitHub. The Windows release is self-contained — .NET 9 is bundled, nothing to install — and macOS ships as a DMG you drag to Applications.
Download MultiMon 1.0.0 for Windows → (x64, self-contained zip, ~115 MB)
Download MultiMon 1.0.0 for macOS → (Apple Silicon DMG, ~110 MB — right-click → Open on first launch)