Box86 Guide to install and setup Box86 on Fedora L4T
Introduction
Running Linux version of Steam using box86 using chroot and install Wine.
Note: Box86 uses sofware multithreaded-cpu based GPU emulation.
Parts of this guide are based on this article by rna from armbian forum https://forum.armbian.com/topic/16584-install-box86-on-arm64/
DISCLAIMER: This guide is only intended for L4T Fedora users. Ubuntu users should use the L4T Megascript to install box64 and box86.
Setting up
1. Host side
We need debootstrap
to create the chroot and schroot to enter the chroot. We will also need to install virgl-test-server
to have GPU acceleration.
Install build dependencies
Copy sudo dnf install --refresh -y debootstrap arch-install-scripts virglrenderer-test-server xorg-x11-server-Xephyr
Copy sudo mkdir -p /srv/chroot/debian-armhf
Create the chroot using debootstrap
Copy sudo debootstrap --include=nano,sudo,git,wget,mesa-vulkan-drivers,libglx-mesa0,libegl-mesa0,libglapi-mesa,libgl1,zenity,nginx,xterm,ca-certificates,gnupg,libnm0 --arch armhf --foreign testing /srv/chroot/debian-armhf http://deb.debian.org/debian
Run debootstrap second stage
Copy sudo chroot /srv/chroot/debian-armhf /debootstrap/debootstrap --second-stage
2. Chroot side
Now you should be able to schroot by typing
Copy sudo arch-chroot /srv/chroot/debian-armhf
Edit the chroot's default environment. You are free to set another display number (DISPLAY=
) for Xephyr (starting from :2 when using Xephyr).
Copy nano /etc/profile.d/steam.sh
Append the following variables at the end of the file then save:
Copy export LANGUAGE="C"
export LC_ALL="C"
export DISPLAY=:0
export STEAMOS=1
export STEAM_RUNTIME=1
Fix apt and install box86
Copy apt update -y && apt -f -y install && apt upgrade -y
wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list
wget -qO- https://itai-nelken.github.io/weekly-box86-debs/debian/KEY.gpg | apt-key add -
apt update && apt install -y box86
Before we proceed further in chroot, we need to copy binfmt.d config from chroot to host and restart systemd-binfmt to make box86 works automaticly with bash scripts that includes i386 files.
Copy exit
sudo cp /srv/chroot/debian-armhf/etc/binfmt.d/box86.conf /etc/binfmt.d/box86.conf
sudo systemctl restart systemd-binfmt
Create your <username>
and grant it sudo privileges
Copy sudo arch-chroot /srv/chroot/debian-armhf
echo "<username> ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
useradd -u 1000 --shell /bin/bash -rmUG sudo,video,audio,render <username>
exit
Steam
Be sure that virgl-server is still running, then run :
Copy sudo arch-chroot /srv/chroot/debian-armhf /bin/su - <username>
wget https://steamcdn-a.akamaihd.net/client/installer/steam.deb
sudo apt install -y ./steam.deb
setarch -L linux32 steam -no-browser -noreactlogin -no-cef-sandbox steam://open/minigameslist
You should be able to run steam in the chroot using the following command :
Copy setarch -L linux32 steam -no-browser -noreactlogin -no-cef-sandbox steam://open/minigameslist