#288

Support multi monitor

Openpdaneshmandopened 21d ago

Feature Request: Multi-Monitor Support on Apple Silicon

Summary

I would like to request proper multi-monitor support for try-omarchy on Apple Silicon Macs, particularly systems such as the Mac mini M4.

Currently, running Omarchy in a virtualized environment on Apple Silicon is possible to some extent, but multi-monitor usage is either unavailable or not sufficiently supported. Since multi-monitor setups are a common desktop/workstation configuration, it would be valuable if future versions of try-omarchy could provide first-class support for multiple displays.

Use Case

My target setup is:

  • Mac mini M4 (Apple Silicon / ARM64)
  • Two or more external monitors
  • Omarchy running in a virtualized environment
  • Wayland/Hyprland as the desktop environment

The goal is to be able to use each physical display as an independent Wayland/Hyprland monitor, rather than having the guest OS exposed to a single virtual display.

For example:

                 Mac mini M4
                     │
              Virtualization
                     │
              ┌──────┴──────┐
              │   Omarchy   │
              │  Wayland /  │
              │  Hyprland   │
              └──────┬──────┘
                     │
             Multiple virtual
                displays
              ┌──────┼──────┐
              ▼      ▼      ▼
           Monitor 1  Monitor 2  Monitor 3

Expected Behavior

When multiple physical displays are connected to the host, Omarchy should ideally expose them as separate Wayland outputs.

For example:

hyprctl monitors

could report something similar to:

Monitor HDMI-A-1
Monitor HDMI-A-2

or equivalent virtual display outputs.

Each monitor should be independently configurable through Hyprland, including:

  • Resolution
  • Refresh rate
  • Position
  • Scaling
  • Workspace assignment
  • Monitor-specific wallpaper
  • Monitor-specific rules
  • Hotplugging / disconnecting displays

For example:

monitor = DP-1, 2560x1440@144, 0x0, 1
monitor = DP-2, 2560x1440@144, 2560x0, 1

Apple Silicon / Virtualization Considerations

This request is particularly relevant to Apple Silicon Macs because the host GPU architecture and virtualization model are different from traditional x86 PCs.

It would be useful if try-omarchy could provide or document a supported virtualization configuration for Apple Silicon that allows multiple virtual displays to be mapped to multiple physical displays.

Possible implementations could include:

  • Multiple virtual display devices exposed to the guest
  • VirtIO-GPU based multi-head configuration
  • SPICE/QXL or another suitable virtual display mechanism
  • Hypervisor-specific multi-display support
  • Wayland/Hyprland configuration for dynamically detected virtual outputs

I am not suggesting that a particular virtualization technology must be used. The important part is that the guest should be able to expose multiple independent outputs to Hyprland.

Dynamic Display Handling

Ideally, the implementation should also support display hotplugging.

For example:

  1. Start Omarchy with one monitor.
  2. Connect a second monitor to the Mac.
  3. The second display becomes available to the guest.
  4. Hyprland detects the new output.
  5. Omarchy applies the appropriate monitor configuration automatically.

Likewise, disconnecting a monitor should not leave Hyprland in a broken display state.

Why This Would Be Useful

Multi-monitor support is particularly important for desktop development workflows.

A typical setup might be:

┌──────────────────────┐  ┌──────────────────────┐
│                      │  │                      │
│       Editor         │  │      Terminal        │
│                      │  │                      │
│                      │  │                      │
└──────────────────────┘  └──────────────────────┘

This is especially useful when Omarchy is being evaluated or used on Apple Silicon hardware, where virtualization may be the primary way to experiment with the environment.

Requested Feature

I would like to propose adding first-class multi-monitor support to try-omarchy, especially for Apple Silicon virtualization environments.

At minimum, it would be helpful to have:

  • Multiple virtual displays exposed to the guest
  • Multiple Wayland/Hyprland outputs
  • Independent monitor configuration
  • Display hotplug support
  • Documentation for the recommended Apple Silicon virtualization setup
  • Recommended configuration for 2+ monitors

If full multi-monitor support is not currently feasible, even documenting the current limitation and the required virtualization/GPU architecture would be very helpful.

Thanks for the work on Omarchy. The project is very promising, and proper multi-monitor support would make it significantly more practical for workstation and development use cases.

Activity

1
JeppeBylov11d ago

Some detail from a running VM on Try Omarchy v0.5.0, in case it helps scope this. Host: MacBook Pro M3, macOS 27.0.1 (26A434), built-in display plus one external. Guest: Omarchy 4.0.4, VM created 2026-10-10.

The guest only ever gets one output: the kernel logs [drm] number of scanouts: 1, and hyprctl monitors all lists only Virtual-1. That matches macos/run-qemu-gpu.sh, which launches the GPU as virtio-gpu-gl-pci,max_outputs=1.

Raising max_outputs alone probably isn't enough:

  • The Cocoa frontend uses a single window bound to qemu_console_lookup_default(), so a second scanout would have nowhere to be shown.
  • omarchy-native-display-sync in the guest writes one catch-all hl.monitor({ output = "", … }) rule, so it also assumes a single output.

So this likely needs a second Cocoa window/console on the host plus per-output handling in the guest sync.

Happy to test builds on this MacBook + external display setup.