Clone this wiki locally
In this guide:
- Quick Setup Instructions
- Streaming over the Internet
- Moonlight Client Setup Instructions
- Touchscreen Controls for Android or iOS
- Using a gamepad connected to the PC instead of the streaming device
- Adding custom programs that are not automatically found
- Using Moonlight to stream your entire desktop
- NVIDIA GeForce GTX 600+ series GPU (GT-series and AMD GPUs aren't support by NVIDIA GameStream)
- NVIDIA GeForce Experience (GFE) 2.1.1 or higher
- 720p or higher display connected to the PC
Quick Setup Instructions
On your gaming PC, install the GeForce Experience software from geforce.com. The PC may need a reboot after installation to finish setup.
Start GeForce Experience and click on the Settings "gear" button. Then choose the SHIELD option. Make sure the GameStream switch is in the "on" position (green). If the SHIELD tab is not present, see the troubleshooting steps here.
Start Moonlight and make sure your client is connected to the same network as your PC. In most cases, your gaming PC will show up automatically in the PC list after a few seconds. Click the entry in the PC list to start pairing.
If your PC doesn't appear automatically for some reason, click the plus button and add your PC using its local network IP address. To find your gaming PC's local network address:
Click on the Start menu, type cmd, and press Enter/Return
Type ipconfig and press Enter/Return
Try typing the number after "IPv4 Address" into Moonlight's Add PC dialog. Try all of the listed addresses until one of them works. Addresses starting with 192.168 are typically the correct ones.
If none of the IP addresses work, try the troubleshooting steps here.
On your PC, enter the PIN displayed in Moonlight and accept the pairing dialog. If you don't see a pairing dialog, try the troubleshooting steps here.
Try streaming a game or app to make sure everything is working.
- By default, GeForce Experience will reserve Player 1 for the Moonlight client's gamepad. If you want to use a gamepad connected directly to your gaming PC, follow these steps.
- If you want to stream in 4K resolution, you must check the "Allow experimental features" checkbox on the GeForce Experience settings page.
- If you can't successfully stream at all, try the troubleshooting steps here.
Streaming over the Internet
The following ports must be forwarded through your router for streaming to work with the latest version of GeForce Experience:
- TCP 47984, 47989
- UDP 47998, 47999, 48000, 48010
If you are using an older version of GeForce Experience, you may need these additional ports:
- TCP 35043, 47995, 47996, 48010
If you get an RTSP error or have no audio or video when streaming from outside your network, check that the UDP ports above are forwarded correctly. Make sure they are forwarded as UDP, not TCP in your router settings.
If your PC doesn't appear online at all, check the TCP ports are correctly forwarded.
To find the external IP address of your server, when connected to your network, use a service like http://www.whatismyip.com to determine the IP address another computer uses to talk to you.
To stream over the Internet, in your client: If your PC already appears online when connecting over the Internet, you're all set. If it doesn't, tap on the add button in Moonlight, then enter in the IP address or name. If it still won't come online, try the troubleshooting steps here.
Note: Some Internet Service providers change the external IP address in use by any given subscriber on a regular basis. Since Moonlight needs to connect to the right IP address, this change can cause problems for Moonlight. Using a dynamic DNS service like No-IP will give Moonlight a consistent name to use for connecting, even if the IP address that's associated with that name changes a lot.
Moonlight Client Setup Instructions
Android: An Android device running Android 4.1 (Jelly Bean) or newer. Newer and "flagship" devices with higher processor speeds are more likely to be able to handle Moonlight well by using the hardware video system on the device to produce smooth streaming without video stuttering or freezing.
iOS: An iOS device running iOS 8.0 or later.
PC (Chrome): Your PC should be new enough that it supports hardware-accelerated H.264 decoding, otherwise it will have to use CPU decoding. It must have the latest version of Google Chrome or Chromium installed. Chrome OS devices are supported.
PC (Java): The Java client requires a fairly powerful CPU since it does video decoding on the CPU. You must also have Java 8 or higher installed.
Internet and Network Requirements
To have a good experience, you need a mid to high-end wireless router with a good wireless connection to your client device (5 Gigahertz (GHz) highly recommended, Wireless-N (802.11n) or better strongly recommended) and a good connection from your PC server to your router (Ethernet/wired connections highly recommended).
Controls for Android devices
For non-SHIELD devices, using an external mouse with proper mouse capture on Android requires a rooted device. If you want to use an external mouse on your rooted device, you should download "Moonlight for Rooted Devices" on the Play Store or app-root-release.apk from releases. NVIDIA SHIELD devices has mouse capturing built-in that Moonlight uses without needing root.
To toggle capturing the mouse cursor, press Ctrl+Alt+Z.
If you don't have a mouse connected to your Android device, you can emulate one using a game controller. Press and hold the Start button to toggle mouse emulation. When mouse emulation is on, you can use either analog stick to move the cursor. The A button left clicks and the B button right clicks.
Most controllers will work just fine, but the following have been tested:
- Xbox 360 wired/wireless
- Xbox One wired (with Moonlight's built-in driver)
- PS3 wired (with Sixaxis Enabler app) or wireless (with SixAxis Controller app)
- PS4 wired via USB
- MOGA controller (see note below)
- Amazon Fire Game Controller
- Shield integrated controller
MOGA controller users: If your controller has a switch with A and B, it must be switched to B to be used for streaming. If you have no switch, use the MOGA Universal Driver app.
SixAxis controller users: Use SixAxis in "Native Gamepad" mode. The default button mapping needs to be adjusted to match the standard controller layout for streaming.
Controls for iOS devices
Apple devices only natively support MFi controllers. We recommend the "extended layout" controllers which have most buttons present on a typical Xbox 360 controller. Notably lacking are the L3 and R3 buttons and the select button. When using the Auto setting for on-screen controls, an overlay will be displayed containing the buttons that your physical controller is missing.
Controls for PC clients
PC clients support keyboard/mouse input and up to 4 game controllers. On Windows, XInput-compatible gamepads will be mapped automatically. On other systems, you may need to map the controller manually.
To free the mouse cursor from the Moonlight window, press Ctrl+Alt+Shift. To quit streaming, press Ctrl+Alt+Shift+Q.
Touchscreen Controls for Android or iOS
Moonlight for Android and iOS use the touch screen as a way of controlling the mouse cursor. Multi-touch devices can emulate more mouse functions than single-touch devices.
- Swiping across the screen moves the mouse cursor in the direction of the swipe.
- Tap once with one finger to left-click.
- Tap and hold in the same place to start a click and drag. After a short while, swipe the finger to drag in the direction of the swipe.
- Hold one finger down and tap a second finger to right-click.
- Tap with three fingers to open the on-screen keyboard (Android only for now). Only some keyboards work with Moonlight for Android - the Hacker's Keyboard seems to work well for everything but the arrow keys.
Using a gamepad connected to the PC instead of the streaming device
Normally, Moonlight sends controller input from the streaming client which gets sent to the game by GFE. If you want to connect a controller to your PC instead of the streaming device, GFE can cause some problems because the emulated controller still appears to games as controller 1. Luckily there is a workaround for this. You'll need to rename the DLL that Nvidia is using to send controller input so it won't be used anymore. You may have to do the renaming again if GFE does an update, but it should allow you to use your controller normally on games that only support 1 controller.
On GeForce Experience 3.0 and later, rename rxgamepadinput.dll to rxgamepadinput.dll.old in C:\Program Files\NVIDIA Corporation\NvStreamSrv and C:\Program Files (x86)\NVIDIA Corporation\NvStreamSrv.
On older version of GeForce Experience (2.x), rename rxinput.dll to rxinput.dll.old in C:\Program Files\NVIDIA Corporation\NvStreamSrv and C:\Program Files (x86)\NVIDIA Corporation\NvStreamSrv.
Adding custom programs that are not automatically found
You can stream any almost any game or app by adding the EXE file to GFE manually (if it's not found by the automatic app scan). Open GeForce Experience, click the Settings (gear) button, click SHIELD on the sidebar, then click the Add button on the right. Browse to the app or file you want to add and click OK. You can rename the app using the Edit button.
The next time the client opens and displays the App List, the newly added programs and games should be displayed and ready to stream.
If quitting an application doesn't stop Moonlight, press Ctrl+Shift+Alt+Q on Moonlight PC to quit the streaming session. On Moonlight Android and iOS, pressing the home key will switch out of the streaming session. Choose the Quit Session option from the App List to fully quit the streaming session.
Using Moonlight to stream your entire desktop
Follow the steps above for adding a custom program, but for the path use: C:\windows\system32\mstsc.exe
You can rename the remote desktop entry using the edit button. When you click this entry, you will see your full desktop where you can run whatever you want.
This page is under construction