I recently went through the trouble of figuring out how to install Steam on the Orange Pi 5 and it worked really well. Now that I’ve already gone through the pain of figuring out how to do this I figured I might as well write one of these guides for the Radxa Rock 5B as well.
The new RK3588/RK3588S boards have much more power than we’ve typically had available to us in the past on ARM boards. With a whopping 8 CPU cores and a Mali 610 GPU the Orange Pi 5 is capable of running Steam using Box64/Box86. It’s even able to play basic games pretty well (with some tinkering usually).
In this guide I’ll show you how to set up Steam on the Radxa Rock 5B and run Stardew Valley on it. You should keep your expectations in line though because there is no native ARM client for Steam. We are using emulation and instruction translation. You will also likely be missing libraries for most games you try which will require some fiddling.
This guide is only for Armbian running the Ubuntu Jammy variant with the Gnome desktop installed (rolling support status). The official Radxa distributions will not have 3D support and I don’t care about whatever other flavor of Linux you are running either. I’m not going to install your preferred flavor of Linux and try to figure out how to do this on there nor am I interested in troubleshooting it. Please don’t ask.
With all of that being said let’s get started!
Hardware Used
The Radxa Rock 5B has 8 CPU cores, a PCIe 3.0 interface and a powerful GPU. It’s one of the top performing single board computers available on Pi Benchmarks.
Links: AliExpress*, Amazon.com*
The official case for the Radxa Rock 5B is actually made of metal and really nice
Links: Amazon.com*, AliExpress*
The official powered cooling solution for the Radxa Rock 5B. Highly recommend to avoid overheating (especially when running games).
Links: AliExpress*
The eMMC module compatible with the Rock 5B. Available from 16GB up to 128GB.
Links: Amazon.com*, AliExpress*, Amazon.com.au*, Amazon.ca*, Amazon.co.uk*, Amazon.co.jp*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*
Installing Dependencies
First we need to install some dependencies that are required by Steam. Use the following lines:
sudo dpkg --add-architecture armhf sudo apt update && sudo apt install build-essential git cmake gcc-arm-linux-gnueabihf libc6-dev-armhf-cross libappindicator1 libnm0 libtcmalloc-minimal4 binfmt-support liblttng-ust-dev libcairo2:armhf libgmp10:armhf libvulkan1:armhf libudev-dev:armhf -y
Next we’re going to install Box64. Paste the following lines in your terminal:
git clone https://github.com/ptitSeb/box64 cd box64 mkdir build; cd build; cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j4 sudo make install
We also need Box86:
cd ~ git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j4 sudo make install
We also need to install the 3D support drivers with the following:
sudo add-apt-repository ppa:liujianfeng1994/panfork-mesa sudo add-apt-repository ppa:liujianfeng1994/rockchip-multimedia sudo apt update sudo apt dist-upgrade -y sudo apt install mali-g610-firmware rockchip-multimedia-config kodi -y
That’s it for the dependencies! Before you continue you should reboot the device with:
sudo reboot
Installing Steam
First we need to configure the environment for Steam. Use the following lines to add two environment variables to your Linux environment:
echo 'export STEAMOS=1 export STEAM_RUNTIME=1 export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 export PAN_MESA_DEBUG=gofaster,gl3' | sudo tee /etc/profile.d/steam.sh source /etc/profile.d/steam.sh
Next we’re going to use Box86’s install_steam.sh script like this:
cd ~/box86 ./install_steam.sh
Installation is now finished!
Launching Steam
I highly recommend running Steam from a terminal/console like this so you can see the error messages (especially when launching new games):
It’s not unexpected for it to crash right after you log in for the first time. Mine crashed after I entered my one-time e-mail code from Steam. Simply launch it again. I had to log in again but it remembered the PC and stuck the second time.
It also crashed once when I installed Stardew Valley. I then just launched Steam again and it downloaded the game and launched perfectly afterward:
Conclusion
This is only the beginning of your journey. I can get you this far. You should expect most games you try to launch to crash with missing libraries. You then typically will install those libraries through apt (or other means) to fix it. In fact Stardew Valley wouldn’t have worked if I hadn’t added several dependencies to the dependency section. It did crash at first when I tried this and it took several hours for me to figure out the right dependencies to install for it.
If you are encountering really strange errors launching other titles you will want to use the trick I shared earlier of launching Steam within your console. You can then report such issues to the developers here on the GitHub issues page for Box64. There is a *ton* of helpful information there (and people) that can help with getting stubborn titles to launch. The developer ptitSeb is an absolute legend as well.
My performance was very, very good on Stardew Valley. It takes a while to load the game for some reason but it runs perfectly smoothly on the Orange Pi 5. Obviously this is not an incredibly demanding game on your GPU and I would recommend sticking to those.
I would absolutely also recommend active cooling on your Radxa Rock 5B. You at a bare minimum need my recommended heat sinks but even with my heat sinks I managed to overheat my Orange Pi 5 (forcing a power cycle) several times since it had no powered cooling. I did not have any overheating with my Radxa Rock 5B because I do actually have the powered fan on this device.
Overall I’m pretty impressed. You’re going to have technical problems with various titles but this absolutely works. You can run games that aren’t super demanding at full speed and enjoy them on a 64-bit ARM board / distribution. Great work to all of the projects involved that have led to this being a reality!
Other Resources
Make sure to check out my Radxa Rock 5B full review here
this is weir but I found your blog because I was having a firmware issue with my CK5.
My name is James Chambers.
Hello James,
Welcome my namesake! I’m glad you were able to find the site. Enjoy and take care!
How can I do this exact same thing for debian? More precisely openfyde. The part where u mention amazingfate repositories and «export PAN_MESA_DEBUG=gofaster,gl3’» will def not work. is there any alternative way?
Hey DarkevilPT,
I have no idea what the amazingfate repositories are. The thing you shared is just an environment variable. I’ve never heard of OpenFyde either. These instructions work fine for Debian.
When I google for OpenFyde:
Chromium OS is an open-source project, used primarily by developers, with code that is available for anyone to checkout, modify, and build.
Google Chrome OS is the Google product that OEMs ship on Chromebooks for general consumer use.
openFyde OS is similar to Chromium OS, but it offers more choices and flexibilities for developers and users. openFyde is started by Fyde Innovations and maintained by the openFyde Authors.
It says this is a fork of ChromiumOS. You’re not even close to Debian. I doubt it even has 3D support enabled for the Rock 5B as not very many operating systems do. That is probably why your environment variables are not having any effect. You are not even *close* to an operating system this guide is written for. ChromiumOS is a derivative of Gentoo Linux supposedly (when they forked it many, many years ago, who knows how much it even resembles Gentoo now).
Sorry, I won’t be able to help about this one!
Ehehe Amazingfate repos are the 3D support drivers you mentioned in the tutorial he is liujianfeng1994 mostly active on Radxa Forums known as Amazingfate
So yes openFyde had the systemd-binfmt.service thing blocked they finally released FydeOS for Rock 5B and OpenFyde next patch the next week.
In short we can now install Steam without the need for the 3D Drivers as those (are already set) all we need apparently is for the systemd-binfmt.service to be restarted and steam will work just fine.
I’m still checking all this to be more precise.
Great tutorial man thanks!
Outstanding tutorial James and although its still early days its encouraging seeing Steam running on these RK3588 SBCs so awesome job pitSeb!
Hey Razor Burn,
Thanks so much! It really runs well. He did a great job. Having powered cooling on my Rock 5B definitely made a major stability difference. I didn’t really experience any crashes on this one and I am sure the ones on my Orange Pi 5 were from not having a powered fan like I have for this board. That’s definitely an upgrade I need to get for my Orange Pi 5 (and probably write an article about it).
Take care!