Hands-on with the Steam in-home streaming beta
1080p60 gameplay with 60ms lag? Digital Foundry on how close Valve is to perfecting the ultimate remote play experience.
Valve wants to expand enthusiast PC gaming beyond the desktop, bringing the Steam platform into the living room and beyond. We've already seen the initial line-up of Linux-driven Steam Machines, but the Valve initiative does not end there: imagine being able to stream gameplay from your PC to anywhere in the home, including a living room-based $99 Steam Machine. It's an exciting concept that's actually exceptionally well executed - and if you're one of the lucky ones, you may already have access to the technology.
The recent release of the in-home streaming beta opened up the technology to thousands of Steam users. To see if you're already in, simply go to the settings area of your account and if you see an in-home streaming option, you're ready to go. Alternatively, you may need to opt into the Steam beta program to boost your chances of gaining access, while installing SteamOS onto one of your PCs may increase your likelihood of gaining access still further. Joining the beta group itself probably won't harm your chances either.
Set-up is remarkably straightforward. Simply have your Steam client open on your games PC, and then login to the same account on a second PC. In the in-home streaming tab, both systems should be able to see each other across the network, with the installed games on both computers perfectly mirrored. Simply click on the game and rather than seeing a "play" option, instead there's a "stream" selectable. Press the button and away you go.
In our initial tests, we didn't make it easy for the home streaming system. Our games PC is located in a converted out-building, connected to the router in a completely separate building via powerline adaptors. To make things even more challenging for the system, our client hardware - a 2012 MacBook Air running OSX Mavericks - is connected to the router via WiFi. So, a non-standard network set-up, entirely different operating systems, plus the vagaries of wireless transmission to add to the mix too.
"There's something particularly satisfying about detaching from the desktop and enjoying a high-end PC experience in the lounge or bedroom. Even at this beta stage, the technology delivers something really special."
And yet there we were, playing Tomb Raider at ultimate settings at the highest resolution possible on the Apple laptop - 1440x810, downscaled from 1080p on the host system. A quick press of the F6 button brings up a wealth of debug data that tells you everything you need to know - resolution, frame-rate, latency at all stages in the pipeline (graphed for you to boot), bandwidth utilisation, and network consistency. Dipping into the settings, we ramped up bandwidth to the max, and increased frame-rate to 60fps. It still worked, it was still highly playable, it was one of those moments where the sheer scale of the technological achievement starts to become apparent.
Bearing in mind that both WiFi and the powerline adaptors are adding to the latency of the experience, we are still getting streaming throughput of 30mbps and end-to-end lag under 100ms. Take out the powerline LAN link and connect directly via WiFi and latency drops to 60ms with a 3ms ping. Interface client and server even more directly via a wired connection and that ping drops again to 1ms. Despite the video encoding/transmission/decoding, we are looking at response from the client that is uncannily similar to actually playing the game locally. The possibilities are mouthwatering.
Indeed, we've already enjoyed something very similar to this in the past - specifically, the Nvidia GameStream tech integrated into GeForce Experience and the Shield handheld. This is perhaps not surprising as we are informed by a reliable source that the in-home streaming tech found in the Steam client is the result of a close collaboration between Valve and Nvidia.
Now, what makes this even more interesting is that our initial testing was carried out with a games PC running an AMD graphics card - specifically, the top-of-the-line Radeon R9 290X. Our understanding is that Nvidia has retrofitted its tech to work with GPUs from all major vendors - a stunning technological achievement, and perhaps indicative of just how well the major graphics companies research each other's architectures. We swapped between high-end AMD and Nvidia cards and all produced excellent results.
The scale of the achievement grows the further you push the beta code. While the quality isn't always completely outstanding owing to the bandwidth limitations, the client can even run gameplay at 4K 'ultra-HD' resolution at 30fps. When not pushing the envelope with extreme resolutions, the maximum 30mbps of bandwidth allocated to streaming seems to be enough to cope with virtually any kind of game you throw at it.
The quality of gameplay streaming systems is typically defined by two factors - image quality and input lag. Via the client's settings, the user is completely in control of the bandwidth utilisation - and by extension, the quality of the image. The more data you send across the network, the better the quality of the stream - though latency can creep up (dropping down from 1080p to 720p bought us an additional 10ms in latency savings).
The good news is that without the vagaries of the internet to contend with, you can throw a comparatively large amount of data across your network, producing very decent image quality - far superior to Vita Remote Play, OnLive or Gaikai. The only downside is that chroma information - especially evident in pure reds and blues - is downscaled, resulting in some blockiness, especially on very small HUD elements. Overall though, this is the best-looking streaming gameplay we've seen and the closest we've ever got to a system that replicates the local experience on remote hardware.
The second major issue - and something that really impacted our appreciation of PS4/Vita Remote Play - concerns overall lagginess. Input latency is a real issue with gameplay over IP because you are adding additional steps (video encode/decode) to the usual process a game goes through in accepting user input, processing it, and displaying it on-screen.
Now, what's cool about the Steam beta is that all phases of the process are logged and graphed, meaning you can make changes to your settings to see how each element is improved. For example, we had an unpleasant episode where network quality collapsed during our initial test (Steam in-home streaming really isn't keen on powerline LAN adaptors), so we lowered resolution to 720p, bringing our basic ping down drastically, thus lowering our overall latency to something approaching local response times. However, the one big issue we had was a noticeable lack of consistency to the connection, meaning you could see palpable "jumps" in the image refresh.
For our next round of testing, we re-stacked the deck, swapping out the Radeon R9 290X - a £400 graphics card - for something considerably cheaper: Nvidia's £170 GeForce GTX 760. Bearing in mind our worries about the consistency of our connection, we connected both the games PC and the client (this time another i7 PC) to the same router via LAN cables. The results proved quite extraordinary, if not as revelatory as we would have hoped.
"Valve is very close to delivering the definitive 'remote play' technology - the only concern we have is noticeable stutter when the 60fps option is active."
While latency drops down to a new low of 60ms - and sometimes even lower when the image being compressed is less complex - there is still clear and obvious stutter to the image that detracts from the quality of the experience. Despite the various options on offer, the only way we could drastically improve the situation was to give up the 1080p60 dream and peg frame-rates at 30fps. It works, but the loss of quality in terms of controller response was palpable. While still very playable, we had been spoiled by the most remarkably fluid gameplay over IP system we'd ever tested - a technology that thrives on higher frame-rates. So in the here and now, we'll take the stutter over the hit to response but we can't help but wish for this issue to be resolved when the code goes final.
Overall though, it's fair to say that this is truly exciting stuff. It's a quality streaming experience that might lack the consistency of the Wii U's GamePad tech right now, but offers so much more. What we really like is the sheer flexibility on offer. Valve has talked about $99 Steam Machines that essentially work as dumb clients - somewhat like the OnLive microconsole. However, even in the here and now, the sheer range of hardware options on offer to support this system is mouthwatering.
We demoed in-home streaming on a MacBook Air, but virtually all laptops out now come with onboard video decoders of some description - just plug in an Xbox 360 wired controller and you can take your high-end PC with you anywhere in the house. Then there's the range of full Windows tablets, like the Bay Trail-powered Asus Transformer TF100 that we would have loved to have tested here. Again, there's hardware decode onboard and to get home-streaming running, you'd simply install the Steam client exactly as you would normally on any PC. And finally, there's the new breed of ultra-mini motherboards with Bay Trail-D CPUs, available for $60 - offering the ability to combine game streaming with high-end media playback.
All in all, while this beta test still has kinks to iron out - inconsistent refresh at 60fps really is the biggest issue we have with the technology right now - Valve has handed in technology that exceeds the quality of the experience we really wanted PS4's Vita Remote Play to deliver. Moreover, it has done so while highlighting all the advantages that an open platform can bring: baseline performance that works well on more modest hardware, along with the ability to push the envelope hard with the bespoke tech of our choosing.
At Digital Foundry, we've been following gameplay over IP technology ever since OnLive's original reveal at GDC 2009. We grew to appreciate some of its achievements, but in terms of the raw experience, there was nothing that could get remotely close to the quality of playing locally. We had high hopes, but Vita Remote Play on PS4 ranks as a decent value-added extra, and not the game-changer we were hoping for. Valve's beta is an entirely different animal - it's the first streaming system that not only delivers the quality we've been waiting for, but hands over all the data required to optimise the system for best performance on your hardware. In the process, the metrics revealed demonstrate that there is a future in gameplay streaming - and we can't wait to test final code.