Installation Guide - LeGeRyChEeSe/Sunshine-AIO GitHub Wiki

Installation Guide

Detailed installation and configuration guide for Sunshine-AIO streaming setup.

๐Ÿ“‹ Prerequisites

System Requirements

Minimum:

  • Windows 10 (1903+) or Windows 11
  • 4GB RAM, DirectX 11 GPU
  • 2GB storage space
  • Administrator privileges

Recommended:

  • Modern CPU (Intel i5/AMD Ryzen 5+)
  • 8GB+ RAM, Hardware encoding GPU (NVIDIA GTX 1050+/AMD RX 400+)
  • SSD storage, Wired network connection

Note: Python, Git, and all dependencies are installed automatically by the script.

๐Ÿš€ Installation Methods

Method 1: Automated Installation (Recommended)

One Command Setup:

# Run as Administrator
irm https://sunshine-aio.com/script.ps1 | iex

Automated Process:

  • โœ… System compatibility check
  • โœ… Install Python/Git if needed
  • โœ… Download Sunshine-AIO from GitHub
  • โœ… Setup virtual environment
  • โœ… Interactive component selection
  • โœ… Complete configuration

User Input Required:

  • Installation directory selection
  • Component choices (Sunshine, VDD, Playnite)
  • Basic Sunshine configuration

Alternative: Development/Testing Mode

For developers only:

Note: There is no public download available. This method is only for developers who have direct repository access.

  1. Clone repository (developers only)
  2. Setup environment:
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
  1. Launch: Use development environment

Important: Regular users should use the automated PowerShell installation only.

Note: The above development mode replaces any manual installation methods. There are no public downloads or releases available for manual installation.

๐ŸŽ›๏ธ Component Selection

Core Components

๐ŸŒž Sunshine (Required)

Function: Main streaming server for screen capture and transmission

Installation includes:

Default configuration:

  • Port: 47989 (streaming)
  • Port: 47990 (web interface)
  • Auto-generated certificates

๐Ÿ–ฅ๏ธ Virtual Display Driver (Recommended)

Function: Creates virtual monitors for independent streaming

Benefits:

  • Stream without affecting main display
  • Custom resolutions per client
  • Multiple virtual displays
  • HDR support

Uses: Microsoft IDD Sample Driver (free, open-source)

Optional Components

๐Ÿ“ฑ Sunshine Virtual Monitor (Advanced)

Function: Advanced display management through PowerShell automation

Features:

  • Automatic resolution matching
  • HDR switching
  • Multi-monitor support
  • Client-specific configurations

Includes: PowerShell scripts, Multi Monitor Tool, VSync Toggle

๐ŸŽฎ Playnite (Game Library)

Function: Universal game library manager

Supported Platforms:

  • Steam, Epic Games, GOG, Xbox Game Pass
  • Origin, Uplay, emulators
  • Custom game additions

Optimized for streaming with fullscreen mode and controller support

๐Ÿ‘๏ธ Playnite Watcher (Stream Integration)

Function: Enhances Playnite for streaming

Features:

  • Automatic game import
  • Session monitoring
  • Performance tracking
  • Stream integration helpers

โš™๏ธ Installation Configuration

Interactive Setup Options

Component Selection Screen:

Select components to install:
[X] Sunshine (Required)
[X] Virtual Display Driver (Recommended)  
[ ] Sunshine Virtual Monitor (Advanced)
[ ] Playnite (Optional)
[ ] Playnite Watcher (Optional)

Advanced Options:

  • Custom installation directories
  • Service configuration
  • Network settings
  • Display preferences

Note: Silent installation mode is not currently available - all installation requires user interaction through the PowerShell script.

๐Ÿ”ง Post-Installation Configuration

1. Sunshine Web UI Setup

Access the Web Interface:

  1. Open browser: https://localhost:47990
  2. Accept certificate warning (self-signed)
  3. Create admin account
  4. Configure basic settings

Essential Settings:

Username: [your-choice]
Password: [secure-password]
Output Resolution: Auto (or match your display)
FPS: 60
Bitrate: 20000 (adjust for network)

2. Add Applications

Desktop Streaming:

{
  "name": "Desktop",
  "cmd": "cmd /C",
  "working-dir": "C:\\"
}

Steam Big Picture:

{
  "name": "Steam Big Picture",
  "cmd": "C:\\Program Files (x86)\\Steam\\steam.exe",
  "args": "-bigpicture",
  "working-dir": "C:\\Program Files (x86)\\Steam"
}

Individual Game:

{
  "name": "Game Name",
  "cmd": "C:\\Games\\YourGame\\game.exe",
  "working-dir": "C:\\Games\\YourGame",
  "prep-cmd": ["taskkill /f /im explorer.exe"],
  "detached": ["explorer.exe"]
}

3. Network Configuration

Automatic (Recommended):

  • UPnP will configure port forwarding
  • mDNS enables auto-discovery
  • Certificate generation is automatic

Manual Configuration:

Router Port Forwarding:
- Internal Port: 47989 (TCP/UDP)
- External Port: 47989 (TCP/UDP)
- Internal IP: [Your PC IP]

Firewall Rules:
- Allow Sunshine through Windows Firewall
- Allow port 47989 inbound/outbound

4. Virtual Display Setup

Verify Installation:

# Check for virtual display
Get-PnpDevice -Class "Display" | Where-Object {$_.FriendlyName -like "*Virtual*"}

# Should show: IDD HDR (Virtual Display)

Configure Resolutions:

  1. Right-click Desktop โ†’ Display Settings
  2. Virtual display should appear as secondary
  3. Set desired resolution and position
  4. Apply changes

๐Ÿงช Testing Your Installation

Basic Functionality Test

1. Service Status:

Get-Service -Name "SunshineService"
# Should show: Running

2. Web UI Access:

  • Navigate to https://localhost:47990
  • Should load Sunshine configuration page
  • No certificate errors after accepting

3. Virtual Display:

  • Check display settings for virtual monitor
  • Should see additional display available
  • Test resolution changes

Streaming Test

1. Install Moonlight Client:

2. Pairing Process:

1. Launch Moonlight on client
2. Scan for PC (should auto-detect)
3. Enter pairing PIN from Sunshine Web UI
4. Successful pairing confirmation

3. Stream Test:

1. Launch "Desktop" application from Moonlight
2. Should see your PC screen on client
3. Test mouse/keyboard input
4. Verify audio streaming

๐Ÿ› ๏ธ Troubleshooting Installation

Common Installation Errors

PowerShell Execution Policy Error:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Python Not Found:

# Install Python 3.8+ from python.org
# Or use Microsoft Store version
# Verify with: python --version

Admin Privileges Required:

Right-click PowerShell/Command Prompt
Select "Run as Administrator"
Re-run installation command

Component-Specific Issues

Sunshine Service Won't Start:

# Check Windows Event Viewer
eventvwr.msc
# Navigate to: Applications and Services โ†’ Sunshine
# Look for error messages

Virtual Display Driver Failed:

# Manual driver installation
cd "tools\VDD Control"
.\VDD Control.exe
# Click "Install Driver" button
# Restart if prompted

Playnite Installation Issues:

# Check if Visual C++ Redistributable is installed
# Download from Microsoft if missing
# Retry Playnite installation

๐Ÿ“ Installation Directories

Default Locations:

Sunshine: C:\Program Files\Sunshine
VDD Control: [project]\tools\VDD Control  
Playnite: C:\Program Files\Playnite
SVM Tools: [project]\tools\sunshine-virtual-monitor-main
Config Data: C:\ProgramData\Sunshine

Log Files:

Installation: [project]\logs\installation.log
Sunshine: C:\ProgramData\Sunshine\sunshine.log
System Events: Windows Event Viewer โ†’ Sunshine

๐Ÿ”„ Updating Sunshine-AIO

Update Process

Method 1 (Easiest):

  1. Launch: Use the "Sunshine-AIO" shortcut in the installation folder
  2. Update: Select update option from the main menu
  3. Automatic: Tool will update itself automatically

Method 2 (PowerShell):

# From inside the Sunshine-AIO folder (recommended)
cd "path\to\Sunshine-AIO"
irm https://sunshine-aio.com/script.ps1 | iex

# OR from anywhere - you'll be prompted for the installation path
irm https://sunshine-aio.com/script.ps1 | iex

๐Ÿšจ Security Best Practices

Essential Security

  • Set strong passwords in Sunshine Web UI
  • Enable authentication for remote access
  • Keep Windows updated
  • Monitor firewall logs

Network Security

  • Use VPN for internet streaming
  • Change default ports if exposing to internet
  • Regular certificate updates
  • Monitor access attempts

For advanced configuration options, see Architecture Overview and API Reference.