Skip to content

Moonlight / Vibeshine Troubleshooting

Moonlight Black Screen Troubleshooting Guide

Section titled “Moonlight Black Screen Troubleshooting Guide”

The Vibeshine (Sunshine fork) server is working correctly:

  • Status: SUNSHINE_SERVER_FREE (ready for connections)
  • Ports: All required ports are accessible (47984, 47989, 47990, 47998, 48000, 48010)
  • Encoders: NVIDIA H.264, HEVC, and AV1 encoders detected
  • Display: KMS screencasting active on HDMI-A-2 (1920x1080)
  • Network: Server accessible from client machines
  1. Open Moonlight on your client device
  2. Go to SettingsStreaming
  3. Verify these settings:
    • Resolution: Try 1920x1080 or lower
    • FPS: Start with 30fps, then try 60fps
    • Bitrate: Start with 10 Mbps, increase if needed
    • Codec: Try H.264 first, then HEVC
  1. Streaming Quality: Start with “Balanced” or “Smooth”
  2. Hardware Acceleration: Enable if available
  3. Audio: Enable to test if video is the only issue
  1. LAN Connection (recommended):

    Host: lea (or 192.168.178.71)
    Port: 47989
  2. Manual Pairing:

    • In Moonlight: “Add PC manually”
    • Enter the IP address: 192.168.178.71
    • Complete pairing process
  • Windows: Allow Moonlight through Windows Firewall
  • macOS: Allow Moonlight through macOS Firewall
  • Mobile: Check network permissions
Terminal window
# From your client machine, test connectivity:
ping lea
telnet lea 47989
  1. Multiple Monitors: If you have multiple monitors, try disconnecting extras
  2. Display Resolution: Ensure the host display is set to 1920x1080
  3. Refresh Rate: Try 60Hz if available
  • Update graphics drivers on client device
  • Disable hardware acceleration in Moonlight temporarily
  • Try different rendering backends in Moonlight
  • Desktop: Moonlight Qt (latest version)
  • Mobile: Moonlight from official app stores
  • Web: Try the web client at http://lea:47989
  1. Open a web browser on your client device
  2. Navigate to: http://lea:47989
  3. You should see the Vibeshine web interface
  4. If this works, the server is accessible
  1. In Moonlight, choose “Add PC manually”
  2. Enter: 192.168.178.71
  3. Complete the pairing process
  4. Check the host machine for the pairing PIN
  1. In Moonlight settings:
    • Resolution: 1280x720
    • FPS: 30
    • Bitrate: 5 Mbps
    • Codec: H.264
  2. Try connecting with these settings
  1. If basic connection works, gradually increase:

Moonlight Black Screen Troubleshooting Guide

Section titled “Moonlight Black Screen Troubleshooting Guide”

The Vibeshine (Sunshine fork) server is working correctly:

  • Status: SUNSHINE_SERVER_FREE (ready for connections)
  • Ports: All required ports are accessible (47984, 47989, 47990, 47998, 48000, 48010)
  • Encoders: NVIDIA H.264, HEVC, and AV1 encoders detected
  • Display: KMS screencasting active on HDMI-A-2 (1920x1080)
  • Network: Server accessible from client machines
  1. Open Moonlight on your client device
  2. Go to SettingsStreaming
  3. Verify these settings:
    • Resolution: Try 1920x1080 or lower
    • FPS: Start with 30fps, then try 60fps
    • Bitrate: Start with 10 Mbps, increase if needed
    • Codec: Try H.264 first, then HEVC
  1. Streaming Quality: Start with “Balanced” or “Smooth”
  2. Hardware Acceleration: Enable if available
  3. Audio: Enable to test if video is the only issue
  1. LAN Connection (recommended):

    Host: lea (or 192.168.178.71)
    Port: 47989
  2. Manual Pairing:

    • In Moonlight: “Add PC manually”
    • Enter the IP address: 192.168.178.71
    • Complete pairing process
  • Windows: Allow Moonlight through Windows Firewall
  • macOS: Allow Moonlight through macOS Firewall
  • Mobile: Check network permissions
Terminal window
## From your client machine, test connectivity:
ping lea
telnet lea 47989
  1. Multiple Monitors: If you have multiple monitors, try disconnecting extras
  2. Display Resolution: Ensure the host display is set to 1920x1080
  3. Refresh Rate: Try 60Hz if available
  • Update graphics drivers on client device
  • Disable hardware acceleration in Moonlight temporarily
  • Try different rendering backends in Moonlight
  • Desktop: Moonlight Qt (latest version)
  • Mobile: Moonlight from official app stores
  • Web: Try the web client at http://lea:47989
  1. Open a web browser on your client device
  2. Navigate to: http://lea:47989
  3. You should see the Vibeshine web interface
  4. If this works, the server is accessible
  1. In Moonlight, choose “Add PC manually”
  2. Enter: 192.168.178.71
  3. Complete the pairing process
  4. Check the host machine for the pairing PIN
  1. In Moonlight settings:
    • Resolution: 1280x720
    • FPS: 30
    • Bitrate: 5 Mbps
    • Codec: H.264
  2. Try connecting with these settings
  1. If basic connection works, gradually increase:
    • Resolution → 1920x1080
    • FPS → 60
    • Bitrate → 20-30 Mbps
  1. Web Client: http://lea:47989
  2. Mobile App: If available
  3. Different Desktop Client: Moonlight Qt vs Moonlight PC
Terminal window
ssh lea "tail -f ~/.config/sunshine/sunshine.log"

Then try to connect from Moonlight and watch for errors.

Terminal window
## Install VLC on client machine
## Open VLC → File → Open Network Stream
## Enter: rtsp://192.168.178.71:48010
Terminal window
ssh lea "systemctl --user stop sunshine"
ssh lea "rm ~/.config/sunshine/sunshine.conf"
ssh lea "systemctl --user start sunshine"
  • Host: lea (192.168.178.71)
  • Package / Service: pkgs/vibeshine (Nonary’s Sunshine fork) — configured via the NixOS services.sunshine option for compatibility (modules/nixos/remote-desktop.nix)
  • Vibeshine Version: (see web UI or sunshine --version)
  • Display: 1920x1080 @ 60Hz
  • GPU: NVIDIA with NVENC encoders
  • Audio: Opus 48kHz stereo
  • State: Ready for connections
  1. Launch Steam on the host first
  2. Start the game in windowed mode initially
  3. Then connect via Moonlight
  4. Switch to fullscreen once connected
  1. Minimize CPU-intensive applications on host
  2. Close unnecessary background processes
  3. Ensure host display is active (not sleeping)
  1. Check Server Logs: Look for connection attempts in ~/.config/sunshine/sunshine.log (Vibeshine uses the same paths for compatibility)
  2. Network Analysis: Use Wireshark to analyze Moonlight traffic
  3. Alternative Clients: Try Parsec or Remote Desktop as alternatives
  4. Hardware Check: Test with a different client device

When everything is working, you should see:

  • The server shows “CLIENT CONNECTED” in logs
  • Moonlight displays your Hyprland desktop
  • Audio streams through Moonlight
  • Input (mouse/keyboard) works remotely
  • Frame rate is smooth (30-60 FPS depending on settings)

The server is properly configured - the issue is most likely on the client side or network configuration.## Vibeshine / Sunshine Connection Test Script

Vibeshine is Nonary’s fork of Sunshine, packaged in this repo as pkgs/vibeshine (see modules/nixos/remote-desktop.nix). It is still configured via the NixOS services.sunshine option — and uses the same ~/.config/sunshine/ paths, log file, and Moonlight protocol/ports — for compatibility. References to “Sunshine” below (the binary, log paths, SUNSHINE_SERVER_FREE state string, etc.) apply unchanged to Vibeshine.

  • Vibeshine Server: Running and responding (Moonlight-compatible)
  • Ports: All ports accessible (47984, 47989, 47990, 47998, 48000, 48010)
  • State: SUNSHINE_SERVER_FREE (ready for connections)
  • Encoders: NVIDIA H.264, HEVC, AV1 working
  • Display: KMS screencasting on 1920x1080
Terminal window
## Test from your Mac:
curl -s http://lea:47989/serverinfo
## Should return XML with server info
Terminal window
## Test UDP connectivity:
nc -v -u -z lea 47998
nc -v -u -z lea 48000
## Should succeed
  1. Open browser: http://lea:47989
  2. Should see Vibeshine web interface
  3. Click “Pair” to generate PIN
  4. Use PIN in Moonlight
  1. Open Moonlight
  2. “Add PC manually”
  3. Enter: 192.168.178.71
  4. Complete pairing process
Terminal window
## In VLC, open network stream:
rtsp://192.168.178.71:48010
  1. Check Moonlight Settings:

    • Resolution: Start with 1280x720
    • FPS: 30
    • Bitrate: 5-10 Mbps
    • Codec: H.264
  2. Check Host Display:

    • Make sure the Hyprland desktop is active
    • No screensaver running
    • Display not sleeping
  3. Network Issues:

    • Try wired connection instead of WiFi
    • Check router QoS settings
    • Disable VPN on client
  4. Client Hardware:

    • Update graphics drivers
    • Disable hardware acceleration in Moonlight
    • Try different client device
Terminal window
ssh lea "tail -f ~/.config/sunshine/sunshine.log"
Terminal window
## Watch logs while connecting:
ssh lea "tail -f ~/.config/sunshine/sunshine.log" &
## Then try Moonlight connection
Terminal window
ssh lea "sudo ss -tlnp | grep -E '(47984|47989|47990|48010)'"
ssh lea "sudo ss -ulnp | grep -E '(47998|48000)'"

When connection works, you should see:

[INFO] CLIENT CONNECTED
[INFO] Found display [wayland-0]
[INFO] Resolution: 1920x1080
[INFO] Screencasting with KMS
[INFO] Creating encoder [h264_nvenc]
[INFO] Streaming bitrate is XXXXX

If Moonlight still doesn’t work:

  1. Parsec: Alternative remote desktop
  2. RDP: Built-in Windows remote desktop
  3. VNC: Simple screen sharing
  4. NoMachine: Commercial remote desktop
  • Host: lea (192.168.178.71)
  • Display: Hyprland (Wayland) (1920x1080)
  • GPU: NVIDIA with hardware encoding
  • Audio: Opus 48kHz stereo
  • Network: All ports configured and accessible

The server is ready - the issue is likely client-side configuration or network settings.