How to play Windows Steam games on your iPad

Jorge Azevedo
Going Pro
Published in
7 min readOct 30, 2018

This is the first post in the cloud gaming series. Want more on Cloud Gaming? Start here!

It might seem surprising, but lots of iPad users out there have start playing Windows games without even owing PCs. How? The answer is cloud gaming - running games in a virtual Windows PC in the cloud and streaming it over the internet directly to your iPad.

There are multiple apps available in the app store that support game streaming, and in this article we’ll be focusing on Moonlight. Moonlight is an open-source project started off in a hackathon back in 2013 by students from Case Western Reserver University in Ohio. It’s become incredibly popular because it pulls off an impressive feat. It acts as a client for NVIDIA’s proprietary Gamestream technology, effectively a game-focused version of a remote desktop app like VNC or TeamViewer that promises near native performance with only 2 frames of latency.

This tutorial will take you step by step from nothing to cloud gaming. By the end, we should be playing a Windows game via Steam at native iPad resolution, set to maximum settings and running at 60fps.

Sound like fun? Let’s start!

0. Before you start

Know that you will need

  • A credit card to open an account with Paperspace.
  • An external keyboard to type in our remote machine.
  • A 5GHz wifi router and a solid internet connection (think 50mbit fiber)
  • Patience. Cloud gaming is still very much the domain of hacking, not push button set ups. It’s fiddly, but worth it in the end!

1. Boot a P4000 Windows instance

Paperspace is a neat cloud provider that provides VMs with the NVIDIA graphics cards we need, so the first step in our journey to cloud gaming is opening an account with them.

Once that’s set up and you are logged in, we can move on to booting an instance. Go to CORE>Computer>Machines and tap NEW MACHINE +.

Note: The first machine you boot will unfortunately not happen immediately. Paperspace will have to review your request and manually approve it. If you do this on a weekday, it should be available the next day.

  • Select the region closest to you (West Coast/East Coast/Europe)
  • Stick with licensed Windows 10
  • Stick with hourly billing
  • I recommend the P4000 machine at $0.51/hour. This should be enough for maximum settings at native iPad resolution for most games
  • Consider if you need 50GB or 100GB for the games you want to play (the default windows installation is about 30GB)
  • Disable auto snapshot
  • Enable Public IP — It costs a few more cents (~$0.004/h) but it will allow us to connect without a VPN.
  • If you haven’t already, use my promocode 93EMI9X and get $10 in credit! </shameless plug>

Click Create your paperspace and away we go!

The machine is now in the Provisioning state. If you switch from icon view to list view, you’ll be able to see useful information like machine ID and Date Created. If you tap on the machine’s name you’ll access the console. On the left hand side there’s a bunch more useful information, amongst which is public IP. Tap it to copy it to the clipboard, you’ll need it to connect to the machine in a bit!

Once the machine has finished provisioning and switched to the Ready state (ETA <10 minutes), the Open action will become available. Tap it and you’ll instantly remote desktop to the machine right there in Safari. Nice! The performance should be pretty decent and there’s even a convenient circle menu icon on the top right for some common operations.

Beware! It works well enough, but it has some known issues and quirks

- The on-screen keyboard doesn’t work. You’ll have to use an external one
- The space bar and the arrow keys don’t work
- You can only left click, and double clicking can be tricky
- The web app crashes and auto-reloads sometimes

2. Install missing Windows Server Features

The Windows desktop in front of you might look familiar, but it’s actually Windows Server 2016 instead of Windows 10. They are basically equivalent, but we’ll have to install some missing features to make it Gamestream ready.

First, install the DirectX Redist (June 2010) from https://www.microsoft.com/en-gb/download/details.aspx?id=8109, which is necessary for Steam to work later on.

Next go to Start>Server Manager>Add Roles and Features>Click next until you reach the Features tab and select the following Features from the list

  • Quality Windows Audio Video Experience
  • Wireless LAN Service

Check Restart the destination server automatically if required and tap Install. The installation will proceed and the machine will restart. The desktop will re-appear automatically once the machine is back on-line.

ProTip

Both Steam and NVIDIA live in the system tray and constant visibility of the icons is very useful. Enable this in Start>Setting Cog Wheel on the left> Search for Taskbar Settings> Notifications area>Select which icons appear on the taskbar>Always show all icons.

3. Set up Geforce Experience and the NVIDIA driver

We are now ready to install our NVIDIA components. Download and install Geforce Experience from nvidia.com/geforce-experience.

Start Geforce Experience and login with your NVIDIA account. Next, enable Gamestream by going to Settings Cogwheel>Shield>Gamestream and flicking the switch on. While here, click Add under the (empty) list of available apps and select C:\>Windows>System32>mstsc.exe. This will allow us to remote desktop to the machine in a moment.

Lastly, select DRIVERS in the top menu download the latest Quadro Driver and go for the Express Installation. During installation the remote desktop feed might break. This is expected. Wait 5 minutes for the installation to finish and restart the machine.

ProTip

You can easily restart the machine by tapping the circle icon on the top right and selecting Restart Machine

4. Connect via Moonlight

Once you’re back to paperspace’s desktop, switch over to the Moonlight app. Tap Add Host and enter your VM’s public IP. A new host icon should appear, tap it and it will give you a pin. Now, you’ll need to input this pin on the Windows side. I highly recommend you open Safari in popover over Moonlight, if you go away from Moonlight the pairing will most likely fail!

Use popover to pair Moonlight with Paperspace

Insert the pin, press enter and if the pairing is successful you should now see mstsc.exe as an available application in Moonlight. Nice!

Now, it might be that opening Safari in popover messed up the windows desktop resolution (like in the screenshot above). I recommend opening Safari in full screen and refreshing the page to see that the desktop is back to normal. Once you see that, abandon the desktop session in Safari all together by going back to the Paperspace console or just killing the tab.

Back in Moonlight, tap mstsc.exe and you should see your desktop! Sweet, we’re in!

5. Install Steam and your game

Almost there! Download and install steam as per usual. Once you log in, try switching to Big Picture Mode. You should be able to use the on-screen controls to navigate the screen. If that works, then, you have arrived! Install any game you want and experience the magic of cloud gaming on your iPad :-)

Moonlight fully set up!

6. Tweaks

You might have found the magic of cloud gaming on your iPad to be not quite so magical! Here are some tweaks to help improve it

Moonlight config

If performance wasn’t great, Moonlight has a few options that can help you.

I recommend turning on HVEC if you’re on iOS 11 and your device supports it as it greatly improves performance. For me it’s the difference between it being crappy to it being flawless.

Resolution, Frame Rate, Bitrate depend more on your internet connection. Play around to find a sweet spot for performance and quality. For reference, I’m lucky enough to have 50mbit fiber and I can run it at maximum settings.

Change resolution to 4:3

You’ve probably noticed the black bars on the top of bottom of your image. What’s happening is that unlike most modern PC displays, the iPad’s resolution is 4:3.

The solution is easy. The NVIDIA settings application allows you specify a custom resolution which will then become available in the in-game video settings. Click the NVIDIA icon on the system tray, Display>Change Resolution>Customise select 1064x732 and tap the Pencil icon. Input the resolution that matches your device.

  • iPad (Pro) 9.7" 2048 x 1536 px
  • iPad Pro 10.5" 2224 x 1668 px
  • iPad Pro 12.9" 2732 x 2048px

Bluetooth gamepad

The on-screen controls are a handy feature, but nothing beats holding an actual gamepad on your hands. Moonlight supports bluetooth MFI controllers like the steelseries nimbus, or, my personal favourite, the stratus. It should «Just Work», though I recommend testing the gamepad on an iOS game first and then going for Moonlight.

Note that MFI controllers don’t have R3/L3 buttons, which in some games is a necessity. You can configure the on-screen controls to only display these, which is a decent compromise for some games.

7. Help it didn’t work for me!

Arg, technology sucks! Judging from my last Paperspace bill, it took me a a solid 40 hours of work to get this to work. This thing is fiddly. If it doesn’t work for you, I‘m afraid the only thing I have is some ideas of things to try.

Check the moonlight documentation.

Try connecting your iPad over 4G to bypass any networking issues in your wifi network.

Moonlight is not exclusive to iOS, try connecting from a different platform if you can. If you have access to an Android phone, try that. This will help isolate where the root cause of the problem is.

Try disabling the firewall and windows defender on you Paperspace VM.

Check the logs. The Gamestream ones are in C:\ProgramData\NVIDIA Corporation\NvStream. (note that ProgramData is a hidden folder), and Steam crash dumps can be opened with Debugging Tools for Windows available at https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/

Lastly, you can reach out the community. Moonlight has an official discord, and the cloudy gamer subreddit is full of knowledgeable people. Good luck!

--

--