Use your phone as a controller for Sunshine, Apollo, or Wolf
Moonlight assumes the controller is attached to the device that shows the stream. That’s fine when you hold a pad paired to a Shield. It’s awkward when the screen is a TV box that won’t take your controller, when you want your phone as the gamepad, or when a friend’s phone should be player 2.
Dish can join a Sunshine, Apollo, or Wolf host on its own, as a controller only. Nothing new goes on the host: Dish speaks the same protocol Moonlight does.
How it works
Dish pairs with the host the way any Moonlight client does. It shows a 4-digit PIN, and you type that PIN into the host, on the PIN page of Sunshine’s or Apollo’s web UI. The PIN itself never crosses the network: both sides derive a key from it and prove they hold it. From then on every request is mutual TLS, and Dish pins the host’s certificate, so a different machine at the same address is refused.
To open a controller session, Dish launches or rejoins an app on the host. The protocol needs a video stream to hold a session open, so Dish asks for the smallest one the host allows and throws it away without decoding it. Your input travels over the protocol’s encrypted control channel.
What reaches the game
- Buttons, sticks, and analog triggers
- Gyro and motion, when the game asks the host for it
- The DualSense or DualShock 4 touchpad, from the pad itself or from your phone’s screen
- Rumble, including the trigger motors on Xbox One and Series pads held on Android
- The lightbar color the game picks
- Battery level
Up to four controllers can share one host session, each its own player. The host builds the virtual pad from the type Dish declares, so pick Xbox or PlayStation per controller.
What doesn’t come through this way: HD haptics, adaptive triggers, the player lights, and the controller microphone and speaker. Those need Satellite. The Moonlight protocol has no microphone channel, and Dish doesn’t take trigger effects over it yet.
Setting it up
- Install Dish on the device holding your controller: Android, Windows, or Linux.
- Find the host. Dish lists Sunshine, Apollo, and Wolf hosts it finds on your network next to any Satellites. If yours doesn’t show up, add it by address.
- Pair. Pick the host, and type the PIN Dish shows into the host’s PIN page.
- Pick what the host runs. The first controller on a host chooses the app; later controllers join that session.
- Bind your controller and choose its type.
Dish remembers the host and the binding. Restart the app, or the phone, and your controller goes back on the host.
When the host is busy
Sunshine and Apollo run one app at a time. If the host is already running a session for this device, Dish joins it. If it’s running an app for a different device and won’t hand that session over, Dish tells you instead of taking it, and you can close the app on the host or try again later.
If the app you picked disappears from the host’s list, Dish names the missing app and lets you pick another, rather than quietly starting whatever is first.
Satellite or direct?
Both work next to Sunshine, Apollo, and Wolf. Pick by what you need:
| Directly to the host | Through Satellite | |
|---|---|---|
| On the gaming PC | Nothing new | Satellite, a small tray app |
| Speed | Fast, over the host’s control channel | Fastest, over Dish’s own UDP protocol |
| DualSense extras | Lightbar and touchpad | Also HD haptics, adaptive triggers, mic, and speaker, on Windows |
| Needs a stream | Yes, a minimal one Dish discards | No, works with or without streaming |
If you only need buttons, sticks, and rumble on a host you already run, pairing directly is the quickest start. If you want everything a DualSense can do, or you play without streaming at all, install Satellite.
Related reading
- Sunshine + Moonlight + Dish: the cloud-gaming-at-home trio
- DualSense adaptive triggers on PC over Wi-Fi or Bluetooth
- How Dish works
Dish is free and open source, and it owes its names to Sunshine and Moonlight. If it made your setup better, tips keep it going.
Gostou do que está lendo?
Dish e Satellite são gratuitos e de código aberto. As gorjetas garantem que continuem assim.