Setting up in-home streaming
Enabling in-home streaming takes about five minutes. Here's what you do:
- On your gaming PC, login to Steam and open the Settings menu
- Select the In-Home Streaming tab
- Tick the "Enable streaming" checkbox
- Under Advanced Host Options, tick "Enable hardware encoding"
- On your client PC, login to the same Steam account.
- If using the Steam Link, the menu should show available PCs to stream from on your network and label them as "Ready" or "Offline." With streaming enabled, your PC should show up as Ready. Select it to begin streaming automatically in Big Picture Mode.
Bam. You're ready to stream.
How do I control my client PC?
In-Home Streaming is mainly designed to be used with Steam Big Picture Mode, and there are a few ways to control it. But you don't have to use Big Picture. If you're streaming to a laptop, for example, just select a game from your Stream Library; if it's not installed locally, it'll show "Stream" instead of play. You can also use the dropdown next to the Play/Stream button to install a game on the remote PC.
On the Steam Link, you can plug in Xbox controllers via USB, connect keyboards and mice via wire or 2.4GHz USB dongle, or connect them via Bluetooth. You can also use a Steam Controller wirelessly connected to the Link.
Your In-Home Streaming client should automatically detect any XInput device plugged into it. An Xbox 360 controller or Steam Controller is your easiest, most likely choice. Valve notes that "DirectInput controllers other than gamepad style controllers (wheels, flight controllers, etc.) are not currently supported. Other controllers using XInput are fully supported."
On a PC, you can also use a Dualshock 4 configured with an XInput wrapper. A keyboard and mouse plugged into the host will work too, which is important if you're streaming to a laptop. If you're streaming to a living room Steam Machine, you'll probably want to stick to a controller, since the Big Picture interface is optimized for it.
How do I connect a Steam Controller?
If you're using a Steam Link, turn it on. Hold X on a Steam controller, then press the Steam button to turn it on. This will enter the controller into pairing mode. You don't need to use a dongle with the Steam Link, though you can if you have any issues with wireless signal.
To connect the Steam Controller to a PC, first plug in its USB dongle. Then turn on the controller with the Steam button and follow the prompt that appears on-screen to pair with the receiver. You'll have to boot into Steam Big Picture to use and configure the Steam Controller.
Go forth, and Stream
With a controller or keyboard/mouse connected, you're ready to steam. Try it out!
If everything works perfectly, you don't need to read the rest of this guide. But like with most aspects of PC gaming, you'll probably want to do some tinkering to increase performance. You may run into slowdown or input lag. That means it's time to optimize your home network and in-home streaming's settings.
Tweaking Steam in-home streaming settings
I recommend trying out your in-home streaming setup with the following settings:
- Balanced client performance strikes a balance (duh) between video picture quality and performance/responsiveness. Ideally, this means the image on your TV will look great, and the streaming lag will be imperceptible.
- Enabling hardware encoding will use the power of the GPU on your host computer to help quickly render the game you're streaming into video.
- Enabling network prioritization will potentially allow your router to traffic shape the data crossing your network and give in-home streaming more bandwidth than, say, Netflix.
- Setting automatic bandwidth means Steam will determine how much bandwidth it uses. It's the recommended setting. In my experience, this works for a lot of games, but ones with lots of fast-moving details (for example, a tower defense game with tons of units and projectiles) will result in some compression artifacts. Counter-intuitively, the 'unlimited' bandwidth setting can increase latency, according to Valve's own developers. I've tried the unlimited bandwidth setting over a wired connection and didn't experience any issues with latency, so give it a try for improved image quality.
- 1080p resolution is a practical choice for streaming: better quality than 720p, but not desktop resolution, which could be higher if you have a 1440p monitor. Since the TV you're streaming to is likely 1080p, the native resolution will look just fine.
- Enabling hardware decoding will use the GPU on the client computer to help quickly decode the H.264 video signal your client computer is outputting. Otherwise, the CPU has to do all the work, which could hamper performance. If you experience poor performance, disable this setting to see if anything changes.
If you experience issues with input lag, try switching from the 'balanced' to 'fast' setting. Just be aware that the picture quality will likely suffer.
If you have streaming issues with the above settings, your best bet is to simply change things up and see what works. Even if you have a great GPU, you may find that software encoding (your CPU doing all the work, with no GPU acceleration) gives you better framerates. If you really want to measure your performance, turn on "display performance information" in the advanced client options.