delivering the power of console gaming, anywhere, anytime.
Note
This project is under active development and not yet open for testing. Features and functionality are still being finalized.
RAYWAN is an advanced, open-source cloud gaming platform engineered to deliver ultra-low-latency, high-quality gaming experiences across a wide range of devices. It’s designed with a clear separation between host and client technologies to optimize each side for the best performance, quality, and compatibility.
Built from the ground up for flexibility and scalability, RAYWAN is ideal for developers, enthusiasts, and innovators who want a cloud gaming solution that is open to modification and can be self-hosted. By leveraging cutting-edge tools and libraries, RAYWAN provides the infrastructure to stream games in real-time with minimal latency, making it suitable for both personal use and large-scale deployments.
- Ultra-Low Latency: Aiming for sub-50ms latency.
- High-Resolution Streaming: Streaming up to 4K resolution at 60 FPS.
- Cross-Device Compatible: Designed to stream games across multiple devices, enabling flexible client-side configurations without requiring high-end hardware.
- Hardware Decoding/Encoding: Supports hardware-accelerated decoding/encoding with popular codecs like H.264, HEVC, and AV1.
- Multi-Gamepad Support: Allows up to 4 gamepads to be connected simultaneously.
- Self-Hosting Capabilities: Deployable on both personal servers and cloud infrastructure, providing flexibility for individual or large-scale usage.
RAYWAN operates on a host-client architecture, designed for real-time, low-latency communication between a gaming server (host) and the client application. The platform utilizes P2P (peer-to-peer) communication, allowing for direct, fast video/audio streaming from the server to the client without intermediary servers.
Here’s a step-by-step breakdown of the data flow and processes in RAYWAN:
-
Game Rendering: The game is rendered on the host server using high-performance computing resources, typically leveraging GPU acceleration to ensure smooth, high-frame-rate rendering.
-
Video Capture and Encoding: Once the game is rendered, frames are captured and then encoded using GPU hardware acceleration. RAYWAN supports various codecs such as H.264, HEVC, and AV1, ensuring high-quality, efficient encoding. The use of hardware encoding reduces latency and CPU load, optimizing performance.
-
RTSP Streaming: The encoded video and audio streams are packaged into an RTSP (Real-Time Streaming Protocol) stream. RTSP allows efficient real-time transmission of multimedia content, which is ideal for high-performance gaming.
-
Input Handling: On the server side, the Input Receiver module listens for user input from the client (keyboard, mouse, controller actions). This input is then relayed to the Replay User Input module, where actions are immediately processed in the game environment, ensuring real-time responsiveness.
-
RTSP Reception and Decoding: The client application receives the RTSP stream containing video and audio data. Using GPU hardware acceleration, the client decodes the stream in real-time, enabling smooth, high-definition playback on a range of devices without requiring high-end hardware.
-
Game Display: The decoded video frames are displayed to the user, creating a high-fidelity gaming experience with minimal latency, effectively mirroring the game running on the server.
-
User Input Capture and Transmission: The client captures user input (keyboard, mouse, or controller actions) and sends this data back to the server through the Input Sender module. This data is transmitted over the network using P2P communication, bypassing unnecessary network hops and minimizing delay.
-
P2P Communication: By implementing peer-to-peer networking, RAYWAN reduces latency associated with traditional server-based networking. The direct P2P connection between the server and client allows for efficient, low-latency data transmission of both video/audio streams and input commands.
-
Bi-Directional Data Flow: The network layer supports bi-directional communication: the video and audio data flows from the server to the client, while input data flows from the client to the server. This two-way communication is optimized for gaming, with video/audio streams and user input tightly synchronized.
RAYWAN General architecture
Both server and client rely on GPU hardware acceleration for encoding and decoding video, significantly improving performance. GPU acceleration reduces CPU usage, minimizes latency, and enables RAYWAN to handle high-resolution, high-frame-rate video streams without sacrificing quality.
Demo: Chivarly 2 | Demo: Forza Horizon 5 |
---|---|
Demo: Assassin's creed odyssey | Demo: Kingdom Classics |