Intro
Hi all. In this post, I will try to do something different. My goal was to play my games on big screen TV. Maybe play some Local COOP games in the living room, instead of the work desk, and swap the desktop chair with a more comfortable couch. But how if my PC is in the other room that TV and is there some way that doesn’t include 20 meters long HDMI cable? After some time I came across something that is called Steam Link, that does exactly what I need. So, let’s configure our Steam Link in order to enjoy PC games with Steam Link on the big TV.
Concept
The concept is simple. You need to have a PC that can run your desired game, and then just stream game video over the local network to your steam link. In beginning, there was a dedicated steam link device that needed connection to local network and TV, but in recent years there is a better option to play PC games with Steam Link.
Smart TV
One way is to install Steam Link app on your Smart TV. This is basically a free method, but it can be impossible to do. If you just google “Steam Link on <your TV brand>” you will find a lot of tutorials that show how easy you can achieve this. But this is so far from the truth. Based on your current firmware on your smart TV, your geolocation Steam Link app might not be even present in your App shop. This was my case. I have middle-class Samsung TV and I couldn’t install Steam Link on it.
Old PC
The other option is to install Steam Link app on your old laptop and connect it to TV and the local network. Please always use a wired connection. This can be a good option if your laptop isn’t too old, 10 years old :). Basically, if you have a good Ethernet controller and descent CPU you will be fine.
Raspberry Pi
In my case, I used Raspberry Pi 4 8Gb model. I had Raspberry Pi that was laying around and decided to try will Steam Link run on it and will playing experience be decent. So, let’s continue with this.
But before we do that I need to say something. There is a lot of tutorials online, written and in video format for to install Steam Link on Raspberry Pi in two clicks. But I had a couple of problems. And I hate this. It totally frustrating to me when you have a lot of YouTube videos that are showing you that something is easily done, and then when you try it’s usually not that easy. Then you need to have a greater skill level to debug the problem for the project that you dedicated only half an hour and then it transforms into 2 days project. Sorry for the rant, but I will now log that and the versions of software and Raspberry Pi OS, so that you in the future can compare it to your release and check.
Setup
To set up and play PC games with Steam Link on Raspberry Pi 4 you will need:
- Raspberry Pi (3 or 4 will work)
- micro SD card to install OS for the Raspberry Pi and Steam Link
- Power Supply (at least 5.1V, 3A and USB type C)
- micro HDMI to HDMI cable
- Controller (I’m using GameSir T1s Wireless Controller and it’s working so I can imagine that you will not have problems with more wide known brands)
Configure Steam on PC
This step requires that you have Steam installed on your PC and download and install the game that you want to play.
Then we need to allow remote play inside Steam in order to allow us to stream our game later to a device with Steam Link. Simply go to the settings tab and then to Remote Play tab. After that enable Remote Play.
If you plan to play on Linux please enable Proton in Steam Play tab as well.
For this post I will try to play Ori and the Will of the Wisps game.
Install Raspberry OS
We will need a microSD card now. Plug your microSD card into your PC. I’m using a simple USB adapter, but anyway is fine.
Now, go to https://www.raspberrypi.com/software/ to download the new Raspberry PI OS. Actually, we want to download a utility program called Raspberry Pi Imager which will download OS, format, and flash SD Card for us, all that from one program.
Download and run Raspberry Pi Imager.
Select OS. For this example and Steam Link, at the time of making this post, Raspberry Pi OS Bullseye is the best choice.
Then select your storage device. WARNING!!!. BE CAREFUL WHICH DRIVE YOU SELECT. IF YOU SELECT THE WRONG DRIVE YOU COULD LOSE ALL YOUR DATA. So, double-check which drive is your micro SD card. Then just click write and wait for it to finish. After this process, we have Raspberry Pi OS installed on our SD card.
Now place a micro SD card inside your Raspberry Pi. Connect micro HDMI to Raspberry Pi and the other side of the cable with HDMI to your monitor or TV. Connect your mouse and keyboard, and at the end connect your power supply with USB type C. Then the first setup begins. Go over the next steps.
Raspberry Pi will reboot and you will be ready to start using it.
Now, first thing first. Update your Raspberry Pi. Open terminal by pressing CTRL+ALT+T. Type next commands:
sudo apt update
sudo apt dist-upgrade
After this is done, reboot your Raspberry Pi. Then open terminal once again and type:
sudo apt update
sudo apt upgrade
and the at the end update firmware. Don’t to this next command all the time when updating the packages, but at the beginning it’s OK.
sudo rpi-update
After this is finished restart Raspberry Pi once again.
Overclock a bit
This step is optional and it has some requirements. DO NOT OVERCLOCK IF YOU DON’T HAVE COOLING! So, if you don’t have some Raspberry Pi case with good, possible active, cooling skip this step. This step will just speed up your Raspberry a bit, not much, so it is not worth it if your system is unstable and resets during gaming.
So, if you have some fans for heat sync, we can go ahead with this step.
Overclocking on Raspberry Pi is very simple, so simple is basically adding 3 lines inside a file. We need to edit the text file, and we can use terminal file editor nano with the next command:
sudo nano /boot/config.txt
or use a normal (graphical) text editor with the next command:
sudo mousepad /boot/config.txt
Find the line:
#uncomment to overclock the arm. 700 MHz is the default.
and after that line copy and paste text lines.
over_voltage=6
arm_freq=1950
gpu_freq=700
This is not a big overclock, you can try pushing it a bit more, but this is not necessary and I want stability first with a little more performance.
Save and Close the file and reboot your Raspberry Pi.
Install and configure Steam Link on Raspberry Pi
Let’s install Steam Link. On every tutorial it’s pretty simple just on command:
sudo apt install steamlink
and after that just run Steam Link.
But now I came across that first minor problem. I got a warning shown in the image below. But in that warning, there was also the solution to the problem.
I needed to comment out one line inside /boot/config.txt. Find line dtoverlay=vc4-kms-v3d and comment that line out by adding # at the begging of the line. After this, we need to reboot Raspberry Pi in order for this change to take effect.
After the reboot, I tried running Steam Link again and there was another problem. I’m starting Steam Link from the terminal because in that way I can catch the errors. If I would run Steam Link via GUI, I wouldn’t see any errors and output logs. So, after I run steamlink in the terminal once again, Steam Link installed some additional packages (shown in the images below)
and after Steam Link installed some packages I was greeted with another error. The library called libbrcmGLESv2.so cannot be found!!!
Of course, before I started with figuring out the solution I wanted to go on every tutorial and leave a f******* comment. This supposed to be one hours project and now we need additional investigation. But that is Linux I supposed. So, I started digging, and at the first sight, I could not find a solution online. Maybe because there was the next release of the Raspberry Pi OS or I didn’t look hard enough. Then I tried to find the missing library in Raspberry Pi and you look at that miracle. There is a library that is missing installed in Raspberry PI OS, it’s just in the new (wrong) location. Look at the image below.
Then I figure out that maybe the solution is easy and we need just to create a symbolic link from the installed library to our /usr/lib folder.
That is done with the next command from /usr/lib folder:
sudo ln -s /opt/vc/lib/libbrcmGLESv2.so libbrcmGLESv2.so
After this, I tried again to run Steal Link and now I got the other error message, so it seems that fixed worked. The second error message was pretty much the same as the first one, missing library, now called libbrcmEGL.so and the solution was the same. Create a symbolic link to /usr/lib folder.
sudo ln -s /opt/vc/lib/libbrcmEGL.so libbrcmEGL.so
And finally we have our Steam Link installed and running.
New problem
I enjoyed in playing PC games with Steam Link on the big screen in the living room, but only for a couple of days and then didn’t have time for a week to play or to finish this post (just take screenshots), but then when I tried to run it again (a week or two later) Steam Link got an update and after this, I got next error.
Aaa, this is starting to hurt. Steam Link with raspberry pi is a greater thing for playing on your Big Screen tv without having to use a 10 to 15 meters long HDMI cable.
But I will try one last thing. Downgrade to Raspberry PI OS Buster instead of Bullseye. So, let’s do that.
And let’s try it all over again.
So, again set up your Raspberry Pi 4 (just skip sudo apt dist-update command because we don’t want to upgrade from Buster). Again edit the config file and overclock a bit. Comment out this line dtoverlay=vc4-kms-v3d again. Now, you will not receive warnings to comment out this line but your steam link will not work. With Buster, there is no need to create links to library files because they are now in the right place. Install Steam Link with command sudo apt install steamlink and then run it.
Initialize Steam Link
Uf, finally. Let’s quick config Steam Link and start streaming and playing games from our PC. First, we need to fix another warning.
Go into Raspberry Pi Configuration then into Performance tab and increase GPU Memory to 128 Mb.
Setup Streaming quality by going to the setting panel and playing around with options.
And now we can press Start Playing and Steam will Lunch in Big Picture mode on your PC and on raspberry pi over Steam Link you will get the same image.
Run game
And at the end the fun part.
Final words
In the end, this was a very existing project. Playing PC games with Steam Link was something that I wanted to do for some time. It seems easy but it’s not. There are a lot of small problems that no one talks about in their tutorials and it can be a lot frustrating. The final product is, for me very useful and performance are OK. It’s not for ranked play or some competitive, but for casual couch gaming, it’s ideal.
Raspberry Pi OS for this post was Buster.
Tell me did you manage to set up raspberry pi 4 as your steam link device. Did you come across some different problems? Check out my other project https://bln364.com/create-snake-game-in-labview-part-1/
Please comment down below and see you in the next one.
Thank you! I’ve been looking for something like this for a while now!! Got me working steamlink and I’m excited to just play on my couch!