Sunshine-AIO

Sunshine-AIO

An all-in-one step-by-step guide to setup Sunshine with additional tools.

Stars: 54

Visit
 screenshot

Sunshine-AIO is an all-in-one step-by-step guide to set up Sunshine with all necessary tools for Windows users. It provides a dedicated display for game streaming, virtual monitor switching, automatic resolution adjustment, resource-saving features, game launcher integration, and stream management. The project aims to evolve into an AIO tool as it progresses, welcoming contributions from users.

README:

Sunshine-AIO

Sunshine-AIO

Visitors Stars Issues

An all-in-one step-by-step guide to setup Sunshine with all needed tools (Windows only at the moment).
(It's initially just a guide, but as it progresses, it will become more like an AIO tool.)
Contributions to this project are welcomed and highly appreciated.

What is the purpose of installing all of these tools?

There are several reasons:

  • A dedicated display for your game stream will be created by the Virtual Display Driver.

  • Sunshine Virtual Monitor allows you to switch between your current desktop (or any number of displays you have) and the Virtual Display.

  • It will also automatically adjust the resolution, quality, HDR option, and frame rate of the Virtual Display based on client settings (Moonlight settings).

  • To save resources for your gaming experience, it will deactivate your current displays and return to your first setup once the stream is finished.

  • Playnite will allow you to gather all your games from any platform (otherwise downloaded games included) in one launcher for your convenience.

  • Playnite Watcher will simply allow you to stop the stream when you close your game. (Sunshine does not support it natively)

  • It will also allow you to automatically import all your games into Sunshine with a click.

Table of Contents

Sunshine Installation

  • Download Sunshine and install it on your computer.

    For Windows System, download the file sunshine-windows-installer.exe.

To stream remotely, make sure to open these ports in your router settings and redirect them to your PC.

  • TCP:

    • 47984
    • 47989
    • 47990
    • 48010
  • UDP:

    • 47998
    • 47999
    • 48000
  1. Download Virtual Display Driver (Windows 11 22H2+).

  2. Follow Installation steps then come back here when done.

  3. Disable the new display freshly created from Device Manager or open a privileged terminal and run the command pnputil /disable-device /deviceid root\iddsampledriver.

If you plan to use Moonlight from a Phone, make sure to add the correct resolution of all your clients into the C:\IddSampleDriver\option.txt file if they don't exist already.

  • Download Sunshine Virtual Monitor

    • Extract the sunshine-virtual-monitor-main.zip file to a secure location (if the folder is deleted, the tool will not work anymore) and open it.

In the next steps, you can either choose to follow these quick steps or follow the original steps from sunshine-virtual-monitor

  1. Download MultiMonitorTool for Windows 64-bits (Recommended) or MultiMonitorTool for Windows 32-bits (Old computers)

    • Extract the multimonitortool*.zip file to multimonitortool-x64 folder and copy this folder to the sunshine-virtual-monitor-main folder.
  2. Open a Privileged Powershell by entering your Windows key then type powershell and enter Ctrl + Shift + Enter.

    • Install the module WindowsDisplayManager by typing the command :

       Install-Module -Name WindowsDisplayManager
    • To enable the script execution you need to set your Execution Policy from Default to RemoteSigned:

       Set-ExecutionPolicy RemoteSigned

      Source: PowerShell execution policies

  3. Download vsync-toggle and copy the file to the sunshine-virtual-monitor-main folder.

Follow the steps in Sunshine Setup.

(Tip) Copy paste these commands on a PowerShell to get the config.do_cmd and config.undo_cmd commands written for you:

$folderName = "sunshine-virtual-monitor-main"
$folderPath = Get-ChildItem -Path "C:\" -Directory -Filter $folderName -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1
$setupPath = $folderPath.FullName + "\setup_sunvdm.ps1"
$teardownPath = $folderPath.FullName + "\teardown_sunvdm.ps1"
$sunvdmLogPath = $folderPath.FullName + "\sunvdm.log"
Write-Host "$(Clear-Host)config.do_cmd:`n`ncmd /C powershell.exe -File $setupPath %SUNSHINE_CLIENT_WIDTH% %SUNSHINE_CLIENT_HEIGHT% %SUNSHINE_CLIENT_FPS% %SUNSHINE_CLIENT_HDR% > $sunvdmLogPath 2>&1`n`n`n`nconfig.undo_cmd:`n`ncmd /C powershell.exe -File $teardownPath >> $sunvdmLogPath 2>&1`n`n`n`n"
 

If you relocated the sunshine-virtual-monitor-main to a different disk, change the letter of the $folderPath in line 2 to match the new one. For example "D:\"

Playnite Installation

Download Playnite, install it and add all of your games.

Download Playnite Watcher and extract it to a secure location.

Make sure to follow these steps: PlayNite Watcher Script Guide

Enjoy

Configure your Moonlight client to connect to Sunshine and enjoy optimized streaming :)

Contributing

Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewFeature)
  3. Commit your Changes (git commit -m 'Add some NewFeature')
  4. Push to the Branch (git push origin feature/NewFeature)
  5. Open a Pull Request

Thanks to every contributors who have contributed in this project.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

Shoutout to LizardByte for the Sunshine repo: https://github.com/LizardByte/Sunshine

Shoutout to itsmikethetech for the Virtual Display Driver repo: https://github.com/itsmikethetech/Virtual-Display-Driver

Thanks to Cynary for the Sunshine Virtual Monitor scripts: https://github.com/Cynary/sunshine-virtual-monitor

Shoutout to JosefNemec for Playnite: https://github.com/JosefNemec/Playnite

Shoutout to Nonary for the PlayNiteWatcher script: https://github.com/Nonary/PlayNiteWatcher

Star History

Star History Chart


Author/Maintainer: Garoh | Discord: garohrl

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for Sunshine-AIO

Similar Open Source Tools

For similar tasks

For similar jobs