ThinkBoxly is the personal developer blog of Lucas Chasteen, author, programmer, artist, and always learning. Read more

Wednesday, May 21, 2014

NVIDIA GameStream to any Android Device with Limelight

Game streaming. It’s still an anomaly in the gaming world, certainly more novelty than habit for gamers (and we know where that leads). Tech companies desperately want us to do it, simply because it’s an easy out for them—they can produce low-performance hardware capable of playing the latest PC titles, and there’s no porting effort spent on the part of game developers. OnLive was the first exposure many gamers had to the idea of playing games remotely, but as enticing as the idea of every game out there being instantly available from anywhere in the world is, problems begin to arise when you get into paying for them. Someone’s gotta pay—streaming games from servers is an expensive endeavor, and it’s perfectly fair to charge for the service. But therein lies the problem: either you pay individually for games you never own and can lose access to at any point in time, or you pay regularly for the service of accessing them and may or may not ever get your full money’s worth out of the deal. The idea behind game streaming isn’t entirely bad, it’s just not very compelling considering how fragile the system is that you’re investing in.

But what if you could stream games you own personally? It would rule out streaming to one device—namely, your gaming PC—but if you want to be a bit more mobile than a bulky desktop it can be pretty convenient to have the option just to pick up your phone or tablet and keep going where you left off. Maybe you want to play on your TV without lugging the computer into the living room. It still may not be habit territory, but the use-cases are out there and easy enough to find. NVIDIA for one has pushed these uses hard enough, as they are the chief selling point of their not-so-famous Shield device. But you don’t have to shell out a pair of your hard-earned Benjamins for the occasional convenience of game streaming. As Shield is Android-based, all you need to replace it is a reasonably fast Android phone or tablet running Android 4.1 or later, a bluetooth game controller or mouse/keyboard, and a little app from the venerable XDA Developers Forums called LimeLight. (Note: a PC version of the application has recently become available as well, for streaming from desktops to laptops or media centers and so on. While it’s still in the early stages and won’t be covered in this post, it should be functionally the same as its Android counterpart).

Getting your GameStream on from home is actually fairly simple, with just a bit of know-how. The NVIDIA GeForce Experience application that should already be on your PC acts as the server, so all the new software you need goes on the client device (but you should check to make sure both GeForce Experience and your GPU drivers are up to date, as NVIDIA is constantly improving GameStream performance). Conveniently enough, LimeLight is actually on the Google Play Store now, and it has no special requirements such as a rooted device, so installation for this app is surprisingly no different from any other.

The real ‘trick’ comes when you’ve launched the thing. If your PC is turned on, running Steam, has the latest NVIDIA software, a GTX 600-series or better GPU, and is connected to the same WiFi network as your phone/tablet running LimeLight, you’re all good to go. The question that remains is what address to point that phone/tablet to so it can find the GeForce Experience server. While there are multiple ways to do this, perhaps the most consistent across different editions of Windows is ‘ipconfig’. To use it, hit Win + R on your keyboard or search the Start menu/screen for ‘cmd’. In the command window that appears, type ‘ipconfig’ and press Enter. Towards the top of the data that appears will be your IPv4 Address, usually appearing something like ‘’. This IP address will only work on your local WiFi network, but it is possible to connect from anywhere in the world using your public IP address and some port forwarding, which is beyond the scope of this post (leave a comment if you’d like to see a tutorial on that in the future). Once you’ve found the IP address of your server PC, punch the numbers in to LimeLight just as they appear in ipconfig. Technically the software allows for streaming in 1080p all the way up to that magical 60 FPS, but realistically if your home WiFi network is actually up to that task, it should win some kind of award for speed. Personally I’d recommend starting at the lowest setting, 720p at 30 FPS, and work your way up from there if all goes well. But of course, all this does is change how big frames are and how many are getting pushed at a time. Changing the actual quality of the image will have the biggest impact on performance, and that can be handled with the slider at the bottom of the LimeLight screen.

With your settings chosen, the time has finally come to embark upon your streaming quest. For your first time using the app, you should hit the ‘Pair with PC’ button, and be ready to click a prompt on your computer requesting access for—*snicker*—’SHIELD’.

With the devices paired, you can finally push that ‘Start streaming Steam’ button and watch as Steam momentarily launches in Big Picture Mode…on your Android device. The most basic of basic mouse simulations is built in to the LimeLight app so you can navigate the Steam interface and any necessary Windows dialog boxes and launchers, but trust me that you won’t want to attempt to play any games with it. Instead you’ll want to break out some kind of Bluetooth controller and use that instead. LimeLight is designed to work with Xbox 360, Dualshock 3, and other controllers, so just connect the device of your choice to your phone/tablet and let LimeLight send the commands to your PC over GeForce Experience.

Personally I don’t have the world’s strongest WiFi network and I had to drop the settings significantly in order to reach playable speeds, even when other solutions like Splashtop Streamer work just fine, and even then the end result didn’t give me any sense of “wow, I can’t believe I’m seeing this on my phone!” What it did give me was the ability to connect my phone to a TV over HDMI and have access to my PC games on the big screen—something Splashtop isn’t so good at since it doesn’t handle controllers at all. Due to latency between the source and destination the selection of games that is practical to use with LimeLight (or GameStream in general) is limited, and what titles it is suited for I probably wouldn’t endeavour to play from start to finish over a stream, but the tech definitely shows promise and is worth keeping an eye on. The convenience is real, just not practical at this stage in the game unless you’re willing to invest in high speed internet and an especially strong router to get the best experience (which most would consider impractical and inconvenient in itself). Basically, it’s like NVIDIA’s 3D Vision tech. Yeah, it’s cool, but the prerequisites far outweigh the results. That being said, it’s great to have LimeLight around. Considering GameStream is still young and has a ways yet to go, it’s important that consumers have a no-cost way to try it out and see how it works for them. As soon as that cost:performance ratio hits equilibrium, then we can talk paid solutions. Until that happens, LimeLight’s got your back.