github ClassicOldSong/Apollo apollo-0.0.0-preview

pre-release2 months ago

Warning

This is not a production release!!!

How to use:

  • Download the installer and install. (Recommended)

Note

Command-line driver installer provided by https://github.com/nefarius/nefcon

Features:

  1. Improved tray menu
    image
  2. Fixed garbled characters in notifications when app name is not in English
    image
  3. Built-in Virtual Display support provided by SudoVDA
    image
  4. Supports streaming with virtual display when no physical display is connected to the computer(headless mode)
  5. Per-app virtual display configuration
    image
  6. More flexible Audio Output options
    image
  7. Remember last streamed display, stream will no longer switch to primary display after reconnect
  8. Artemis integration: Request virtual display / change resolution scale factor directly from client side
  9. Each Artemis client will be remembered in Windows a one dedicated monitor identity, easing out the display order/resolution hazzard caused by reused monitor identnties.

Known issues:

  1. Odd numbered resolutions might not work
  2. Might not be able to capture dGPU (Windows limitation, see workaround below)
  3. Green line and black bar on the side of image: Encoder issue, mostly AMD ones with AV1 codec with a rare resolution

Workaround for dual GPU laptops

(especially APU+AGPU ones)

If you're experiencing capture failure when using virtual displays, you might be a vitim of a Windows limitation (actually all operation system have this limit more or less due to render buffers are not shared between graphic cards). OG Sunshine haven't get this issue solved, not even workaround, OBS solved by using a more performance expensive workaround.

With SudoVDA you can actually set the render adapter for virtual screens fairly easily: just set the Adapter Name setion to the name of your iGPU in the Apollo config web page, the virtual display will automatically use the same GPU for virtual screens. Then you can play your favorite games still with dGPU, but display on the virtual display connected to the iGPU, just like what Primus or Bumblebee does. You can capture the virtual monitor on your iGPU just fine. Sometimes this is even a more optimized way for performance hungry games, since encoding is now done on the iGPU instead of dGPU, with the cost of a slightly increased delay.

Another solution is to disable iGPU in the device manager, and enable Headless Mode in Audio/Video config tab or start apps using virtual display. Then you can stream directly from the dGPU without the need for a dummy plug or monitor.

Enable Headless Mode, leave Adapter Name and Output Name blank, save and restart your compurter, and you're mostly done.

If you want to ensure dGPU is used, press Win + X and type regedit, hit enter. Add the name of your dGPU to a new string key named gpuName located at HKEY_LOCAL_MACHINE\SOFTWARE\SudoMaker\SudoVDA. Just create one manually if the path doesn't exist. You can obtain the name from dxgi-info.exe or from Device Manager. After you added the key, exit Apollo, then go to Device Manager, disable the SudoMaker Virtual Display Adapter and then enable again, then start Apollo again, or simply reboot your computer(recommended).

When dGPU is not present, for example you're using a GPU dock for dGPU but it's not connected, the virtual display will use iGPU automatically. The only thing you need to do is exit and restart Apollo (not just click restart in the menu) or simply reboot your computer.

If you don't want to use iGPU for streaming at all, just set Adapter Name to your dGPU and that's done.

Don't miss a new Apollo release

NewReleases is sending notifications on new releases.