Overview
Historically, this was the first attempt that we’ve made at running games in Docker. Wolf has now completely replaced the simple bash script present in this repo. |
Games on Whales (GOW) lets you stream games (and other graphical applications) running in Docker containers with hardware acceleration and low latency.
The goal is to allow a server to stream games to clients the same way you play a video on YouTube. A server is not necessarily a gigantic beast of a machine; in fact, GoW will probably run on hardware you already have, such as a laptop or desktop computer, or even something smaller and compact like a Raspberry Pi (in theory).
Generally, you should be able to pick any OS that supports Docker and start using GoW, but testing and development are focused on Linux-based systems. |
How does it work?
We bring together a few different components:
- Platform
-
Most of the software in the Games on Whales system runs in Docker containers. Containers are software packages that are designed to make installation and configuration easy by providing a consistent platform everywhere the package is run.
You can choose to run GoW in either Host Desktop mode, or Headless mode. In Headless mode, we run a few platform containers for you:
-
Xorg: The famous windowing system for managing and displaying graphical applications (GUI)
-
PulseAudio: A sound server that can manage audio coming from multiple sources (apps).
In Host Desktop mode, we expect the host server to provide those pieces.
-
- Streaming Server
-
GoW streams running apps to clients using NVIDIA’s GameStream protocol. We provide a choice of two open-source server implementations.
Although NVIDIA has announced that they are ending support for GameStream in early 2023, these open-source implementations (and thus GoW itself) do not rely on any NVIDIA support or infrastructure and will continue to work even after that date. - Client
-
Moonlight is an open-source GameStream protocol client. Moonlight runs on many platforms, including: mobile phones, laptops, desktops, Steam Deck, and even the Nintendo Switch!
Moonlight is not distributed with GoW. You’ll need to install it on each device you plan to use as a client for playing games. - Applications
-
The GoW system aims to be compatible with as many GUI app containers as possible. Here’s a selection of the ones we provide, though adding more is a very straightforward process.
Head over to the components overview if you are interested in how these pieces of software are tied together by GOW