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:
-
Full backup (IMPORTANT):
- Export configuration from Sunshine Web UI
- Backup:
C:\ProgramData\Sunshine
-
Fresh installation:
# Use PowerShell command for clean installation irm https://sunshine-aio.com/script.ps1 | iex
-
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:
-
Document current setup:
- Screenshot Sunshine Web UI settings
- List installed games/applications
- Note custom configurations
-
Clean installation:
# Use PowerShell for fresh installation irm https://sunshine-aio.com/script.ps1 | iex
-
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:
-
Backup existing configuration:
robocopy "C:\ProgramData\Sunshine" "C:\Backup\Sunshine-Standalone" /E
-
Stop Sunshine service:
net stop SunshineService
-
Install Sunshine-AIO:
irm https://sunshine-aio.com/script.ps1 | iex # Script will detect existing Sunshine installation automatically
-
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:
-
Document GameStream settings:
- Screenshot resolution/bitrate settings
- List configured games
-
Disable GameStream:
- NVIDIA Control Panel → GameStream → Disable
-
Install Sunshine-AIO:
irm https://sunshine-aio.com/script.ps1 | iex # Select all components for full installation
-
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:
-
Document Steam Remote Play settings:
- Resolution preferences
- Bitrate settings
- Controller configurations
- Game-specific optimizations
-
Install Sunshine-AIO with Steam integration:
irm https://sunshine-aio.com/script.ps1 | iex # Select Sunshine + all components for best Steam integration
-
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:
-
Check if backup exists:
dir "C:\ProgramData\Sunshine.backup"
-
Manual restore:
robocopy "C:\ProgramData\Sunshine.backup" "C:\ProgramData\Sunshine" /E
-
Re-import configuration:
- Sunshine Web UI → Configuration → Import
Service Installation Failure
Issue: SunshineService won't start after migration
Solutions:
-
Check service status:
sc query SunshineService
-
Reinstall using Sunshine-AIO:
- Use "Sunshine-AIO" shortcut
- Select "Reinstall Sunshine component"
-
Check Windows Event Viewer:
eventvwr.msc
Virtual Display Not Working
Issue: VDD not detected after migration
Solutions:
-
Check Device Manager:
- Look for "IDD HDR" under Display adapters
-
Reinstall VDD:
- Use "Sunshine-AIO" shortcut
- Select "Reinstall Virtual Display Driver"
-
Manual VDD installation:
- Navigate to VDD Control in tools folder
- Run as Administrator
Applications Missing
Issue: Configured applications don't appear
Solutions:
-
Check apps.json:
type "C:\ProgramData\Sunshine\apps.json"
-
Restart Sunshine service:
net stop SunshineService net start SunshineService
-
Reconfigure applications in Sunshine Web UI
Recovery Procedures
Complete Migration Failure
Recovery Steps:
-
Stop all services:
net stop SunshineService
-
Clean installation:
irm https://sunshine-aio.com/script.ps1 | iex # Fresh installation will replace problematic components
-
Restore from backup:
- Import Sunshine configuration from backup
- Reconfigure applications manually
Partial Installation State
Issue: Some components installed, others failed
Recovery:
- Use Sunshine-AIO shortcut
- Check installation status in the tool menu
- 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:
-
Stop new installation:
net stop SunshineService
-
Restore backup:
robocopy "C:\Backup\Sunshine" "C:\ProgramData\Sunshine" /E /PURGE
-
Fresh installation:
irm https://sunshine-aio.com/script.ps1 | iex
-
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.