Apollo is a self-hosted desktop streaming server that enables low-latency remote access with native client resolution support.
Apollo solves the problem of streaming desktop content to remote clients while maintaining the exact resolution and refresh rate of the connecting device. It works by creating a virtual display that automatically matches each client's configuration, eliminating the need for manual resolution switching or dummy plugs. The server supports hardware encoding via AMD, Intel, and Nvidia GPUs, with software encoding as a fallback. A web-based interface handles configuration and client pairing, accessible from the local server or mobile devices.
The tool suits users building self-hosted cloud gaming or remote desktop setups who want automatic resolution matching without complex configuration. Virtual display functionality is currently Windows-only, though Linux support is planned. The permission system grants the first paired client full access while subsequent clients receive restricted permissions by default, which can be adjusted per device. Clipboard synchronization, input-only mode, and automated commands for game pause and resume on client connection changes are available.
Development activity shows consistent engagement with the codebase through regular commits addressing specific functionality. The project maintains active documentation and wiki pages covering permission management and virtual display configuration. Issues and pull requests receive responses indicating ongoing maintenance. The maintainers have established clear architectural decisions, such as assigning fixed identities to virtual displays per client rather than generating random ones, demonstrating thoughtful design choices documented in the repository.