[Guide] Steam Installation Tutorial for OpenFyde - ChromiumOS on aarch64

  • Steam is working with this guide! It has been a really hard to get this working hope this lasts!
  • All works under the standard debian penguin! Not yet tested via ubuntu lxc container. 08/12/2023.
  • If anyone finds an better way to install it please be my guest and share!
  • A more updated follow-up will continue here: https://community.fydeos.io/t/topic/25188/1


Follow the process step by step this aint rocket science here.

First we need to install some dependencies that are required by Steam. Use the following lines for indulgency:

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

#Crosh ctrl alt t, type: shell
vmc container termina penguin --privileged true

sudo dpkg --add-architecture armhf && sudo apt update && sudo apt install aptitude -y

sudo aptitude install -y zenity build-essential git cmake cabextract gcc-arm-linux-gnueabihf libc6-dev-armhf-cross libappindicator1 libnm0 libtcmalloc-minimal4 liblttng-ust-dev libcairo2 libgmp10 libvulkan1 libudev-dev libc6 libx11-6 libgdk-pixbuf2.0-0 libgtk2.0-0 libstdc++6 libsdl2-2.0-0 mesa-va-drivers gdebi-core libsdl1.2-dev libsdl-mixer1.2 libpng16-16 libcal3d12v5 libsdl2-net-2.0-0 pciutils libopenal1 libsdl2-image-2.0-0 libvorbis-dev libcurl4 osspd pulseaudio libjpeg62 libudev1 libgl1-mesa-dev libsnappy1v5 libx11-dev libsmpeg0 libavcodec58 libavformat58 libswscale5 libmyguiengine3debian1v5 libsdl2-mixer-2.0-0 libnss3 libdbus-glib-1-2 libudev1 libnspr4 libc6-dev-armhf-cross linux-libc-dev-armhf-cross g++-arm-linux-gnueabihf libgudev-1.0-0 libusb-1.0-0 libglvnd0 libmaliit-glib-dev libdrm-dev libgles2-mesa-dev libnm-dev libvulkan-dev libappindicator1 binfmt-support libfluidsynth2 libinstpatch-1.0-2 libjack-jackd2-0 libegl1-mesa cmake cabextract p7zip-full libncurses6 libsdl2-dev unzip libgles-dev mesa-va-drivers libsdl-mixer1.2 libpng16-16 libsdl2-net-2.0-0 libopenal1 libsdl2-image-2.0-0 libjpeg62 libudev1 libgl1-mesa-dev libx11-dev libsdl2-image-2.0-0 libsdl2-mixer-2.0-0 libvulkan1 libgl1-mesa-glx libgles2-mesa libsdl2-2.0-0:arm64 libsdl2-2.0-0 libsdl2-mixer-2.0-0:arm64 libgtk3-nocsd0 libnss3 libnm0 libdbus-glib-1-2 libudev1 libnspr4 libgudev-1.0-0 libxtst6 libsm6 libice6 libusb-1.0-0 libmodplug1 libmpg123-0 libopusfile0 libreadline8 libsamplerate0 libsdl2-mixer-2.0-0 libvorbisfile3 nano lsof gedit cabextract neofetch && sudo apt install --reinstall libgl1-mesa-glx libva-x11-2 -y && sudo ldconfig && sudo aptitude upgrade -y && sudo apt -y --fix-broken install

git clone --depth 1 https://github.com/ptitSeb/box64
git clone --depth 1 https://github.com/ptitSeb/box86
cd ~/box64; mkdir build; cd build; cmake ../ -DRK3588=1; make -j$(nproc); sudo make install
cd ~/box86; mkdir build; cd build; cmake ../ -DRK3588=1; make -j$(nproc); sudo make install; cd

cd /usr/lib/arm-linux-gnueabihf/ && sudo ln -sfv libpng16.so.16 libpng12.so.0 && cd

sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list && sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list && wget -qO- https://ryanfortner.github.io/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg && wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg && sudo aptitude install libd3dadapter9-mesa -y && sudo aptitude update && sudo aptitude upgrade -y

#Hold a beer it will take a while.

🚦sudo nano .profile (step not really needed skip)

sudo nano .profile

export SDL_VIDEODRIVER=wayland
export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0
export WAYLAND_DISPLAY=wayland-0
export GDK_BACKEND=wayland,x11
export XDG_SESSION_TYPE=wayland
export XDG_DATA_HOME="$HOME/.local/share:/root/.local/share:/usr/local/share/:/usr/share/"
export XDG_DATA_DIRS="$HOME/.local/share:/root/.local/share:/usr/local/share/:/usr/share/"
export DISPLAY=:0
export XSOCKET=/tmp/.X11-unix/X1
export _JAVA_AWT_WM_NONREPARENTING=1

sudo nano .bashrc

export STEAMOS=1
export STEAM_RUNTIME=1
export DBUS_FATAL_WARNINGS=0
#export LIBGL_ALWAYS_SOFTWARE=1
#export GALLIUM_DRIVER=virpipe
#GALLIUM_DRIVER=virpipe BOX64_LOG=1 BOX86_LOG=1 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/local/bin/steam -no-cef-sandbox -noreactlogin steam://open/minigameslist "$@"

There also seems to be a long-standing bug right now with binfmt-support on Debian. The working solution of both the box86.conf and box64.conf files to put in /usr/share/binfmts/.

This hack is what makes Steam possible on ChromiumOS on aarch64!

sudo nano /usr/share/binfmts/box86.conf

package box86
interpreter /usr/local/bin/box86
magic \x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00
mask \xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff

sudo nano /usr/share/binfmts/box64.conf

package box64
interpreter /usr/local/bin/box64
magic \x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00
mask \xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff

After copying the contents of these files into their respective directories, you can run the following commands to import them and verify that they are functioning correctly:

Exit termina with sudo poweroff
Go to Crosh > shell : vmc container termina penguin --privileged true
image

sudo update-binfmts --import box86.conf
sudo update-binfmts --import box64.conf
sudo update-binfmts --enable
sudo update-binfmts --display
sudo systemctl restart systemd-binfmt

Output must say enabled in all 3 otherwise restart the container: sudo poweroff.


Install steam now:

~/box86/install_steam.sh
🚦Manually Install (better follow box86 install_script! instead) wget https://repo.steampowered.com/steam/archive/stable/steam_latest.deb -O /tmp/steam.deb || error "Failed to download steam.deb" sudo apt install --no-install-recommends -y /tmp/steam.deb || error "Failed to install steam.deb"

Without this steam wont work neither games will start so you MUST install:

sudo apt install 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 osspd:armhf pulseaudio:armhf libjpeg62:armhf libudev1:armhf libgl1-mesa-dev:armhf libsnappy1v5:armhf libx11-dev:armhf libsmpeg0:armhf libboost-filesystem1.81.0:armhf libboost-program-options1.81.0:armhf libavcodec58:armhf libavformat58:armhf libswscale5:armhf libmyguiengine3debian1v5:armhf libboost-iostreams1.81.0:armhf  libsdl2-mixer-2.0-0:armhf libnss3:armhf libnm0:armhf libdbus-glib-1-2:armhf libudev1:armhf libnspr4:armhf libgudev-1.0-0:armhf libusb-1.0-0:armhf libappindicator1:armhf -y

Start steam with: steam --reset

🚦Other Startup Options for Troubleshooting
  • GALLIUM_DRIVER=llvmpipe yourapplication, can run 4.5 applications on the CPU.
  • GALLIUM_DRIVER=softpipe yourapplication, can run 3.3 on the CPU, slower.
  • GALLIUM_DRIVER=virpipe yourapplication, can connect to virglrenderer’s virgl_test_server.
  • LIBGL_ALWAYS_SOFTWARE=1

DISPLAY (This sets the X11 Display instance, and defaults to :0)
WAYLAND_DISPLAY (This sets the Wayland Display instance, and defaults to wayland-0)
GDK_BACKEND (This sets the default display environment for gtk3/4 applications. It can be either x11 or wayland)
CLUTTER_BACKEND (This sets the default display environment for clutter applications. It can be either x11 or wayland)

/usr/local/bin/steam
/steam/bin/steam
/home/$user/.local/share/Steam/

#GALLIUM_DRIVER=virpipe BOX64_LOG=1 BOX86_LOG=1 BOX86_NOVULKAN=1 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/lib/steam/bin_steam.sh -no-cef-sandbox -noreactlogin steam://open/minigameslist "$@"
#GALLIUM_DRIVER=llvmpipe BOX64_LOG=1 BOX86_LOG=1 BOX86_NOVULKAN=1 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/lib/steam/bin_steam.sh -no-cef-sandbox -noreactlogin steam://open/minigameslist "$@"
#GALLIUM_DRIVER=softpipe BOX64_LOG=1 BOX86_LOG=1 BOX86_NOVULKAN=1 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/lib/steam/bin_steam.sh -no-cef-sandbox -noreactlogin steam://open/minigameslist "$@"
#LIBGL_ALWAYS_SOFTWARE=1 BOX64_LOG=1 BOX86_LOG=1 BOX86_NOVULKAN=1 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/lib/steam/bin_steam.sh -no-cef-sandbox -noreactlogin steam://open/minigameslist "$@"
#–use-egl-surfaceless --use-gles steam://open/minigameslist "$@"
#setarch -L linux32 steam -no-browser -noreactlogin -no-cef-sandbox steam://open/minigameslist
#LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=virpipe BOX64_LOG=1 BOX86_LOG=1 BOX86_NOVULKAN=1 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/lib/steam/bin_steam.sh -no-cef-sandbox -noreactlogin steam://open/minigameslist "$@"
steam --reset

Run Games with launch options: -force-opengl and set a stable proton
-soft
-gl -nofbo
-soft -sw -w 640 -h 480
-gl
-dev -sw

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 keep this in mind.


Enhancing Gaming Experience

echo 'vm.max_map_count = 2147483642' >> /etc/sysctl.d/99-sysctl.conf
sysctl -p 

- Troubleshooting fix solutions and more problems than solutions:

Reinstall Steam » rm -rf ~/.local/share/Steam/
Shutdown Steam » systemctl --user restart sommelier{,-x}@{0,1}.service
sudo poweroff » does the trick too
lspci: not found - sudo apt install pciutils -y; sudo apt show pciutils
Can’t find ‘steam-runtime-check-requirements’ It means most likely that your binfmts isnt enabled this is a must have!
For some sanity: sudo apt install gnome-system-monitor -y ; gnome-system-monitor

Problem without solution plz Help!


steam-runtime-launcher-service keeps crashing on startup, disabling
Some stupid interface glitch that I couldnt yet figure… but it starts ocasionally - most likely is kernel panfrost drivers missing repositories… best to re-do the whole guide.

systemctl --user restart cros-garcon.service
systemctl --user restart sommelier{,-x}@{0,1}.service
systemctl --user daemon-reload

Working drivers for steam on multi-arch
sudo aptitude install libc6 libx11-6 libgdk-pixbuf2.0-0 libgtk2.0-0 libstdc++6 libsdl2-2.0-0 mesa-va-drivers libsdl1.2-dev libsdl-mixer1.2 libpng16-16 libcal3d12v5 libsdl2-net-2.0-0 libopenal1 libsdl2-image-2.0-0 libvorbis-dev libcurl4 osspd pulseaudio libjpeg62 libudev1 libgl1-mesa-dev libsnappy1v5 libx11-dev libsmpeg0 libboost-filesystem1.81.0 libboost-program-options1.81.0 libavcodec58 libavformat58 libswscale5 libmyguiengine3debian1v5 libboost-iostreams1.81.0 libsdl2-mixer-2.0-0 libnss3 libnm0 libdbus-glib-1-2 libudev1 libnspr4 libgudev-1.0-0 libusb-1.0-0 libappindicator1 -y


If on other lxc containers sometimes reinstalling google guest-tools where aptitude uninstalls and such is helpfull:
sudo aptitude install cros-garcon cros-host-fonts cros-notificationd cros-sftp cros-sommelier bash-completion bzip2 cros-sommelier-config curl dbus-user-session dbus-x11 file fuse git gnupg iputils-ping iptables less libxss1 man-db pulseaudio udev unzip usbutils vim wget xz-utils cros-apt-config cros-logging cros-sommelier-config cros-sudo-config cros-systemd-overrides cros-wayland gtk2-engines-pixbuf libgtk2.0-0 libgtk-3-0 gtk2-engines-murrine -y

Manually Installing Steam by Script (Nice alternative - just avoid)

Lets make our ~/box86/install_steam.sh script

sudo nano install_steam.sh

#!/bin/bash

# create necessary directories
mkdir -p ~/steam; mkdir -p ~/steam/tmp; cd ~/steam/tmp

# download latest deb and unpack
wget https://cdn.cloudflare.steamstatic.com/client/installer/steam.deb; ar x steam.deb; tar xf data.tar.xz; rm ./*.tar.xz ./steam.deb; mv ./usr/* ../; cd ../ && rm -rf ./tmp/

echo "#!/bin/bash
export STEAMOS=1; export STEAM_RUNTIME=1; export DBUS_FATAL_WARNINGS=0
~/steam/bin/steam $@"> steam

# make script executable and move
chmod +x steam; sudo mv steam /usr/local/bin/

/bin/bash ./install_steam.sh


Fyde oficial tutorial: https://fydeos.io/docs/knowledge-base/recipes/install-box64-steam-wine-on-arm64-device/#an-zhuang-steam


— Nico.D Gaming Script

Alternatively if you can use the NicoD Script (Optional might not work on 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
Better tutorial: https://ivonblog.com/en-us/posts/linux-phone-box86-steam/


🚦Alternative Box Steam Installation Method
sudo dpkg --add-architecture armhf && sudo apt update && sudo aptitude -y install cmake cabextract p7zip-full 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 libsdl-mixer1.2:armhf libpng16-16:armhf libsdl2-net-2.0-0:armhf libopenal1:armhf libsdl2-image-2.0-0:armhf libjpeg62:armhf libudev1:armhf libgl1-mesa-dev:armhf libx11-dev:armhf libsdl2-image-2.0-0:armhf libsdl2-mixer-2.0-0:armhf libvulkan1:armhf

sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list \
&& sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list \
&& wget -qO- https://ryanfortner.github.io/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg \
&& wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg \
&& sudo apt update \
&& sudo apt install box86-rk3588 box64-rk3588 -y

steam.sh

wget https://github.com/cobalt2727/L4T-Megascript/blob/master/scripts/games_and_emulators/steam.sh
~/steam.sh
# installing dependencies
sudo apt install -y libegl1-mesa:armhf libgl1-mesa-glx:armhf libgles2-mesa:armhf libsdl2-2.0-0:arm64 libsdl2-2.0-0:armhf libsdl2-mixer-2.0-0:arm64 libgtk3-nocsd0:armhf libnss3:armhf libnm0:armhf libdbus-glib-1-2:armhf libudev1:armhf libnspr4:armhf libgudev-1.0-0:armhf libxtst6:armhf libsm6:armhf libice6:armhf libusb-1.0-0:armhf libnss3 libnm0 libdbus-glib-1-2 libudev1 libnspr4 libgudev-1.0-0 libxtst6 libsm6 libice6 libusb-1.0-0 || error "Could not install steam dependencies"

echo "Installing steam.deb"
wget https://steamcdn-a.akamaihd.net/client/installer/steam.deb -O /tmp/steam.deb || wget https://repo.steampowered.com/steam/archive/stable/steam_latest.deb -O /tmp/steam.deb || error "Failed to download steam.deb"
sudo apt install --no-install-recommends -y /tmp/steam.deb || error "Failed to install steam.deb"
hash -r

sudo mkdir -p /usr/local/bin /usr/local/share/applications
# if a matching name binary is found in /usr/local/bin it takes priority over /usr/bin
export STEAMOS=1
export STEAM_RUNTIME=1
export DBUS_FATAL_WARNINGS=0
GALLIUM_DRIVER=virpipe BOX64_LOG=1 BOX86_LOG=1 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/lib/steam/bin_steam.sh -no-cef-sandbox -noreactlogin steam://open/minigameslist "$@"

rm -f /home/${USER}/Desktop/steam.desktop
rm ~/.local/share/Steam -rf

# set execution bit
sudo chmod +x /usr/local/bin/steam

# copy official steam.desktop file to /usr/local and edit it
# we can't edit the official steam.desktop file since this will get overwritten on a steam update
# if a matching name .desktop file is found in /usr/local/share/applications it takes priority over /usr/share/applications
sudo cp /usr/share/applications/steam.desktop /usr/local/share/applications/steam.desktop
sudo sed -i 's:Exec=/usr/bin/steam:Exec=/usr/local/bin/steam:' /usr/local/share/applications/steam.desktop

# remove deb
rm /tmp/steam.deb
rm -f /home/${USER}/Desktop/steam.desktop
rm ~/.local/share/Steam -rf

steam +open steam://open/minigameslist

Testing an alternative to ~/box86/install_steam.sh

Steam linux startup commands:

steam +open steam://open/minigameslist
steam -cef-disable-gpu
steam -no-cef-sandbox
LIBGL_ALWAYS_SOFTWARE=1 steam
steam -offline
steam --reset
steam -clearbeta
steam --flushconfig
steam -vgui
BOX86_NOVULKAN=1
DRI_PRIME=0 steam
– Reset Steam (to Reinstall it)
rm -rf ~/.cache/nvidia/GLCache
rm -rf ~/.steam/ ~/.steampath ~/.steampid
rm -rf ~/.local/share/Steam/ # to reinstall steam
rm -rf ~/.local/share/Steam/steamui
rm -rf ~/.local/share/Steam/package/beta
rm -rf ~/.local/share/Steam/ubuntu12_32/steam-runtime
rm -rf ~/.local/share/Steam/ubuntu12_32
rm -rf ~/.steam/steam/ubuntu12_32
– Clear any mistaken issues/drivers
sudo apt purge xdg-desktop-portal-* -y
sudo apt remove --purge ^nvidia-.*
sudo apt install gnome-system-tools -y
sudo apt install --reinstall libnvidia-egl-wayland1 -y
– To find and kill the process manuall
ps -A | grep steam
killall -9 steam steamwebhelper
systemctl --user restart sommelier{,-x}@{0,1}.service

Steam console parameters

🚦Steam Console Parameters
-480p - Run tenfoot in 480p rather than 1080p
-720p - Run tenfoot in 720p rather than 1080p
-accesscode -
-all_languages - show longest loc string from any language
-batterytestmode - rapidly cycle battery percentages for testing
-bigpicture - Start in Steam Big Picture mode
-blefw -
-cafeapplaunch - Launch apps in a cyber cafe context
-candidates - Show libjingle candidates for local connection as they are processed
-ccsyntax - Spew details about the localized strings we load
-cef-delaypageload - Enable early-out for known page loads
-cef-disable-breakpad - disables breakpad in crash dumps
-cef-disable-d3d11 - disable D3D11 usage in CEF
-cef-disable-delaypageload - Disable early-out for known page loads
-cef-disable-gpu-compositing - Disable GPU accelerated compositing in browsers
-cef-disable-gpu - Disable GPU usage in CEF (force software rendering/compositing)
-cef-disable-hang-timeouts - disables GPU and renderer hang timeouts
-cef-disable-js-logging - disables console and log file logging of JS console events
-cef-disable-occlusion - disables Chromium window occlusion testing on Windows
-cef-disable-renderer-restart - Disable auto-restart of renderer process for existing browsers
-cef-disable-sandbox - disables sandboxing in CEF
-cef-disable-seccomp-sandbox - disables CEF seccomp-bpf sandbox on Linux
-cef-enable-debugging - enables Chromium remote debugging, defaulting to localhost:8080
-cef-enable-gpu-debugging - Enable GPU debugging in Chromium, costs a glGetError() call after every command
-cef-enable-samesite-by-default-cookies - Treat unspecified samesite as samesite=lax
-cef-force-32bit - forces usage of 32-bit steamwebhelper when available
-cef-force-gpu - Force enable GPU acceleration
-cef-force-sandbox - force sandboxing in CEF
-cef-full-memory-crash-report - enables full crash dumps
-cef-ignore-certificate-errors - allow self-signed certificates
-cef-in-process-gpu - runs CEF GPU processing as thread of browser process
-cef-no-linux-angle - Don't use ANGLE for rendering backend on Linux
-cef-single-process - runs CEF processes in single process
-cef-use-shell-exec - Launch CEF process via sub-shell
-cef-verbose-js-logging - enables verbose logging of JS console events
-cef-verbose-logging - enables verbose logging from CEF
-cef-winxp - force running the WinXP compatible CEF browser
-clientui -
-community - Set the community URL
-complete_install_via_http - Run installation completion over HTTP by default
-console -
-controllertypeoverride -
-debugbutton - Show debug button in content frame header
-debug_steamapi - enables logging of Steam API functions
-dev -
-disable-winh264 - disables loading winh264.dll
-disablehighdpi - disables high-DPI support in CEF
-disablepartnerlicenses - disable automatically granted partner licenses
-dumpvideostream - Dump the game stream as an elementary video file
-enable-desktop-gl-fallback -
-enable-keyring - enables CEF usage of the Chromium keyring
-enablealloobesteps -
-fasthtml - Enable fast child html for any platform
-flushconfig -
-forcecontrollerappid - Force a Specific AppID for Steam Controller Config - Prevents context/app switching from changing configuration
-forcedeckcontroller -
-forcedesktopscaling - Scale the desktop UI
-forceservice - Run Steam Client Service even if Steam has admin rights
-forcevgui -
-friendsui -
-fs_log - Log file system accesses
-fs_logbins - Log the binaries we load during operation
-fs_target - Set target syntax
-fulldesktopres - Run tenfoot in full desktop resolution rather than 1080p, overrides -720p as well.
-fullscreen - Set BPM to fullscreen
-fullscreenopengl - Use the full screen OpenGL render for the UI
-gamepadui - Start in gamepadui mode
-help - Set the help/support URL
-hidelibmenu -
-html-perf-monitor - Draws html perf data
-init_universe -
-language - Set Steam client UI language
-login - Automatically logs in user
-lognetapi - logs all P2P networking info to log/netapi_log.txt
-log_voice - writes voice chat data to the logs/voice_log.txt file
-master_ipc_name_override -
-musiccrawltrack - Add menu to crawl track and print result to console
-musicdbforcerebuild - Forces a rebuild and recrawl of the music database
-net_fake_state - Set initial value for net_fake_state
-net_start_wifi_disabled - Set the initial value for wifi enabled to false.  (Useful when emulating SteamDeck)
-no-cef-sandbox - disables sandboxing in CEF
-no-dwrite - forces CEF to use GDI text even if DWrite support is available
-no-shared-textures - forces overlay to avoid sharing texture handles with game process
-nobigpicture - Start in regular mode (force Big Picture mode off)
-noconsole -
-nocrashmonitor -
-nofasthtml - Disables new fast child hwnd direct in vgui hwnd rendering path
-nofriendsui -
-nointro - Skip intro movie
-noshaders - Disable the shader manager
-offlinemode - Always attempt to start in offline mode
-oldtraymenu - use old tray menu instead of browser-based menu
-openalldevtools - Open Chrome devtools on launch for every HTML window
-opendevtools - Open Chrome devtools for shared JS context (offscreen window) on launch
-opengl - Use the OpenGL render for the UI
-openoverlaydevtools - Open Chrome devtools on creation of any overlay browsers
-overlaytestmode - Forces overlay testmode mode for debugging
-perfectworld - Identifies processes that were launched by the Perfect world launcher
-pid - Pid that we should be watching for
-private_ip_override -
-quicklogin - Set the base used to construct quick login URLs
-rememberpassword - If logging in user with credentials specified on the command line, proceed as if 'remember my password' had been enabled
-showallbetas - Disable client beta filtering
-silent - Silent startup mode (tray mode only)
-single_core - Force Steam to run on your primary CPU only
-skipstreamingdrivers - Skip streaming driver checks
-steamos -
-store - Set the store URL
-storebeta - 0
-system-composer - Force the use of the system browser composer
-tcp - forces connection to Steam backend to be via TCP - deprecated, will be replaced by websockets only for TCP soon
-tenfoot - Start in Steam Big Picture mode
-testbutton - Show test button on main menu
-testssa - force display of SSA
-teststoragedata - Enable test storage data
-toggle-overlay-html-mode - Disables new faster overlay HTML path (or enables if on a branch it's not on by default for)
-udpforce - forces connection to Steam backend to be via UDP - deprecated, won't exist for too long
-unhidefriendsui -
-userchooser - Sends the user to the User Chooser even if they have 0 or 1 accounts
-vgui - Start in vgui mode
-vguifocus - Print out details of which panel has keyboard focus
-vguimessages - set to see debug vgiui2 messages
-voicerelay - Only allow 'relay' connections for voice (testing).
-vrdisable - Disable VR - never even try to load OpenVR DLLs
-vrforce - Always perform Hmd status check even if we crashed the last time we tried
-vronly -
-vrskip - Skip VR initialization entirely no matter who asks for it
-websocket - forces connection to Steam backend to be via WebSocket
-websocketignorecertissues - says it's ok to ignore cert validation issues if using WebSocket connections, for dev use only
-windowed - Run Steam tenfoot mode in a window rather than a fullscreen borderless window
countrycode =  -

— Fex-Emulator (Couldn’t make it work) 🥲

🚦Fex-Emu Installation Method

image

Github | Steam Instructions

Install Fex-Emu:

The process is ‘slow’ have a coffee have press Y a few times

curl --silent https://raw.githubusercontent.com/FEX-Emu/FEX/main/Scripts/InstallFEX.py --output /tmp/InstallFEX.py && python3 /tmp/InstallFEX.py && rm /tmp/InstallFEX.py

Install Steam:

wget https://repo.steampowered.com/steam/archive/stable/steam_latest.deb -O /tmp/steam.deb || error "Failed to download steam.deb"
sudo apt install --no-install-recommends -y /tmp/steam.deb || error "Failed to install steam.deb"

#Run as:
FEX_TS0ENABLED=0
LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=virpipe FEXBash steam


Debug and Errors:

Reinstall steam by typing:

rm ~/.local/share/Steam -rf
FEXBash steam

(Steam by command for the Pros):

mkdir ~/Steam && cd ~/Steam
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
FEXBash ./steamcmd.sh
--
steam>


2 Likes