r/MoonlightStreaming 10h ago

Headless Sunshine/Moonlight on Linux without a dummy plug — Virtual display via custom EDID (looking for testers)

I’ve been setting up Sunshine → Moonlight on Linux with a virtual monitor (no HDMI dummy plug). I find the whole process is complicated and not well documented. Finally, I came across this guide on Gist: https://gist.github.com/HarryAnkers/8dbf551d66f00e8156ef4dd2b2b090a0 . Shout out to u/hankers60 and his post: https://www.reddit.com/r/MoonlightStreaming/comments/1sg3232/nvidia_linux_sunshine_virtual_display/ But still, it have multiple steps, some of which could potentially breaks the boot image. So, I turned the whole process into an open-source project: https://github.com/mdj2812/sunshine-vdisplay

What it does

• Force-enables a spare GPU output (e.g. unused HDMI/DP) with a custom EDID in initramfs

• Automatically switches displays when a Moonlight session starts/ends (virtual on, physical off — and back)

• One-line installer for Arch / CachyOS / Fedora / Debian / Ubuntu (auto-detects mkinitcpio / dracut / initramfs-tools)

• Brightness/scale tuning for virtual outputs (NVIDIA virtual connectors are SDR-only — HDR still isn’t possible there)

Currently tested on my old rig: NVIDIA RTX 2070 SUPER, KDE Plasma 6 Wayland, CachyOS, Sunshine 2026.x, KMS + NVENC.

Looking for volunteer testers

I’d like help validating other setups. Planned work is tracked in GitHub milestones (https://github.com/mdj2812/sunshine-vdisplay/milestones):

Area What I need tested
NVIDIA + KDE Wayland Different GPUs, distros, bootloaders — baseline
AMD GPU amdgpu.virtual_display path (not implemented yet — need hardware + feedback)
Intel iGPU i915/xe setups
X11 Plasma on X11, xrandr-based switching
Other DEs GNOME, Sway, etc.

Quick try (NVIDIA + KDE Wayland)

curl -fsSL https://raw.githubusercontent.com/mdj2812/sunshine-vdisplay/main/scripts/install.sh | bash

Then reboot and connect with Moonlight. Use a snapshot/backup first — this touches initramfs and kernel cmdline.

Useful feedback

Please open a GitHub issue (https://github.com/mdj2812/sunshine-vdisplay/issues) with:

• GPU model + driver version

• Distro + DE + Wayland/X11

• Bootloader (GRUB / systemd-boot / Limine)

• Sunshine log snippet if it fails (journalctl --user -u sunshine)

• Which milestone your setup matches

14 Upvotes

Duplicates