Why Dish & Satellite?
A short story about lineage, broadcasting, and the projects we owe our vocabulary to.
Sunshine and Moonlight got there first.
In self-hosted game streaming, two open-source projects set the standard:
- Sunshine runs on your gaming PC and broadcasts the video and audio of your screen as a low-latency stream. A tiny private GeForce Now in your own house.
- Moonlight runs on your TV, your phone, your Steam Deck. It tunes in to that broadcast, decodes it, and plays your PC games wherever you happen to be sitting.
The names fit. Sunshine is the source, always on. Moonlight is the reflection: what you see, somewhere far from the source. Two words explain the whole setup.
Where do controllers fit?
Sunshine and Moonlight have always supported gamepad input. The controller plugged into Moonlight gets forwarded back over the stream. That model assumes the controller and the screen live on the same device. Stream to your TV with Moonlight running on a Shield TV, and the Shield's gamepad is the controller. Plug in your phone, and the phone's controls become the controls.
We wanted to decouple the controller from the screen: stream the video to a TV, or skip video entirely, and let any device on your Wi-Fi be the gamepad, or several gamepads for couch co-op. Pair the old phone in your drawer to your gaming PC and you have a wireless Xbox pad in your hand five minutes later.
The broadcasting metaphor
Once the problem was clear, the names followed. If Sunshine is the source of the video broadcast, the controller needed a broadcast of its own. Something that signals, relays, transmits.
A satellite. The thing in the sky that broadcasts.
And what catches a broadcast from a satellite?
A dish. The thing in your hand (well, in your yard) that receives.
Wait, isn't that backwards?
It is, and that's the point. In satellite TV the dish receives. Here your phone is the source of the signal: you're the one transmitting, and your gaming PC is the listener, the satellite parked in the geostationary orbit of your desk, catching whatever reaches it.
Dish, the device in your hand, is the dish. It's the small, focused, tightly aimed transmitter pointing at the satellite. Every button press is a packet on a beam.
Satellite, the receiver on your PC, is the satellite. It relays whatever Dish sends to your games.
Naming our family
So when you see this list of repos, you can read it in a single breath:
- Dish for Android: a transmitter that fits in your pocket
- Dish for Windows: the same transmitter for a PC that already has a gamepad plugged in
- Dish for Linux: the same transmitter for a Linux desktop or a Steam Deck
- Dish for macOS: one for the Mac
- Satellite (Windows and Linux): the receiver that lives on the PC you play on
One satellite, many dishes, all pointing at the same sky.
Thanks
Thanks to the Sunshine and Moonlight teams. For the technical groundwork that made all of this possible, for the brand language we shamelessly borrowed, and for proving that a tiny open-source project can hold its own against billion-dollar cloud-gaming platforms.
We hope Dish and Satellite earn their place in the same sky.