Skip to content

Releases: ClassicOldSong/Apollo

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.

v0.2.8-alpha.5

15 Jan 17:05
a63b089
Compare
Choose a tag to compare

Warning

If you're using multiple instances to stream multiple different displays simutinuously, disable Advanced display device options!

The upstream implementation for display topology handling and resolution automation doesn't support multi instance well. They may end up messing up everything unexpectedly.

If you only need one Apollo instance, it's still safe to upgrade.

Don't forget to remove display_device.state from Apollo's config dir if it exists.

Change log

  • v0.2.8-alpha.1
  1. Primary display can now set automatically
  2. Preserve previous log when Apollo restarts
  3. Adapt display config handling to libdisplaydevice
  4. Track upstream
  • v0.2.8-alpha.2
  1. Revert back to original HDR workaround
  2. Update libcurl, fixes #235
  • v0.2.8-alpha.3
  1. Hash cookies for Web UI
  2. Track upstream
    • Inverse polarity for Global Prep Commands for apps (bug from some unnecessary upstream changes)
    • Display config reverting logic refine (not really necessary for Apollo actually, but the new display config handling mechanism caused some display flickering on and off issues on some systems, this change might have fixed the problem)
    • Security patch (but it's already patched in Apollo in another way when I discovered the other security vulnberity long ago)
  • v0.2.8-alpha.4 & v0.2.8-alpha.5
  1. Fix bug where output_name did not take effect
  2. Fix all deactivated display are enabled when quitting virtual display

The inclusion of libdisplaydevice further complicated the display config problem, I hope this version gets all problems with virtual display introduced by libdisplaydevice solved...

Nope, there're more hidden problems...

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.

v0.2.7

01 Jan 21:53
7d0456e
Compare
Choose a tag to compare

Happy New Year! 🎆

Change log

  1. Fix password is always saved issue (#130)
  2. First connection now should respect user settings for encoder capablity announcements (#123)
  3. SudoVDA update: peak brightness is now 1671 nits (#164)
  4. Track upstream

It's very complicated to explain why HDR is a total mess, and why enabling HDR makes the image appear dark/yellow. If it's your first time got HDR streaming working, and thinks HDR looks awuful, you're right, but that's not Apollo's fault, it's your device that tone mapped SDR content to the maximum of the capability of its screen, there's no headroom for anything beyond that actual peak brightness for HDR. For details, please take a look here.

NOTE: Windows 11 24H2 broke the method for programatically setting primary display, even MultiMonitorTool fails to do so. You can still set the virtual display to default manually and Windows will remember your configuration.

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.

Warning

Quit ALL running Apollo instances before upgrading!

v0.2.6-alpha.3

01 Dec 21:14
9ac9c18
Compare
Choose a tag to compare

Change log

  1. Fix error/success couldn't be shown on login page
  2. Show alert for checking permissions after pairing
  3. Track upstream

PS: Originally I wanted to fix a weird lagging issue I discovered previously with this build, but it turns out to be the AV1 encoder of nVidia behaving strange. It works fine in most cases so it's not a really big deal, but I still suggest use HEVC if you have a good network connection. If you insist of using AV1, try disable Two-pass mode and enable Spatial AQ in NVENC config tab, that would make the problem less noticable. AMD cards doesn't have this kind of issue.

NOTE: Windows 11 24H2 broke the method for programatically setting primary display, even MultiMonitorTool fails to do so. You can still set the virtual display to default manually and Windows will remember your configuration.

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.

Warning

Quit ALL running Apollo instances before upgrading!

v0.2.6-alpha.2

30 Oct 15:56
d91b86b
Compare
Choose a tag to compare

Change log

  1. Fix Working Directory not working in some more cases
  2. Fix Find Cover Online
  3. Track upstream, removed session count and quit app limit (only clients with Launch Apps permission can terminate a stream)

NOTE: Windows 11 24H2 broke the method for programatically setting primary display, even MultiMonitorTool fails to do so. You can still set the virtual display to default manually and Windows will remember your configuration.

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.

Warning

Quit ALL running Apollo instances before upgrading!

v0.2.5-alpha.1

26 Oct 18:56
551999b
Compare
Choose a tag to compare

Change log

  1. Add Intra Refresh for NVENC
  2. Fix Working Directory not working in some cases

NOTE: Windows 11 24H2 insider preview broke the method for programatically setting primary display, even MultiMonitorTool fails to do so. You can still set the virtual display to default manually and Windows will remember your configuration.

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.

Warning

Quit ALL running Apollo instances before upgrading!

v0.2.4-alpha.2

12 Oct 09:33
0e50970
Compare
Choose a tag to compare

Change log

  1. Fix codepage conversion for clipboard upload (resolves #69)

NOTE: Windows 11 24H2 insider preview broke the method for programatically setting primary display, even MultiMonitorTool fails to do so. You can still set the virtual display to default manually and Windows will remember your configuration.

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.

Warning

Quit ALL running Apollo instances before upgrading!

v0.2.4-alpha.1

27 Sep 21:45
1ae7157
Compare
Choose a tag to compare

Change log

  1. Add Clipboard sync (text only)
  2. Add permissions for clipboard sync

NOTE: Windows 11 24H2 insider preview broke the method for programatically setting primary display, even MultiMonitorTool fails to do so. You can still set the virtual display to default manually and Windows will remember your configuration.

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.

Warning

Quit ALL running Apollo instances before upgrading!