More and more gamers want to stop being tied to the desk and transfer the habit to the sofa, to the bed or even to the TV in the living room using your mobile phone or an Android tablet. And when you start looking for how to do it, two names come up again and again: Steam Link and Moonlight (along with Sunshine, Apollo or Artemis). Both allow you to play your PC games from Android, but they do so with quite different philosophies.
The typical question is clear: what is better to play on Android, Steam Link or Moonlight? Some users say that Steam Link is enough, others say that Moonlight is another league in quality and latency, and in the middle there are those who just want something that works without fighting with IPv4, ports and VPNs. We are going to break down everything that these options offer, how they are configured, what problems you may encounter and in which cases one or the other is more worth it if you want to turn your PC into a kind of “cloud console inside the home”.
What is local game streaming and why is it so engaging?
When we talk about local game streaming we mean running the game on your PCbut see the image and send controls from another device through your home network. It’s like setting up your own GeForce Now or Xbox Cloud, but with your hardware and your games from Steam, Epic, GOG, etc.
The funny thing is that the device you play on does not need to be powerful– You just need to be able to decode video in real time and have a decent connection. So you can take advantage of a type graph RTX 2080 SUPER or similar while you play lying on the couch with an Xbox controller from an Android TV, or from your mobile phone without moving the tower from the desk.
The main advantages of local streaming are quite clear: You can play wherever you want at home, you avoid moving cables and monitors, and you can save on buying a console if you already have a good gaming PC. And if you also configure it well, the latency can be surprisingly lowenough for shooters, fighting games or fast titles without feeling like you’re “half a second behind.”
In practice, what you set up is a kind of local video game cloud: Your gaming PC acts as a streaming server and your other devices (Android mobile, tablet, Android TV, Steam Deck, Raspberry Pi, homebrew consoles, etc.) act as clients that receive the video and send your button presses or mouse movements.
This idea is not just limited to the living room.: If you polish the network part well, you can also take that “personal cloud” away from home and play with your PC catalog from a hotel, the town house or with your mobile using data, either with Steam Link remote systems or by opening ports/VPN for Sunshine + Moonlight.
Steam Link vs Moonlight + Sunshine: two paths to the same goal
Today there are two main approaches to bringing PC games to Android: pull steam linkwhich is the easy option integrated into Steam, or go for the combo Sunshine (server) + Moonlight (client)which is a favorite of those looking for less latency and more fine control over quality.
Steam Link is designed for those who live in the Steam ecosystem and you want something very plug and play: you install the app on Android, pair it with your PC, turn on Big Picture and play. You can even add non-Steam games to your library and stream them as if they were native, although there are some issues starting to appear there.
The Sunshine + Moonlight team goes the other way– is aimed at users who prioritize low latency, maximum flexibility and support for virtually any game or launcher, both inside and outside the home. Here you sacrifice some initial comfort in exchange for having a very customizable system.
In practical tests it has been seen that Steam Link usually has a little more delay than Moonlight in the same environment. We are talking about figures like ~120 ms versus ~80 ms from when you press a button until you see the result. It may seem like a small thing, but if you are very sticky with input lag, that difference is noticeable in shooters or fighting games.
There are also differences in how they treat FPS, non-Steam games, and advanced settings. Steam Link can limit the FPS of the host PC in certain scenarios, and it does not have the same granularity in parameters such as exact streaming resolution, bitrate or codec that Moonlight does offer, which lets you tinker with practically everything.
Steam Link: the simple option to get Steam on your Android mobile
Valve launched Steam Link for Android a long time ago with a very clear idea– Allow anyone to mirror PC games to their mobile, tablet or Android TV as long as everything is on the same network. The goal is that even those who have never touched local streaming can get it started without having to worry.
Installing Steam Link on Android is practically a walk in the park. You download the app from Google Play, open it and you are greeted by a very simple assistant. The first thing it does is guide you in the connecting a Bluetooth controller or Steam Controller; Without a gamepad you can, but the experience will be much worse.
Then the application searches for your PC with Steam running on the same network and shows you a list with the detected devices. You select yours, it does a quick network test and, if the connection is up to par, it shows you the main screen with three clear indicators: PC connected, controller detected and connection quality.
If the three icons appear with the typical green check, you are one button away from starting to play. Click on “Start playing” and Steam Link starts streaming; If something fails (remote control that doesn’t work, tight network, etc.), from the Configuration button you can adjust each section again without having to redo the entire process.
An important detail of Steam Link is that it not only streams the gamebut everything that is seen on the PC screen. It’s complete desktop mirroring: if someone on the PC minimizes the game or opens a browser, you’ll see the same thing on the Android screen, for better or worse.
How Steam Link behaves in real games: strengths and weaknesses
As soon as you manage to overcome the small wall of controls, Steam Link surprises you for the better. On a powerful Android mobile, the image quality can be almost identical to that of the PC monitor, and even give the sensation of looking better due to the type of panel and the scaling done by the phone itself.
Overall fluidity is usually pretty decent: The games run smoothly, without constant jerks or exaggerated frame drops. Some occasional micro-jerking may appear in very busy scenes, but it is not something that ruins the experience if you just want to spend some time on the couch with single player or indie titles.
The great enemy of Steam Link, as in all streaming, is the lag in the controls. Near the router, with a good Wi-Fi signal, things are hidden, but as soon as you go to another room it is easy to notice between half a second and a second of delay between when you press and the action is seen on the screen.
That delay makes some more demanding games hell: competitive shooters, platforms with millimeter jumps or titles where timing is key become frustrating if the input lag increases. On the other hand, in adventures, role-playing games, strategy or slower experiences, the delay is better tolerated.
Another delicate point in Steam Link is the management of controllers and control settings. There are users who, with 8BitDo pads or PlayStation controllers, encounter messages that “there is no valid configuration” for that controller in certain games. Many times the solution is to go to the game administration in Steam, open the controller options and load a profile created by the community, but if the screen stays loading indefinitely or Android does not recognize the controller well, things get complicated.
Typical problems on TVs, non-Steam games and virtual monitors with Steam Link
Where Steam Link especially falters is in the combination of TVs + non-Steam games. A much-discussed case is trying to play, for example, Hogwarts Legacy purchased from Epic: Steam Link stays in desktop mode, treats the controller as if it were a mouse and the experience ends up being basically unplayable.
On televisions or devices without a touch screen, the control issue becomes even more critical. With solutions like Apollo or Artemis (alternative clients based on Moonlight/Sunshine) the controller is not always activated correctly at startup: you have to wait for the image to appear, switch the controller to mouse mode, move a cursor to Big Picture, click, return to controller mode… and repeat the ritual on each reconnection.
Steam Link here shines because, in general, the controller works from the first second without having to do extra juggling. This greatly reinforces that feeling of “turning on and playing” that is so sought after when you want to use the living room TV as if it were a console.
Another important limit of Steam Link is that it does not create virtual monitors. If your mobile, tablet or Android TV has an unusual or different resolution than your PC monitor, it may be difficult for everything to fit perfectly. Some users get around this by creating a virtual monitor with Apollo/Artemis and then using Steam Link just for streaming.
Even with everything, Steam Link has a couple of tricks up its sleeve: remote support with mobile data (something that Moonlight/Sunshine does not give you “out of the box” without messing with the network) and a very fine-tuned controller detection on Android, with a functional microphone for games with voice or proximity chat.
Moonlight and Sunshine: the duo to squeeze out low latency
Moonlight is an open source streaming client which implements NVIDIA’s GameStream protocol, the same one used in the NVIDIA Shield. Nowadays it is combined mainly with Sunshine as a serverwhich is another open source project that runs on the host PC and no longer depends on you having a specific NVIDIA GPU.
The idea is simple but powerful: Your gaming PC runs Sunshine, which captures the desktop or game image, hardware encodes it using the GPU, and sends it over the network; on the other side, Moonlight is installed on your Android (mobile phone, tablet, Android TV, etc.) and is responsible for decoding the video and sending the controller and keyboard inputs back to the PC.
Moonlight stands out for its brutal platform compatibility. You can use it on Windows, macOS and Linux as a client, on Android smartphones and tablets, on Google TV and Android TV, on iPhone, iPad and Apple TV, on ChromeOS, on Raspberry Pi 4/5 and other boards, on Xbox consoles, on consoles with homebrew (Switch, Wii U, PS Vita) and even on old Steam Link physical devices.
This versatility allows practically any device with a screen can access your PC library and launch your games, either on a local network or from outside the home if you have remote access properly set up. The sensation is of having your gaming PC “included” in each device.
Sunshine, for its part, is installed on the host PC (Windows, macOS or Linux) and is managed through a local web interface at the address https://localhost:47990. It is typical for the browser to warn of a “not secure” certificate, but it is a mere formality: the server runs on your machine.
Install and prepare Sunshine on the gaming PC
To use Moonlight seriously, the first step is to install Sunshine properly on your PC.. You download the latest version from its website or GitHub, install it, and in Windows it is advisable to run it the first time as administrator. It is quite common for the system to show you the warning “Windows has protected your PC”; Here you have to click on “More information” and then on “Run anyway”.
Upon first booting, Sunshine opens its settings panel in the browserusing the mentioned local address. The browser usually displays a security notice for the certificate, but just indicate that you are aware and move forward; There is no real risk because all of that stays on your network.
In that first configuration you have to create a local user account for Sunshine with name and password. It is the one you will use to access the panel in the future, add applications, view paired devices, change video settings, ports and other performance parameters.
Once inside, you will see important sections such as “PIN” and “Settings”. From “PIN” you will manage the pairing with Moonlight clients, and in “Settings” you will fine-tune details such as the codec to use (H.264, HEVC…), the bitrate, the preferred resolution, the listening ports or the behavior with respect to virtual monitors.
With this your PC now acts as a streaming server ready to receive clients. From there comes the fun part: installing Moonlight on the Android device you want to play on and pairing it with Sunshine.
Installing and pairing Moonlight on Android and other devices
Moonlight can be downloaded from the official store on most platforms: Google Play on Android and Google/Android TV, App Store on iOS and Apple TV, repositories and executables for Windows, macOS, Linux or Raspberry Pi, etc. The installer is lightweight and the initial startup is quick.
The first time you open Moonlight, the client scans the local network for Sunshine servers. If everything goes well, you will see an icon with the name of your PC. If it does not appear, you can add it manually with its local IP (for example 192.168.1.137) from the “+” button.
When you select the server for the first time, Moonlight shows you a four-digit PIN. You have to go to the Sunshine web panel, enter the “PIN” section and enter that number. By accepting, the server authorizes that client and you can give it an identifying name such as “Mobile”, “Chromecast”, “Steam Deck” or whatever you want.
After pairing, when you return to Moonlight you will see a grid of applications that correspond to what you have configured in Sunshine: specific games, launchers such as Steam, Epic or Ubisoft Connect, full desktop access, etc. Launching any of them starts streaming from the PC.
In practice, you will have at least two basic accesses: one for “Desktop” (desktop mode, which mirrors the PC screen) and another for “Steam”, which opens the Valve client directly in Big Picture to navigate your library with the controller.
Key Moonlight settings: resolution, FPS, bitrate and codec
Moonlight’s true potential lies in its advanced settings. By clicking on the gear icon on the server or on each game you can modify precise video, network, audio and control parameters that make a huge difference in the experience.
The resolution must adapt to the device where you play: on a small mobile, 720p is usually more than enough and saves a lot of bandwidth; In tablets and monitors the standard is usually 1080p or 1440p, and we leave 4K for when you have a very decent wired network and hardware to match.
The frame rate is the second great pillar. For almost everything, 60 fps is the sweet spot, but if your TV or monitor and your network support it, you can go up to 120 fps for driving games, fast action or shooters. For adventures, role-playing, strategy or slower games, there is no harm in staying at 60 fps if everything else is going well.
Bitrate defines how many megabits per second are used for the video. The higher the bitrate, the better the visual quality and less compression, but the greater the demand on the network. On 5 GHz Wi-Fi, a range of 40-70 Mbps usually works well; With an Ethernet cable you can easily go up to 80-120 Mbps in 1080p/1440p and up to 100-150 Mbps in 4K if your router and internal network allow it.
Moonlight also lets you choose the video codec, usually between H.264 and HEVC. HEVC (H.265) compresses more and offers better quality at the same bitrate, but requires both the PC GPU and the Android device to have compatible hardware decoding. If you notice strange problems, it is worth trying to change the codec.
Controls, ViGEmBus and other details so that everything responds well
So that the experience is truly “console-like”the usual thing is to use an Xbox, PlayStation or similar controller connected to the client device via Bluetooth or cable. The trick is for the PC to recognize it as if it were plugged directly into it, and that’s where the appropriate driver comes into play.
On Windows, the key component is called ViGEmBus. It’s a driver that creates a virtual Xbox 360/Xbox One controller on the system, and Sunshine/Moonlight translate your keystrokes on Android to that virtual gamepad. Download it, install it, restart your PC and that’s it.
If you do not install ViGEmBus, several annoying symptoms may appear: perfect video but a controller that does nothing, erratic movements, games that do not detect the controller or conflicts with other tools such as DS4Windows or BetterJoy. In many cases, reinstalling ViGEmBus and cleaning conflicting drivers resolves most control problems.
It should also be taken into account that some Android devices interpret the controls differently.. It is best to try first with a “typical” Xbox gamepad, which is usually the de facto standard, and only then go to more exotic pads such as some 8BitDo or controllers with integrated mouse mode.
The network rules: Ethernet, Wi-Fi, repeaters and PLC
Beyond the app you use, the factor that most affects the experience is the network. Many people blame Steam Link or Moonlight for the jerks and lag, when the real culprit is a saturated Wi-Fi, an old repeater, a limited PLC or an operator router that cannot handle so much real-time traffic.
The ideal for serious streaming is to have the server PC connected by Ethernet cable to the router, yes or yes. If you can also connect the Android device (for example, a Chromecast with Ethernet adapter or an Android TV with a network port), the difference compared to Wi-Fi is usually very evident: more stability, fewer artifacts and lower latency.
If you have no choice but to use Wi-Fi, the 5 GHz band is always bettermove the access point closer to the living room and avoid too many walls or interference. In these cases it is worth lowering the resolution to 1080p, limiting the bitrate to 40-60 Mbps and activating low latency mode only if the connection is stable.
Repeaters and PLCs can be a major bottleneck. A PLC that in practice delivers 40 Mbps in real terms may fall short for 1080p streaming with good bitrate, especially if it shares traffic with other downloads, 4K streaming or video calls. The same thing happens with old repeaters that become saturated at the slightest peak of use.
A very useful test is to set up a small isolated “laboratory”.: Connect a separate router and connect only the PC and the streaming device to that router, by cable if possible. If in that scenario everything goes perfectly, you know that the problem is in your home network (PLC, repeater, operator router), not in Steam Link or Moonlight.
Latency comparison: Moonlight, Steam Link and direct connection
Latency is the battlefield where the difference between solutions is most noticeable. With good configuration, Moonlight can offer response times around 80 ms total, measured in slow motion from the button press to the on-screen reaction. Under the same conditions, Steam Link is usually around 120 ms.
On paper, both figures are reasonable for many types of games.but when you compare side by side you notice that Moonlight feels a little more immediate. In demanding games the “near native” feel is easier to achieve with Sunshine + Moonlight, as long as the network doesn’t do weird things.
At the opposite end is the direct connection via HDMI 2.1 from the PC to the TV.. There you play without video compression, without passing through the network and with technologies such as VRR and ALLM minimizing the delay even further. It is the ideal solution for serious competition, but of course, it physically ties you to the room.
Well-mounted streaming over Ethernet is very close in sensationsbut it will always have an extra delay due to the encoding, sending and decoding of the video. For the vast majority of players and genres, that little extra is not dramatic, but if you compete at a high level, you will notice it no matter what.
Play away from home: mobile data, IPv6, VPN and ports
One of the big practical differences between Steam Link and Sunshine + Moonlight is in remote play. Steam Link, in many cases, is capable of working outside the home with mobile data without having to open ports, set up VPNs or fight with public IPv4.
With Moonlight/Sunshine the issue is somewhat more technical. Many users in countries where ISPs don’t provide public IPv4 have stuck with Tailscale, other VPNs, and CG-NAT to get gaming from outside. Some have ended up using IPv6 and services like Cloudflare to expose the Sunshine server, with very good results… as long as they connect from Wi-Fi networks and not from mobile data.
To do it in a “clean” way, you have two main ways: use a VPN type Tailscale or Zerotier that creates a private network between your devices (more secure, but with a little more latency) or open ports on the router to the PC running Sunshine, pointing to ports such as TCP 47984/47989 and several UDP in the 47998-48002 range.
When opening ports to the Internet you have to be especially careful: Strong passwords in Sunshine, updated system and, if possible, limit access. Tools like canyouseeme.org help you check if ports are actually open to the correct public IP.
In any case, the bottleneck when you play outside is usually the increase in your home connection and the quality of the mobile network or Wi-Fi wherever you are. For fast games things get complicated, but for more relaxed titles, adventures or indie games you can play surprisingly well.
Ideal devices to use Moonlight and Steam Link
Once you have the server set up, comes the part of choosing “client”. And there is quite a bit of play here, because almost anything with Android or a screen can work for you if it has acceptable hardware video decoding.
The Steam Deck is one of the most popular options as a streaming client. Although it’s not Android, Moonlight works great on its Linux-based system, the screen is comfortable, the controls are integrated and you can use it both at home and on the go with good Wi-Fi. To play the catalog on your large PC it is a delight.
Portable Android consoles such as Retroid Pocket or similar They are also perfect candidates. They don’t have the power of a Deck, but they are great for streaming video and allow you to have your PC library in an ultra-portable format.
The most universal combo is still an Android mobile or tablet plus a Bluetooth remote control. You always have your phone with you, pair an Xbox or PlayStation pad, open Steam Link or Moonlight and in seconds you’re in the game. For adventure, platform or role-playing titles, it is a pleasure to be able to play wherever you are at home.
If you like to tinker, a Raspberry Pi 4/5 or a mini PC with Linux connected to the TV They can be turned into a dedicated Moonlight client: small, quiet, and ready to turn on and play. You add a wireless controller and you basically have a home “streaming console.”
Advanced tricks to minimize latency in Sunshine + Moonlight
If you want streaming to be as close as possible to playing locallythere are a series of settings that should be reviewed in Sunshine, Moonlight and in your own system.
In Sunshine always make sure to use hardware encryption (NVENC on NVIDIA, AMF on AMD, QuickSync on Intel). Forcing software encoding at the expense of the CPU usually triggers latency and eats up resources that the game needs.
Increase priority to the Sunshine process in Windowsso that you don’t run out of CPU time when the game gets busy, and consider disabling VSync on the server to get a few extra milliseconds of response (of course, at the cost of possible tearing if the monitor does not have adaptive technologies).
In Moonlight, lower the resolution and bitrate until the “slow connection” messages disappear.. The ideal is to find the point where the connection is stable even with fast scenes and only then, little by little, increase the visual quality. Enabling low latency mode and manually reducing the buffer size helps a lot if your network is stable.
Avoid unnecessary intermediate layers if input lag is your priority: the fewer bounces (VPNs, extra tunnels, waterfall routers) the traffic has, the better. And, of course, always keep your GPU and network drivers up to date, because the improvements in codecs and stability are sometimes brutal from one version to the next.
In everyday life, the most common problems usually have a solution: If Moonlight does not see the PC, check IPs and ports; If you see jerks, touch bitrate and resolution; if the controller does not respond, check ViGEmBus; If it doesn’t connect outside your home, check that your operator doesn’t have you behind CG-NAT without public IPv4.
Both Steam Link and Moonlight allow you to enjoy your PC games on Android with very serious results: Steam Link wins for convenience, integration with Steam and the possibility of playing remotely with mobile data almost without touching anything, while Moonlight (with Sunshine, Apollo or Artemis) wins the day when you are looking for the best image quality, lowest latency and maximum flexibility in devices and network configurations; The good thing is that, by understanding four basic concepts of networking, codecs and controls, you can choose the tool that best suits your way of playing and forget about being glued to the desk.

Start a new Thread