Last updated on

Sunshine + Moonlight + Dish: the perfect cloud-gaming-at-home trio


For my money, the most underrated piece of consumer software released in the last decade is the open-source pair Sunshine and Moonlight. Together they let you stream the games on your gaming PC to any screen in your house: your TV, your iPad, your Steam Deck, an old Android tablet you forgot you owned. Low latency, high quality, free.

There’s one piece of the experience they leave a little awkward: the controller.

This post is about using Dish as the third leg of the stool. Once you’ve got all three running, you have a home gaming setup that genuinely beats GeForce Now in the things that matter.

A quick recap

If you’re new to the stack:

  • Sunshine runs on your gaming PC and sends its picture and sound to other screens in your house.
  • Moonlight runs on your TV, phone, Steam Deck, whatever, and shows that picture. Now your PC games are on a different screen.
  • Both are free, open source, and supported on basically every platform.

If you haven’t tried Sunshine + Moonlight yet, do that first. There are excellent guides on both projects’ sites. Come back when “I’m streaming Cyberpunk to my TV” is working.

The controller problem

In a typical Sunshine + Moonlight setup, the controller plugs into whatever device is running Moonlight. Streaming to a Shield TV? The Shield’s gamepad is your controller. Streaming to a Steam Deck? The Deck’s built-in controls. Streaming to your phone? Hopefully you’ve got a Bluetooth pad handy.

That’s fine in a lot of cases. It falls apart when:

  1. You want to play on the TV with the controller in your lap, and the box running Moonlight doesn’t have a great gamepad story.
  2. You want couch co-op, and getting several controllers all working through one streaming box is fiddly.
  3. You want to use a phone or tablet you already own as the controller. Moonlight expects the picture and the controller to be on the same device.

Where Dish fits in

Dish solves the controller problem by splitting the controller off from the screen. You stream the picture to whatever screen you like with Moonlight. You handle the controller, separately, with Dish.

The picture looks like:

gaming PC ─── (video over Moonlight) ───► your TV / Steam Deck / iPad
gaming PC ◄── (controller over Dish) ──── your phone in your hand

The screen and the controller are completely independent. Either one can drop and come back without bothering the other.

Setup

I’ll assume you’ve got Sunshine and Moonlight working already.

1. Install Dish on your controller device

Get Dish for Android on your phone from Google Play or GitHub Releases. (Dish for Windows, macOS, and Linux, including Steam Deck, are in active development and will land in later releases.)

2. Install Satellite for Windows

Satellite is the PC side of Dish. Grab it from the releases page and run it. It drops a small dish icon into your system tray.

You can run Satellite on the same gaming PC that’s running Sunshine. They don’t fight.

3. Pair

Open Dish. It finds your gaming PC on its own. Tap it, type the 4-digit code Satellite shows, done. Dish remembers your PC from then on.

4. Tell Moonlight to ignore the local controller

Here’s the one tweak. In Moonlight’s settings, turn off controller forwarding (sometimes called “Use this device’s gamepads”). Otherwise Moonlight will also try to be the controller, and that conflicts with Dish.

5. Play

Open Moonlight, connect to Sunshine, launch the game. The video appears on your TV. Pick up your phone. Press a button on Dish. Your character moves.

Why this is better than GeForce Now

I’m a paid subscriber to a couple of cloud gaming services, and they’re good now in ways they weren’t five years ago. The home setup still has advantages they can’t match:

  • Your library is your library. No “supported titles” list. If it runs on your PC, you can play it.
  • No queueing. Your PC is always available to you.
  • Mods work. Cloud services sandbox the games. Here you’re playing whatever your PC is running, modded Skyrim and all.
  • Lower latency. A home stream feels snappy. Cloud services have the whole internet to cross.
  • Resolution and framerate. Sunshine will happily stream in 4K at high framerates if your PC and your screen can keep up.
  • Free. Forever. No subscription that quietly raises its price.

Couch co-op specifically

This is where Dish shines hardest.

Hand a few friends their phones, have each one pair to the same Satellite, and you’ve got a four-player couch co-op setup with zero hardware beyond what’s already in everyone’s pockets. Moonlight handles the video on the TV. Each player has their own controller. Cuphead, Streets of Rage 4, and Overcooked all just work.

Try setting that up with Bluetooth and four mismatched controllers. We’ll wait.

Common pitfalls

  • Use 5 GHz Wi-Fi for both Moonlight and Dish. 2.4 GHz works but you’ll feel it. 5 GHz is night and day. 6 GHz is even better.
  • Wire your gaming PC. Keep it on Ethernet and save the Wi-Fi airtime for the screens and controllers.
  • Turn off Moonlight’s controller forwarding. Otherwise Moonlight and Dish both try to be the controller and the game gets double inputs.
  • Watch aggressive battery savers. A few phones throttle background apps hard. If yours does, exempt Dish from battery optimization.

What’s next

If you’ve made it this far, you’ve got a home gaming setup that frankly nobody else in your friend group has. Tell them about it. Or don’t, and quietly enjoy your couch co-op.

Want to dig further?

If this stack made your gaming setup better, tips keep all three projects (well, our part of them) going.

Like what you're reading?

Dish and Satellite are free and open-source. Tips keep them that way.

Leave a tip Download Dish