Analysis updated 2026-05-18
Keep Sunshine streaming a display after turning off the physical monitor.
Avoid buying a hardware dummy HDMI plug for headless game streaming.
Clone a real monitor's EDID onto an unused graphics connector.
Switch which graphics port hosts the forced virtual display.
| beverdam/sunshine-ghost-monitor | 123satyajeet123/bitnet-server | alexbloch-ia/legal-data | |
|---|---|---|---|
| Stars | 0 | 0 | 0 |
| Language | Shell | Shell | Shell |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | ops devops | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Modifies boot loader and kernel parameters, mistakes can require recovery from a text console.
This project is a shell script for CachyOS and other Arch based Linux systems that lets Sunshine, a game streaming server, keep capturing a display even after the physical monitor is turned off or unplugged. Normally a video card will stop outputting a signal once it detects no monitor is connected, which breaks streaming setups. Instead of requiring a physical dummy HDMI plug, this script fakes a connected monitor at the operating system level. It works by copying the EDID, a small block of data a monitor sends describing its supported resolutions, from a real connected monitor. It saves that data as a firmware file, adds it to the system's boot image, and sets kernel parameters that force an unused graphics connector to report as enabled. This means the real monitor can be turned off, put to sleep, or unplugged after boot without the forced virtual connector losing its signal, so Sunshine keeps capturing normally. The README states this behavior is confirmed reliable on the open source AMD graphics driver, and notes that Nvidia's proprietary driver has historically been less consistent with this trick. The script requires an Arch based system using the mkinitcpio boot image tool rather than dracut, Sunshine already installed, at least one real monitor connected during setup, and an unused graphics connector to repurpose as the virtual display. It must be run with root privileges for installing, switching connectors, or uninstalling. Usage is command line based: a diagnose command lists available graphics connectors and whether each has readable monitor data, an install command clones the chosen monitor's data onto the chosen unused connector, and there are commands to switch which connector is used, check current status, uninstall the setup, and print helper information for configuring Sunshine itself. A dry run mode is available before making real changes, and the script keeps timestamped backups of any configuration file it edits. The README includes a strong disclaimer: this script modifies boot loader and kernel boot parameters, and mistakes can result in a black screen or a broken display setup requiring recovery from a text console. It recommends reading the script, testing with dry run first, and understanding how to undo the changes before using it on a machine that matters.
This script forces a fake virtual display on Linux so Sunshine can keep streaming even after the real monitor is turned off.
Mainly Shell. The stack also includes Shell, Linux, mkinitcpio.
The README shown does not state a license.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.