Skip to content

Releases: ClassicOldSong/Apollo

v0.4.7-alpha.1

12 Aug 09:22
5af771d
Compare
Choose a tag to compare
v0.4.7-alpha.1 Pre-release
Pre-release

GPU priority hack

This is a pre-release, it might cause unexpected issues.

This release does not change anything to the configurations, so you can safely downgrade to the stable release if you find it problematic.

Please report any findings you have with this version to the corresponding discussion:

  1. Does it solve or decrease the frequency of HAGS freezing?
  2. Does it affect game performance?
  3. Does it improve stuttering issues?
  4. Have you noticed any other things get affected?

Please report with your system configurations including CPU/GPU model, memory type and speed, operating system and version, and GPU driver version.

v0.4.6

13 Jul 20:12
0cd32ab
Compare
Choose a tag to compare

Warning

I noticed that some other forks of Sunshine merges on-going PRs from upstream (and without credits to the PR author). Although those features are appealing, but they're unfinished and has loads of potential risks. Please do not use those forks before they address all the security issues for your own safety concerns.

Feature in question: LizardByte/Sunshine#4078
Problem: Communication is not encrpyted, audio stream not client-separated

Note

If you experience stutters after upgrade to v0.4.x, try revert to v0.3.7-hotfix-1 for now and also report your system configuration to this issue.
If you just have upgraded your GPU driver, it's recommended to reboot your computer before staring a new stream.

Change log

v0.4.6

  • Fix Spanish locale
  • Fix double-refresh-rate not being used with custom refresh rates
  • Add auto value for minimal fps target to reduce framerate overshoot in certain setups

v0.4.5

  • Merge upstream
  • Bring back sudo-frame-pacing (I made up the name just now lol)

v0.4.3

  • Revert build-deps to last known working version

v0.4.2

  • Revert libdisplaydevice to last known working version

v0.4.1

  • Various fixes and workarounds for new problems discovered after merging upstream

v0.4.0

  • Track upstream
  • Resolve 60 fps lock issue for WGC capture by setting the MinUpdateInterval property of the WGC capture session. by @danielmartina in #785
  • Update es.json by @Linx-ESP in #853
  • Feature: Added option to disable rumble on controllers from the Apollo side by @thesystemcoder168 in #886
  • SudoVDA update: changed code signature to last 5 years long

NOTE: Please update to this version before August 19th. The original signature for SudoVDA expires after this day.

Bonus

Apollo Profile Manager

You can use it to automatically save/restore a selection of files for each app, and they're separated for each client. You can use it to swap game settings, mod sets or even save files based on the client, so you don't need to edit game resolution/keymap/modsets every time you change to a different client.

🌟Best practices

Checkout WiKi

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.

Remember to quit Apollo before upgrading.

New Contributors

Full Changelog: v0.3.7...v0.4.6

v0.3.7

05 Jun 13:53
6c7f07d
Compare
Choose a tag to compare

Change log

v0.3.7-hotfix.1

  • Fix Input Only mode launch failed when no apps are running
  • Auto terminate Input Only mode when all clients are disconnected

v0.3.7

  • Add Pause/Resume commands, Pause commands are executed when all clients are disconnected(not terminated) and Resume commands are executed when any client connects in when previously no clients are connected.
  • Add Terminate on Pause option to apps: when all clients are disconnected, the session terminates automatically.
  • Add Always create Virtual Display option for clients.
  • Supports export .art files in WebUI,
  • Supports launch directly from client in WebUI, when its opened from the client. Requires latest Artemis.

Warning

BREAKING: SUNSHINE_CLIENT_FPS is now float for better fractional refresh rate support. Use Special-K and ApolloProfileManager for automatic, client independent fps limit with Apollo.

Bonus

Apollo Profile Manager

You can use it to automatically save/restore a selection of files for each app, and they're separated for each client. You can use it to swap game settings, mod sets or even save files based on the client, so you don't need to edit game resolution/keymap/modsets every time you change to a different client.

🌟Best practices

Checkout WiKi

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.

Remember to quit Apollo before upgrading.

v0.3.6-hotfix.1

28 May 15:17
1ca1985
Compare
Choose a tag to compare

Change log

v0.3.6-hotfix.1

  1. Set correct defaults for Legacy Ordering and Allow client commands when pairing a new client
  2. Fix encoder probing when no physical monitor is connected

v0.3.6

  1. Added APOLLO_ prefixed env vars
  2. Automatically use virtual display if no active display is detected
  3. Ensure virtual display is removed when the stream is terminated
  4. Creates a temporary virtual display to probe encoders when no active display is present
  5. Support launching apps using UUID
  6. Use DXGI methods to get HDR state, fixes some cases HDR is enabled unconditionally
  7. Support reordering apps(requires Artemis v12.1.250514 or above, or enable "App ordering for legacy clients" in Advanced tab)
  8. Added option to always have the virtual display be an isolated display - Windows only by @thesystemcoder168
  9. Security fixes, strongly recommend to upgrade

Warning

BREAKING: SUNSHINE_CLIENT_FPS is now float for better fractional refresh rate support. Use Special-K and ApolloProfileManager for automatic, client independent fps limit with Apollo.

Bonus

Apollo Profile Manager

You can use it to automatically save/restore a selection of files for each app, and they're separated for each client. You can use it to swap game settings, mod sets or even save files based on the client, so you don't need to edit game resolution/keymap/modsets every time you change to a different client.

🌟Best practices

Checkout WiKi

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.

Remember to quit Apollo before upgrading.

v0.3.5-alpha.5

06 May 20:57
6571c11
Compare
Choose a tag to compare
v0.3.5-alpha.5 Pre-release
Pre-release

Change Log:

v0.3.5-alpha.1

  1. Added APOLLO_ prefixed env vars
  2. BREAKING: SUNSHINE_CLIENT_FPS is now float for better fractional refresh rate support. Use Special-K for automatic fps limit with Apollo.

v0.3.5-alpha.2

  1. More envvar tweaks
  2. Automatically use virtual display if no active display is detected
  3. Ensure virtual display is removed when the stream is terminated
  4. Create a temporary virtual display to probe encoders when no active display is present
  5. Support launching apps using UUID
  6. Use DXGI methods to get HDR state, fixes some cases HDR is enabled unconditionally
  7. Support reordering apps(requires Artemis v12.1.250514 or above)

v0.3.5-alpha.3

  1. Fix #724

v0.3.5-alpha.4

  1. Added per-app controller override option
  2. Added option to always have the virtual display be an isolated display - Windows only by @thesystemcoder168

v0.3.5-alpha.5

  1. Fixed WebUI

Bonus

Apollo Profile Manager

You can use it to automatically save/restore a selection of files for each app, and they're separated for each client. You can use it to swap game settings, mod sets or even save files based on the client, so you don't need to edit game resolution/keymap/modsets every time you change to a different client.

v0.3.4

14 Apr 17:42
e5a3333
Compare
Choose a tag to compare

Change log

  1. Adds an option to disable auto discovery (mDNS)
  2. Fixed bitrate calculation for Warp Mode and client side configured fractional refresh rate
  3. Fixed bitrate limiter for every encoder
  4. SudoVDA update: removed some built-in super high resolutions for VR headsets
  5. Track upstream
    • (Linux) Fixed virtual desktop capturing for Wayland

NOTE: Warp modes now uses the correct bitrate set from client. Lower your bitrate for Warp modes if your device or network can't handle the actual bitrate.

🌟Best practices

  1. If your client support high refresh rate, always use high refresh rate. Combined with Artemis's Warp modes, this is basically a poorman's GSync/FreeSync.
  2. If you encounter weird stuttering problems, checkout Stuttering Clinic first.

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.

Remember to quit Apollo before upgrading.

v0.3.3

01 Apr 15:22
9cc0bc9
Compare
Choose a tag to compare

Change log

  1. Better frame pacing for capture refresh rate limiter (for unaligned frames)
  2. Fix the problem that stream can get freezes when using Input Only mode
  3. Fix usage with libdisplaydevice(may break Windows 10)
  4. Supports fractional refresh rate from client (needs Artemis v12.1.250410 or above)
  5. Improved translation for PT-BR. Thanks @bestknighter !
  6. Improved translation for SV. Thanks @roos-robert !
  7. Improved text encoding handling for logs
  8. Fix a rare case that config migration from older versions/Sunshine can fail
  9. Adds a template image for customizing game/app cover. Thanks @ryanbbernstein !

🌟Best practices

  1. If your client support high refresh rate, always use high refresh rate. Combined with Artemis's Warp modes, this is basically a poorman's GSync/FreeSync.
  2. If some of your clients have periodic stuttering happening, check if there display refresh rate isn't actually the value you expect by going to https://www.testufo.com/refreshrate . Then you can set Display Mode Override for the client in PIN page.

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.

Remember to quit Apollo before upgrading.

v0.3.1 Stable

25 Feb 17:14
11a4f58
Compare
Choose a tag to compare

Change log

  1. Display mode override: Wiki
  2. Remote Input: App name will remain the same when remote input is enabled and a session is on going. This can make MoonDeck to resume properly.
  3. Config file will try to migrate again if it failed to load somehow. It's better not to downgrade to pre-0.3.0 versions if you have upgraded.
  4. SudoVDA upgrade:
  • better handling for fractional refresh rates
  • removed built-in 59.94 option (use override instead)
  • HDR minimal black level is now 0

🌟Best practices

  1. If your client support high refresh rate, always use high refresh rate. Combined with Artemis's Warp modes, this is basically a poorman's GSync/FreeSync.
  2. If some of your clients have periodic stuttering happening, check if there display refresh rate isn't actually the value you expect by going to https://www.testufo.com/refreshrate . Then you can set Display Mode Override for the client in PIN page.

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.

v0.3.0 Stable

14 Feb 22:34
014ad18
Compare
Choose a tag to compare

Change log

  1. Update dependencies
  2. Configuration API upgrade - if you're using HTTP APIs, now the JSON formats are more valid, please update your scripts to support the new API.
  3. Current running app is now visible in Application page (#328)
  4. Track upstream
  5. Hang workaround
  6. Add Remote Input mode (disabled by defalt, enable Input Only mode in Input tab)
  7. Add Double Refresh Rate mode, could improve stutter issue on some systems (disabled by default, enable in Audio/Video tab)
  8. Add option in Advanced tab for limiting captured frame rate (on by default)
  9. Add command support for client connect/disconnect.
  10. Trim app name input to prevent accidental space character remained when configuring MoonDeckStream
  11. Add per-app*per-client identity option
  12. Disable Advanced Display Device Config by default
  13. Log fail reason for pairing
  14. Update SudoVDA install script - fix certutil not found in PATH for some users
  15. SudoVDA upgrade (see here for configurations):
    • Decimal refresh rate support
    • SDR10bit support
    • HDR12bit support
    • Wide Color Gamut support
    • Add scaled requested resolution for upscaling tools (0.5x, 0.75x, 1x, 1.25x, 1.5x)
    • Adjusted built-in resolutions, added preset resolutions for popular VR headsets

🆕Remote Input

Can run parallel with any other apps, without transmitting video and audio packets. You can use your phone as your computer's trackpad/keyboard/controller receiver, or have a handy trackpad/keyboard when you're streaming to you TV/Box/Sticks which is hard to use mouse on, or even connect controllers that are unsupported by your TV/Box/Sticks.

Remote Input mode is still compatible with ordinary Moonlight clients.

🆕Client commands

You can now configure connect and disconnect commands for individual clients. Here's an instruction for setting up auto game suspend, giving you a more console-grade experience when streaming: Just hit power button on your mobile device and your game will be suspended automatically, you can resume at any time: [detail]

🆕Scaled resolutions

Now besides the requested resolution and framerate, another 9 sets of modes are added for conveinence:

  • 0.5x resolution
  • 0.5x resolution with doubled refresh rate
  • 0.75x resolution
  • 0.75x resolution with doubled refresh rate
  • 1x resolution with doubled refresh rate
  • 1.25x resolution
  • 1.25x resolution with doubled refresh rate
  • 1.5x resolution
  • 1.5x resolution with doubled refresh rate

So now your game can pickup lower resolutions but still keep the same aspect ratio of your streamed device. You can then use Lossless Scaling to upscale your game while keeping the aspect ratio of your client more easily.

🆕Best practices

  1. If your client support high refresh rate, always use high refresh rate. Combined with Artemis's Warp modes, this is basically a poorman's GSync/FreeSync.
  2. If you're not able to use Artemis on your client, you can enable Double Refresh Rate option in Audio/Video tab. This will also help to a certain degree.
  3. Limit game framerate with RTSS can give more stable frame time than using in-game vsync/frame limit options.

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.

v0.2.9-alpha.8

24 Jan 14:14
50e9b2f
Compare
Choose a tag to compare

Change log

v0.2.9-alpha.8

  1. Fix avcodec

If you have problems initializing a stream with previous versions with QuickSync, please update.

WARNING: To other developers: DO NOT CHANGE THE MEMORY LAYOUT OF video::config_t and audio::config_t, they may be modified by some other pre-built binaries and they RELY ON THE LAYOUT. This took me a whole day to figure out since there's totally no warning laying around for this.

v0.2.9-alpha.7

  1. Fix config API

If you have installed alpha.6, please update. If you have met any other issues in saving/changing configs, please make sure to report!

v0.2.9-alpha.6

  1. Update dependencies
  2. Current running app is now visible in Application page (#328)
  3. Track upstream
  4. Merge Sunshine's hang workaround

Note: This version has some pretty significant changes in configurations API. You may need to update your scripts if they're using HTTP APIs for config automation.

v0.2.9-alpha.5

  1. Bug fixes for Input Only Mode
  2. Renamed Input Only entry to Remote Input
  3. Added a dedicated "Terminate" entry when using Remote Input
  4. Bug fix for double refresh rate mode when requested resolution is built-in

v0.2.9-alpha.4

  1. Add Input Only mode (disabled by defalt, enable in Input tab)
  2. Add Double Refresh Rate mode, could improve stutter issue on some systems (disabled by default, enable in Audio/Video tab)

v0.2.9-alpha.3

  1. Fix extra comma in default apps (Windows)

v0.2.9-alpah.2

  1. Add option in Advanced tab for limiting captured frame rate (on by default)
  2. Restart immediately when detected a hang (workaround for stream freezes, at least it's better than hanging forever)

v0.2.9-alpha.1

  1. Add command support for client connect/disconnect. Useful when you want to suspend your computer/game on disconnect. [detail]
  2. Trim app name input to prevent accidental space character remained when configuring MoonDeckStream
  3. Add per-app*per-client identity option
  4. Disable Advanced Display Device Config by default
  5. Log fail reason for pairing
  6. SudoVDA upgrade - might improve stutter problem on some systems

If you encounter display being toggled on and off constantly while using the latest versions, first quit Apollo (you can access the web UI from another device, by enter https://your.host.ip.address:[webuiPort] to your browser, then in Troubleshooting page tap Quit Apollo), then go to Apollo's install dir, under config dir remove display_device.state.

Warning

It is highly recommend to remove any other virtual display solutions from your system and Apollo/Sunshine config, to reduce confusions and compatibility issues.