Apollo

ClassicOldSongGPL-3.0更新放缓

Sunshine 的分支版本,主打用客户端设备的原生分辨率串流游戏和桌面,省去手动调分辨率的麻烦。

Sunshine fork - The easiest way to stream with the native resolution of your client device

v0.4.6发布于 2025-07-13 20:12 UTC11,495star +18 / 7 天552fork同步于 2026-11-10 11:28 UTC

怎么上手

由 README 提炼,执行前请确认
winget install ClassicOldSong.Apollo
硬件要求按 README 说明

需 4GB 以上内存;GPU 方面 AMD 需 VCE 1.0 及以上、Intel 需支持 VAAPI、Nvidia 需支持 NVENC 的显卡,4K 建议 GTX 1080 或同级以上;系统支持 Windows 10+、macOS 12+、Ubuntu 22.04+ 等;README 未给出具体显存数值。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Sunshine 分支版桌面串流服务端,自动匹配客户端原生分辨率并内置虚拟显示器

Sunshine 的分支版本,主打用客户端设备的原生分辨率串流游戏和桌面,省去手动调分辨率的麻烦。

核心能力

  • 内置支持 HDR 的虚拟显示器,随串流自动创建和移除
  • 为每个客户端分配固定显示身份,Windows 原生记住显示配置
  • 支持 AMD、Intel、Nvidia 硬件编码,也可用软件编码
  • 提供 Web UI 完成配置与客户端配对,手机浏览器也能操作
  • 客户端权限分级管理,可单独授予启动应用和鼠标键盘输入

容易踩的坑

虚拟显示器目前仅支持 Windows,Linux 尚在计划中;首个配对的客户端才拥有完整权限,后续客户端需手动授予启动应用和输入权限;HDR 需 Windows 11 23H2 起,且建议先移除系统中其他虚拟显示器方案以免冲突。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.4.6
  1. v0.4.7-alpha.1pre-release2025-08-12 · 2025-08-12 09:22 UTC
    查看更新说明

    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.

  2. v0.4.6最新正式版2025-07-13 · 2025-07-13 20:12 UTC

    [!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: https://github.com/LizardByte/Sunshine/pull/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

    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.

    [!NOTE] VirusTotal scan report for this build

    Why Windows always report file as harmful?

    New Contributors

    Full Changelog: https://github.com/ClassicOldSong/Apollo/compare/v0.3.7...v0.4.6

  3. v0.3.7-hotfix.1v0.3.72025-06-05 · 2025-06-05 13:53 UTC
    查看更新说明

    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.

    [!NOTE] VirusTotal scan report for this build

    Why Windows always report file as harmful?

  4. v0.3.6-hotfix.12025-05-28 · 2025-05-28 15:17 UTC
    查看更新说明

    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.

    [!NOTE] VirusTotal scan report for this build

    Why Windows always report file as harmful?

  5. v0.3.5-alpha.5pre-release2025-05-06 · 2025-05-06 20:57 UTC
    查看更新说明

    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.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Apollo

    Apollo is a self-hosted desktop stream host for Artemis(Moonlight Noir). Offering low latency, native client resolution, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware encoding. Software encoding is also available. A web UI is provided to allow configuration and client pairing from your favorite web browser. Pair from the local server or any mobile device.

    Major features:

    • Built-in Virtual Display with HDR support that matches the resolution/framerate config of your client automatically
    • Permission management for clients
    • Clipboard sync
    • Commands for client connection/disconnection (checkout Auto pause/resume games)
    • Input only mode

    Usage

    Refer to LizardByte's documentation hosted on Read the Docs for now.

    Currently Virtual Display support is Windows only, Linux support is planned and will be implemented in the future.

    About Permission System

    Check out the Wiki

    [!NOTE] The FIRST client paired with Apollo will be granted with FULL permissions, then other newly paired clients will only be granted with View Streams and List Apps permission. If you encounter Permission Denied error when trying to launch any app, go check the permission for that device and grant Launch Apps permission. The same applies to the situation when you find that you can't move mouse or type with keyboard on newly paired clients, grant the corresponding client Mouse Input and Keyboard Input permissions.

    About Virtual Display

    [!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.

    [!NOTE] TL;DR Just treat your Artemis/Moonlight client like a dedicated PnP monitor with Apollo.

    Apollo uses SudoVDA for virtual display. It features auto resolution and framerate matching for your Artemis/Moonlight clients. The virtual display is created upon the stream starts and removed once the app quits. If you do not see a new virtual display added or removed when the stream starts or stops, there may be a driver misconfiguration, or another persistent virtual display might still be active.

    The virtual display works just like any physically attached monitors with SudoVDA, there's completely no need for a super complicated solution to "fix" resolution configurations for your devices. Unlike all other solutions that reuses one identity or generate a random one each time for any virtual display sessions, Apollo assigns a fixed identity for each Artemis/Moonlight client, so your display configuration will be automatically remembered and managed by Windows natively.

    Configuration for dual GPU laptops

    Apollo supports dual GPUs seamlessly.

    If you want to use your dGPU, just set the Adapter Name to your dGPU and enable Headless mode in Audio/Video tab, save and restart your computer. No dummy plug is needed any more, the image will be rendered and encoded directly from your dGPU.

    About HDR

    HDR starts supporting from Windows 11 23H2 and generally supported on 24H2. Some systems might not have HDR toggle on 23H2 and you just need to upgrade to 24H2. Any system lower than 23H2/Windows 10 will not have HDR option available.

    [!NOTE] The below section is written for professional media workers. It doesn't stop you from enabling HDR if you know what you're doing and have deep understanding about how HDR works.

    Apollo and SudoVDA can handle HDR just fine like any other streaming solutions.

    If you have had good experience with HDR previously, you can safely ignore this section.

    If you're curious, read on, but don't blame Apollo for poor HDR support.

    Whether HDR streaming looks good, it depends completely on your client.

    In short, ICC color correction should be totally useless while streaming HDR. It's your client's job to get HDR content displayed right, not the host. But in fact, it does affect the captured video stream and reflect changes on devices that can handle HDR correctly. On other devices that can't, the info is not respected at all.

    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 awful, 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.

    For client devices, usually Apple products that have HDR capability can be trusted to have good results, other than that, your luck depends.

    Enabling HDR is generally not recommended with ANY streaming solutions at this moment, probably in the long term. The issue with HDR itself is huge, with loads of semi-incompatible standards, and massive variance between device configurations and capabilities. Game support for HDR is still choppy.

    SDR actually provides much more stable color accuracy, and are widely supported throughout most devices you can imagine. For games, art style can easily overcome the shortcoming with no HDR, and SDR has pretty standard workflows to ensure their visual performance. So HDR isn't that important in most of the cases.

    How to run multiple instances of Apollo for multiple virtual displays

    Follow the instructions in the Wiki.

    FAQ

    Moved to WiKi

    Stuttering Clinic

    Here're some common causes and solutions for stutters: WiKi.

    Device specific setups

    System Requirements

    Warning: This table is a work in progress. Do not purchase hardware based on this.

    Minimum Requirements

    ComponentDescription
    GPUAMD: VCE 1.0 or higher, see: obs-amd hardware support
    Intel: VAAPI-compatible, see: VAAPI hardware support
    Nvidia: NVENC enabled cards, see: nvenc support matrix
    CPUAMD: Ryzen 3 or higher
    Intel: Core i3 or higher
    RAM4GB or more
    OSWindows: 10+ (Windows Server requires manual installation for gamepad support)
    macOS: 12+
    Linux/Debian: 11 (bullseye)
    Linux/Fedora: 39+
    Linux/Ubuntu: 22.04+ (jammy)
    NetworkHost: 5GHz, 802.11ac
    Client: 5GHz, 802.11ac

    4k Suggestions

    ComponentDescription
    GPUAMD: Video Coding Engine 3.1 or higher
    Intel: HD Graphics 510 or higher
    Nvidia: GeForce GTX 1080 or higher
    CPUAMD: Ryzen 5 or higher
    Intel: Core i5 or higher
    NetworkHost: CAT5e ethernet or better
    Client: CAT5e ethernet or better

    HDR Suggestions

    ComponentDescription
    GPUAMD: Video Coding Engine 3.4 or higher
    Intel: UHD Graphics 730 or higher
    Nvidia: Pascal-based GPU (GTX 10-series) or higher
    CPUAMD: todo
    Intel: todo
    NetworkHost: CAT5e ethernet or better
    Client: CAT5e ethernet or better

    Integrations

    SudoVDA: Virtual Display Adapter Driver used in Apollo

    Artemis: Integrated Virtual Display options control from client side

    NOTE: Artemis currently supports Android only. Other platforms will come later.

    Support

    Currently support is only provided via GitHub Issues/Discussions.

    No real time chat support will ever be provided for Apollo and Artemis. Including but not limited to:

    • Discord
    • Telegram
    • Whatsapp
    • QQ
    • WeChat

    When there's a chat, there're dramas. -- Confucius

    Downloads

    Direct Download

    Recommended

    Releases

    WinGet

    Note: Community maintained

    In an elevated PowerShell window, run

    winget install ClassicOldSong.Apollo
    
    

    You'll need WinGet installed first.

    Chocolatey

    Note: Community maintained

    You can also install the apollo streaming server with chocolatey.

    Install Chocolatey if you don't have it, then run the following command in an elevated PowerShell/CMD window:

    choco upgrade apollo -y 
    

    Same command can be used to upgrade, add to a scheduled task to automate updates.

    See more details on the chocolatey package here

    Disclaimer

    I got kicked from Moonlight and Sunshine's Discord server and banned from Sunshine's GitHub repo literally for helping people out.

    This is what I got for finding a bug, opened an issue, getting no response, troubleshoot myself, fixed the issue myself, shared it by PR to the main repo hoping my efforts can help someone else during the maintenance gap.

    Yes, I'm going away. Apollo and Artemis(Moonlight Noir) will no longer be compatible with OG Sunshine and OG Moonlight eventually, but they'll work even better with much more carefully designed features.

    The Moonlight repo had stayed silent for 5 months, with nobody actually responding to issues, and people are getting totally no help besides the limited FAQ in their Discord server. I tried to answer issues and questions, solve problems within my ability but I got kicked out just for helping others.

    PRs for feature improvements are welcomed here unlike the main repo, your ideas are more likely to be appreciated and your efforts are actually being respected. We welcome people who can and willing to share their efforts, helping yourselves and other people in need.

    Update: They have contacted me and apologized for this incident, but the fact it happened still motivated me to start my own fork.

    License

    GPLv3