Migration Guide - LeGeRyChEeSe/Sunshine-AIO GitHub Wiki

Migration Guide

Complete guide for upgrading between Sunshine-AIO versions and migrating from other streaming solutions.

🔄 Version Upgrade Paths

Current Version: 0.3.2

From 0.3.1 to 0.3.2 (Recommended Upgrade)

What's New:

  • Enhanced installation tracking system
  • Enhanced CLI interface
  • Improved VDD support
  • Better error handling and logging

Migration Steps:

Method 1 (Easiest): Use the "Sunshine-AIO" shortcut in your installation folder and select update option.

Method 2 (PowerShell):

# From inside your Sunshine-AIO folder (recommended)
cd "path\to\your\Sunshine-AIO"
irm https://sunshine-aio.com/script.ps1 | iex
# Script will automatically detect and update the existing installation

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

Automatic Migration Features:

  • Configuration preserved - Sunshine settings maintained
  • Installation tracking - Existing components detected
  • Service continuity - No service interruption
  • Application configs - Game applications preserved

Verification Steps:

# Check service status
Get-Service -Name "SunshineService"

# Verify virtual display (if applicable)
Get-PnpDevice -Class "Display" | Where-Object {$_.FriendlyName -like "*Virtual*"}

# Test streaming with Moonlight client

From 0.3.0 to 0.3.2 (Major Update)

Breaking Changes:

  • Installation tracker format updated
  • Enhanced dependency management
  • Some configuration paths changed

Migration Process:

  1. Full backup (IMPORTANT):

    • Export configuration from Sunshine Web UI
    • Backup: C:\ProgramData\Sunshine
  2. Fresh installation:

    # Use PowerShell command for clean installation
    irm https://sunshine-aio.com/script.ps1 | iex
    
  3. Restore configuration:

    • Import configuration in Sunshine Web UI
    • Reconfigure applications as needed

From 0.2.x to 0.3.2 (Major Architecture Change)

Critical Changes:

  • Complete uninstaller system added
  • Component tracking completely rewritten
  • Service management improved
  • New dependency requirements

Required Migration:

  1. Document current setup:

    • Screenshot Sunshine Web UI settings
    • List installed games/applications
    • Note custom configurations
  2. Clean installation:

    # Use PowerShell for fresh installation
    irm https://sunshine-aio.com/script.ps1 | iex
    
  3. Reconfigure manually using documented settings

Legacy Version Upgrades

From 0.1.x to Current (Complete Rebuild)

Architecture Changes:

  • Single-file installer → Modular component system
  • Basic installation → Advanced tracking
  • Manual setup → Automated configuration
  • No VDD support → Full virtual display integration

Migration Strategy:

  • Complete replacement required
  • Backup Sunshine configuration manually
  • Use PowerShell installation for current version
  • Reconfigure from backup documentation

🔧 Component-Specific Migration

Sunshine Configuration Migration

Configuration Locations:

Current location: C:\ProgramData\Sunshine\

Files to preserve:
- config.json (main configuration)
- apps.json (application list)  
- sunshine.cert & sunshine.key (certificates)
- credentials.json (user accounts)

Migration Notes:

  • Sunshine-AIO automatically detects existing Sunshine installations
  • Configuration is preserved during updates
  • Use Sunshine Web UI Export/Import for manual backups

Virtual Display Driver Migration

VDD Updates:

  • v0.2.x: Basic VDD Control integration
  • v0.3.x: Enhanced driver management
  • v0.3.2: Improved installation tracking

Migration Process:

# Check current VDD status
Get-PnpDevice -Class "Display" | Where-Object {$_.FriendlyName -like "*Virtual*"}

If VDD exists but not tracked, use the "Sunshine-AIO" shortcut and the tool will detect existing installations automatically.

Playnite Integration Migration

Playnite Versions:

  • v0.3.0+: Playnite + Playnite Watcher support
  • v0.3.2: Enhanced integration tracking

Migration Notes:

  • Playnite library location: C:\Users\[user]\AppData\Roaming\Playnite
  • Migration automatically preserves:
    • Game library data
    • Custom categories
    • Metadata and artwork
    • Controller configurations
  • Backup recommended: Copy %AppData%\Playnite\* before migration

🏠 Migrating from Other Streaming Solutions

From Native Sunshine Installation

Coming from standalone Sunshine:

Pre-Migration Assessment:

# Check current Sunshine installation
Get-Service -Name "SunshineService"
Get-ChildItem "C:\Program Files\Sunshine"

# Check configuration
Get-ChildItem "C:\ProgramData\Sunshine"

Migration Process:

  1. Backup existing configuration:

    robocopy "C:\ProgramData\Sunshine" "C:\Backup\Sunshine-Standalone" /E
    
  2. Stop Sunshine service:

    net stop SunshineService
    
  3. Install Sunshine-AIO:

    irm https://sunshine-aio.com/script.ps1 | iex
    # Script will detect existing Sunshine installation automatically
    
  4. Verify migration:

    • Test existing applications
    • Check service functionality

From NVIDIA GameStream (Legacy)

GameStream Differences:

  • NVIDIA proprietary → Open source Sunshine
  • Limited to NVIDIA GPUs → Any modern GPU
  • GeForce Experience required → Standalone operation

Migration Benefits:

  • Better performance with modern codecs
  • More flexibility in configuration
  • Active development and updates
  • Community support and features

Migration Steps:

  1. Document GameStream settings:

    • Screenshot resolution/bitrate settings
    • List configured games
  2. Disable GameStream:

    • NVIDIA Control Panel → GameStream → Disable
  3. Install Sunshine-AIO:

    irm https://sunshine-aio.com/script.ps1 | iex
    # Select all components for full installation
    
  4. Configure equivalent settings:

    • Use GameStream settings as reference
    • Configure games in Sunshine Web UI

From Parsec

Parsec vs Sunshine Comparison:

Feature              | Parsec      | Sunshine-AIO
--------------------|-------------|-------------
Open Source         | No          | Yes
Local Network Only  | No          | Configurable  
GPU Requirements    | Flexible    | Modern GPU recommended
Virtual Displays    | Limited     | Full VDD support
Gaming Focus        | General     | Gaming optimized

Migration Considerations: Parsec advantages:

  • Cloud streaming capability
  • Team/business features
  • Cross-platform hosting

Sunshine-AIO advantages:

  • No cloud dependency
  • Better gaming performance
  • Open source flexibility
  • Virtual display integration

Configuration Mapping:

// Parsec settings → Sunshine equivalent
{
  "resolution": "1920x1080",     // Direct mapping
  "fps": 60,                     // Direct mapping  
  "bitrate": "25000",            // Parsec kbps → Sunshine kbps
  "codec": "h264_nvenc",         // Hardware encoding
  "hdr": false                   // HDR support
}

From Steam Remote Play

When to Consider Migration:

  • Non-Steam games streaming needed
  • Better quality control desired
  • Virtual displays required
  • Local network only usage
  • Steam ecosystem integration sufficient

Migration Process:

  1. Document Steam Remote Play settings:

    • Resolution preferences
    • Bitrate settings
    • Controller configurations
    • Game-specific optimizations
  2. Install Sunshine-AIO with Steam integration:

    irm https://sunshine-aio.com/script.ps1 | iex
    # Select Sunshine + all components for best Steam integration
    
  3. Configure Steam in Sunshine:

    • Add Steam Big Picture as application
    • Configure controller support
    • Test game streaming

🛠️ Troubleshooting Migration Issues

Common Migration Problems

Configuration Not Preserved

Issue: Settings lost during upgrade

Solutions:

  1. Check if backup exists:

    dir "C:\ProgramData\Sunshine.backup"
    
  2. Manual restore:

    robocopy "C:\ProgramData\Sunshine.backup" "C:\ProgramData\Sunshine" /E
    
  3. Re-import configuration:

    • Sunshine Web UI → Configuration → Import

Service Installation Failure

Issue: SunshineService won't start after migration

Solutions:

  1. Check service status:

    sc query SunshineService
    
  2. Reinstall using Sunshine-AIO:

    • Use "Sunshine-AIO" shortcut
    • Select "Reinstall Sunshine component"
  3. Check Windows Event Viewer:

    eventvwr.msc
    

Virtual Display Not Working

Issue: VDD not detected after migration

Solutions:

  1. Check Device Manager:

    • Look for "IDD HDR" under Display adapters
  2. Reinstall VDD:

    • Use "Sunshine-AIO" shortcut
    • Select "Reinstall Virtual Display Driver"
  3. Manual VDD installation:

    • Navigate to VDD Control in tools folder
    • Run as Administrator

Applications Missing

Issue: Configured applications don't appear

Solutions:

  1. Check apps.json:

    type "C:\ProgramData\Sunshine\apps.json"
    
  2. Restart Sunshine service:

    net stop SunshineService
    net start SunshineService
    
  3. Reconfigure applications in Sunshine Web UI

Recovery Procedures

Complete Migration Failure

Recovery Steps:

  1. Stop all services:

    net stop SunshineService
    
  2. Clean installation:

    irm https://sunshine-aio.com/script.ps1 | iex
    # Fresh installation will replace problematic components
    
  3. Restore from backup:

    • Import Sunshine configuration from backup
    • Reconfigure applications manually

Partial Installation State

Issue: Some components installed, others failed

Recovery:

  1. Use Sunshine-AIO shortcut
  2. Check installation status in the tool menu
  3. Selective reinstallation of missing components only

📊 Migration Checklist

Pre-Migration Checklist

✅ Backup Sunshine configuration directory
✅ Export Sunshine applications list  
✅ Document custom settings and passwords
✅ Test current streaming functionality
✅ Check available disk space (2GB minimum)
✅ Verify administrator privileges
✅ Close Moonlight and streaming applications
✅ Stop background processes (Discord, etc.)

Post-Migration Verification

✅ Sunshine service running
✅ Web UI accessible (https://localhost:47990)
✅ Applications list populated
✅ Virtual display available (if applicable)
✅ Streaming test successful
✅ Controller functionality verified
✅ Performance comparable or better

Rollback Plan

If migration fails:

  1. Stop new installation:

    net stop SunshineService
    
  2. Restore backup:

    robocopy "C:\Backup\Sunshine" "C:\ProgramData\Sunshine" /E /PURGE
    
  3. Fresh installation:

    irm https://sunshine-aio.com/script.ps1 | iex
    
  4. Report issue with logs:

    • Create GitHub issue with migration details
    • Include error messages and system information

For specific migration issues, check the Troubleshooting Guide or create a GitHub issue with your migration details.