Steam Installation Tutorial
On most x86 systems all you need to do is… download steam.deb from steamgames.com and install it easy peazy BUT for arm64… its a different fun game.
For this tutorial I opted by using nala so please do:
sudo apt install nala aptitude -y #do your operations with nala instead of apt
(It’s faster - It’s modern - It’s graphically easier - Has better debug)
If this command doesn’t work try the legacy installation:
#Legacy Installation
sudo apt update && sudo apt install git aptitude make python3-pip python3-apt python3-debian pandoc -y
git clone https://gitlab.com/volian/nala.git
cd nala
sudo make install
sudo nala update && sudo nala upgrade -y
cd
Installing Dependencies
First we need to install some dependencies that are required by Steam. Use the following lines:
Find your DRK version here - https://github.com/ptitSeb/box86/blob/master/docs/COMPILE.md
Find updated dependencies here - https://github.com/neofeo/BOX86-BOX64-WINEx86-TUTORIAL
sudo dpkg --add-architecture armhf && sudo nala update && sudo nala install aptitude -y
sudo aptitude install zenity libllvm12:armhf linux-libc-dev:armhf git cmake mpg123 mpg123:armhf libncurses6:armhf libc6:armhf libx11-6:armhf libgdk-pixbuf2.0-0:armhf libgtk2.0-0:armhf libstdc++6:armhf libsdl2-2.0-0:armhf mesa-va-drivers:armhf libsdl1.2-dev:armhf libsdl-mixer1.2:armhf libpng16-16:armhf libcal3d12v5:armhf libsdl2-net-2.0-0:armhf libopenal1:armhf libsdl2-image-2.0-0:armhf libvorbis-dev:armhf libcurl4:armhf libjpeg62:armhf libudev1:armhf libgl1-mesa-dev:armhf libx11-dev:armhf libsmpeg0:armhf libavcodec58:armhf libavformat58:armhf libswscale5:armhf libsdl2-image-2.0-0:armhf libsdl2-mixer-2.0-0:armhf gcc-arm-linux-gnueabihf cmake git cabextract mesa-va-drivers:armhf libgtk2.0-0:armhf libsdl2-image-2.0-0:armhf libsdl1.2debian:armhf libopenal1:armhf libvorbisfile3:armhf libgl1:armhf libjpeg62:armhf libcurl4:armhf libasound2-plugins:armhf libglu1-mesa -y
sudo nala update && sudo nala install mesa-va-drivers:armhf libgtk2.0-0:armhf libsdl2-image-2.0-0:armhf libsdl1.2debian:armhf libopenal1:armhf libvorbisfile3:armhf libgl1:armhf libjpeg62:armhf libcurl4:armhf libasound2-plugins:armhf libc6-dev-armhf-cross git cmake gcc-arm-linux-gnueabihf libllvm12:armhf libncurses6:armhf libc6:armhf libx11-6:armhf libgdk-pixbuf2.0-0:armhf libstdc++6:armhf libsdl2-2.0-0:armhf libsdl1.2-dev:armhf libsdl-mixer1.2:armhf libpng16-16:armhf libcal3d12v5:armhf libsdl2-net-2.0-0:armhf libvorbis-dev:armhf libudev1:armhf libgl1-mesa-dev:armhf libx11-dev:armhf libsmpeg0:armhf libavcodec58:armhf libavformat58:armhf libswscale5:armhf libsdl2-mixer-2.0-0:armhf cabextract libappindicator1 libnm0 libtcmalloc-minimal4 binfmt-support liblttng-ust-dev libcairo2:armhf libgmp10:armhf libvulkan1:armhf libudev-dev:armhf libsdl2-dev libpng-dev:armhf libcups2:armhf libcups2 -y && sudo nala upgrade -y
git clone --depth 1 https://github.com/ptitSeb/box64
git clone --depth 1 https://github.com/ptitSeb/box86
cd ~/box86; mkdir build; cd build; cmake ../ -DRK3588=1; make -j$(nproc); sudo make install
cd ~/box64; mkdir build; cd build; cmake ../ -DRK3588=1; make -j$(nproc); sudo make install
cd /usr/lib/arm-linux-gnueabihf/
sudo ln -s libpng16.so libpng12.so.0
sudo rm /usr/include/drm/drm_fourcc.h && sudo rm /usr/include/drm/lima_drm.h && sudo apt -y --fix-broken install && sudo aptitude upgrade -y
echo 'export STEAMOS=1
export STEAM_RUNTIME=1
export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1' | sudo tee /etc/profile.d/steam.sh
#if you have a high resolution screen use this instead
#echo 'export GDK_SCALE=2' | sudo tee -a /etc/profile.d/steam.sh
source /etc/profile.d/steam.sh
~/box86/install_steam.sh
#rm ~/.local/share/Steam -rf
#steam
Fyde oficial tutorial: https://fydeos.io/docs/knowledge-base/recipes/install-box64-steam-wine-on-arm64-device/#an-zhuang-steam
Final Steps we need for ChromiumOS (FydeOS/openFyde):
Steam on ARM64 trick:
#create steam entry on the shelf
sudo cp -r ~/steam/share/* /usr/share/ | cat ~/steam/share/applications/steam.desktop | sed 's#Exec=/usr/bin#Exec=/usr/local/bin#g' | sudo tee /usr/share/applications/steam.desktop
sudo cp -r ~/steam/share/* /usr/share/ && sudo cat ~/steam/share/applications/steam.desktop && sudo sed 's#Exec=/usr/bin#Exec=/usr/local/bin#g' && sudo tee /usr/share/applications/steam.desktop
#start steam with this:
/usr/local/bin/steam
Best debug is by Zenity:
sudo aptitude install zenity -y
#select n then Y and start steam with
/usr/local/bin/steam
#re-do the process with
rm ~/.local/share/Steam -rf
For all games set settings to -force-opengl and maybe install proton experimental like always… after installing steam perform a steam restart bugs may follow and retry is key.
Enhancing Gaming Experience
echo 'vm.max_map_count = 2147483642' >> /etc/sysctl.d/99-sysctl.conf
sysctl -p
Alternatively if you can use the NicoD Script (Optional might not work of ChromiumOS):
_ __ _ ____ ______ _
/ | / /(_)_____ ____ / __ \ / ____/____ _ ____ ___ (_)____ ____ _
/ |/ // // ___// __ \ / / / / / / __ / __ `// __ `__ \ / // __ \ / __ `/
/ /| // // /__ / /_/ // /_/ / / /_/ // /_/ // / / / / // // / / // /_/ /
/_/ |_//_/ \___/ \____//_____/ \____/ \__,_//_/ /_/ /_//_//_/ /_/ \__, /
__ _ _____ _ __/____/
/ / (_)____ __ __ _ __ / ___/ _____ _____ (_)____ / /_
/ / / // __ \ / / / /| |/_/ \__ \ / ___// ___// // __ \ / __/
/ /___ / // / / // /_/ /_> < ___/ // /__ / / / // /_/ // /_
/_____//_//_/ /_/ \__,_//_/|_| /____/ \___//_/ /_// .___/ \__/
/_/
git clone https://github.com/NicoD-SBC/armbian-gaming.git
cd armbian-gaming
/bin/bash ./armbian-gaming.sh
More info here: https://github.com/NicoD-SBC/armbian-gaming
Steam on Ampere ARM64: https://github.com/AmpereComputing/Steam-on-Ampere