[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74046":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},74046,"Apollo","ClassicOldSong\u002FApollo","ClassicOldSong","Sunshine fork - The easiest way to stream with the native resolution of your client device","",null,"C++",9783,327,40,293,0,74,140,420,222,113.55,"GNU General Public License v3.0",false,"master",true,[27,28,29,30],"gaming","remote-control","remote-desktop","streaming","2026-06-12 04:01:12","# Apollo\n\nApollo is a self-hosted desktop stream host for [Artemis(Moonlight Noir)](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002Fmoonlight-android). 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.\n\nMajor features:\n\n- [x] Built-in Virtual Display with HDR support that matches the resolution\u002Fframerate config of your client automatically\n- [x] Permission management for clients\n- [x] Clipboard sync\n- [x] Commands for client connection\u002Fdisconnection (checkout [Auto pause\u002Fresume games](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Fwiki\u002FAuto-pause-resume-games))\n- [x] Input only mode\n\n## Usage\n\nRefer to LizardByte's documentation hosted on [Read the Docs](https:\u002F\u002Fdocs.lizardbyte.dev\u002Fprojects\u002Fsunshine) for now.\n\nCurrently Virtual Display support is Windows only, Linux support is planned and will be implemented in the future.\n\n## About Permission System\n\nCheck out the [Wiki](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Fwiki\u002FPermission-System)\n\n> [!NOTE]\n> 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.\n\n## About Virtual Display\n\n> [!WARNING]\n> ***It is highly recommend to remove any other virtual display solutions from your system and Apollo\u002FSunshine config, to reduce confusions and compatibility issues.***\n\n> [!NOTE]\n> **TL;DR** Just treat your Artemis\u002FMoonlight client like a dedicated PnP monitor with Apollo.\n\nApollo uses SudoVDA for virtual display. It features auto resolution and framerate matching for your Artemis\u002FMoonlight 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.**\n\nThe 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\u002FMoonlight client, so your display configuration will be automatically remembered and managed by Windows natively.**\n\n## Configuration for dual GPU laptops\n\nApollo supports dual GPUs seamlessly.\n\nIf you want to use your dGPU, just set the `Adapter Name` to your dGPU and enable `Headless mode` in `Audio\u002FVideo` tab, save and restart your computer. No dummy plug is needed any more, the image will be rendered and encoded directly from your dGPU.\n\n## About HDR\n\nHDR 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\u002FWindows 10 will not have HDR option available.\n\n> [!NOTE]\n> 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.\n>\n> Apollo and SudoVDA can handle HDR just fine like any other streaming solutions.\n>\n> If you have had good experience with HDR previously, you can safely ignore this section.\n>\n> If you're curious, read on, but don't blame Apollo for poor HDR support.\n\nWhether HDR streaming looks good, it depends completely on your client.\n\nIn 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.\n\nIt's very complicated to explain why HDR is a total mess, and why enabling HDR makes the image appear dark\u002Fyellow. 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](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Fissues\u002F164).\n\nFor client devices, usually Apple products that have HDR capability can be trusted to have good results, other than that, your luck depends.\n\n\u003Cdetails>\n\u003Csummary>DEPRECATION ALERT\u003C\u002Fsummary>\n\nEnabling 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.\n\nSDR 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.\n\n\u003C\u002Fdetails>\n\n## How to run multiple instances of Apollo for multiple virtual displays\n\nFollow the instructions in the [Wiki](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Fwiki\u002FHow-to-start-multiple-instances-of-Apollo).\n\n## FAQ\nMoved to [WiKi](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Fwiki\u002FFAQ)\n\n## Stuttering Clinic\nHere're some common causes and solutions for stutters: [WiKi](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Fwiki\u002FStuttering-Clinic).\n\n## Device specific setups\n- Pixel devices might not be able to use native resolution:\n  - Change the device resolution to Max: https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Fissues\u002F700\n\n## System Requirements\n\n> **Warning**: This table is a work in progress. Do not purchase hardware based on this.\n\n**Minimum Requirements**\n\n| **Component** | **Description** |\n|---------------|-----------------|\n| GPU           | AMD: VCE 1.0 or higher, see: [obs-amd hardware support](https:\u002F\u002Fgithub.com\u002Fobsproject\u002Fobs-amd-encoder\u002Fwiki\u002FHardware-Support) |\n|               | Intel: VAAPI-compatible, see: [VAAPI hardware support](https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fdeveloper\u002Farticles\u002Ftechnical\u002Flinuxmedia-vaapi.html) |\n|               | Nvidia: NVENC enabled cards, see: [nvenc support matrix](https:\u002F\u002Fdeveloper.nvidia.com\u002Fvideo-encode-and-decode-gpu-support-matrix-new) |\n| CPU           | AMD: Ryzen 3 or higher |\n|               | Intel: Core i3 or higher |\n| RAM           | 4GB or more |\n| OS            | Windows: 10+ (Windows Server requires [manual installation](https:\u002F\u002Fgithub.com\u002Fnefarius\u002FViGEmBus\u002Fissues\u002F153) for gamepad support) |\n|               | macOS: 12+ |\n|               | Linux\u002FDebian: 11 (bullseye) |\n|               | Linux\u002FFedora: 39+ |\n|               | Linux\u002FUbuntu: 22.04+ (jammy) |\n| Network       | Host: 5GHz, 802.11ac |\n|               | Client: 5GHz, 802.11ac |\n\n**4k Suggestions**\n\n| **Component** | **Description** |\n|---------------|-----------------|\n| GPU           | AMD: Video Coding Engine 3.1 or higher |\n|               | Intel: HD Graphics 510 or higher |\n|               | Nvidia: GeForce GTX 1080 or higher |\n| CPU           | AMD: Ryzen 5 or higher |\n|               | Intel: Core i5 or higher |\n| Network       | Host: CAT5e ethernet or better |\n|               | Client: CAT5e ethernet or better |\n\n**HDR Suggestions**\n\n| **Component** | **Description** |\n|---------------|-----------------|\n| GPU           | AMD: Video Coding Engine 3.4 or higher |\n|               | Intel: UHD Graphics 730 or higher |\n|               | Nvidia: Pascal-based GPU (GTX 10-series) or higher |\n| CPU           | AMD: todo |\n|               | Intel: todo |\n| Network       | Host: CAT5e ethernet or better |\n|               | Client: CAT5e ethernet or better |\n\n## Integrations\n\nSudoVDA: Virtual Display Adapter Driver used in Apollo\n\n[Artemis](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002Fmoonlight-android): Integrated Virtual Display options control from client side\n\n**NOTE**: Artemis currently supports Android only. Other platforms will come later.\n\n## Support\n\nCurrently support is only provided via GitHub Issues\u002FDiscussions.\n\nNo real time chat support will ever be provided for Apollo and Artemis. Including but not limited to:\n\n- Discord\n- Telegram\n- Whatsapp\n- QQ\n- WeChat \n\n> When there's a chat, there're dramas. -- Confucius\n\n## Downloads\n\n### Direct Download\n\n**Recommended**\n\n[Releases](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo\u002Freleases)\n\n### WinGet\n\n**Note:** Community maintained\n\nIn an elevated PowerShell window, run\n\n```pwsh\nwinget install ClassicOldSong.Apollo\n\n```\n\nYou'll need WinGet installed first.\n\n### Chocolatey\n\n**Note:** Community maintained\n\nYou can also install the apollo streaming server with chocolatey.\n\nInstall Chocolatey if you don't have it, then run the following command in an elevated PowerShell\u002FCMD window:\n\n```pwsh\nchoco upgrade apollo -y \n```\n\nSame command can be used to upgrade, add to a scheduled task to automate updates.\n\nSee more details on the chocolatey package [here](https:\u002F\u002Fcommunity.chocolatey.org\u002Fpackages\u002Fapollo)\n\n## Disclaimer\n\nI got kicked from Moonlight and Sunshine's Discord server and banned from Sunshine's GitHub repo literally for helping people out.\n\nThis 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.\n\nYes, I'm going away. [Apollo](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002FApollo) and [Artemis(Moonlight Noir)](https:\u002F\u002Fgithub.com\u002FClassicOldSong\u002Fmoonlight-android) will no longer be compatible with OG Sunshine and OG Moonlight eventually, but they'll work even better with much more carefully designed features.\n\nThe 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.\n\n**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.**\n\n**Update**: They have contacted me and apologized for this incident, but the fact it **happened** still motivated me to start my own fork.\n\n## License\n\nGPLv3\n","Apollo 是一个自托管的桌面流媒体主机，专为Artemis（Moonlight Noir）设计，支持以客户端设备的原生分辨率进行流媒体传输。其核心功能包括内置支持HDR的虚拟显示器，该显示器能够自动匹配客户端的分辨率和帧率配置；权限管理系统，允许对不同客户端设置访问权限；剪贴板同步以及针对客户端连接\u002F断开连接的命令等。Apollo 支持AMD、Intel和Nvidia GPU硬件编码，也提供软件编码选项，并配备了一个网页界面方便用户通过浏览器配置和配对客户端。该项目特别适合需要远程控制或游戏串流的场景，尤其是那些追求低延迟、高画质体验的用户。目前仅支持Windows平台上的虚拟显示功能，但计划未来增加Linux支持。",2,"2026-06-11 03:48:33","high_star"]