BlueMaxima's Flashpoint is a webgame preservation project with the likes of Flash, Shockwave, HTML5, and many more technologies under its belt.
https://bluemaxima.org/flashpoint/
Steam Deck ships with an immutable rootfs and we like to keep it that way. Following is a guide on getting Flashpoint up and running on your Deck!
This will require your sudo password for the setup
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local
Add these two lines to ~/.bashrc
and reload your terminal
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/.local/podman/bin:$PATH
distrobox create -i docker.io/library/archlinux -n fp-arch
distrobox enter fp-arch
sudo pacman -Syu qemu-full php
distrobox-export --bin /usr/bin/qemu-system-i386 --export-path ~/.local/bin
distrobox-export --bin /usr/bin/php --export-path ~/.local/bin
exit
Choose where you want to put Flashpoint and change to directory. I will use ~/Games
in my example.
mkdir ~/Games
cd ~/Games
wget https://bluemaxima.org/flashpoint/Flashpoint%2011.1%20Infinity.exe
7z x Flashpoint\ 11.1\ Infinity.exe
cd Flashpoint\ 11.1\ Infinity
rm -rf Launcher/
Download this file and place in that Flashpoint 11.1 Infinity folder
https://bluepload.unstable.life/flashpoint.tar.gz
tar xvf flashpoint.tar.gz
rm flashpoint.tar.gz
And because I forgot to include the launcher script in the download...
Save these contents to start-flashpoint.sh
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
export PATH+=":$SCRIPT_DIR/FPSoftware/FPWine-8.0/bin"
cd $SCRIPT_DIR/Launcher
./flashpoint-launcher
killall php
killall qemu-system-i386
Now run start-flashpoint.sh
and you should be good to go!
chmod +x start-flashpoint.sh
./start-flashpoint.sh
Some Shockwave titles fail to render 3D because lib32-libxcomposite
is not installed on Valve's read only root fs.
Here are the steps to include this locally
Edit start-flashpoint.sh
and change the PATH line to match the follwing
export PATH="$SCRIPT_DIR/FPSoftware/FPWine-8.0:$PATH"
Go to FPSoftware/FPWine-8.0
cd FPSoftware/FPWine-8.0
And create a file named wine
with the follwing contents
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
LD_PRELOAD=$SCRIPT_DIR/libXcomposite.so.1.0.0 $SCRIPT_DIR/bin/wine "$@"
Then make it executable
chmod +x wine
Download this file and place next to the wine
file you just created
https://anonfiles.com/Tbf9g7V0ye/libXcomposite.so.1.0_0
Now you should have 3D in Shockwave games if it was missing (Supersonic RC is a good test. Get in game and see if it renders past the menu)
line 4 of start-flashpoint.sh should be
cd "$SCRIPT_DIR/Launcher"
line 3 of wine should be
LD_PRELOAD="$SCRIPT_DIR/libXcomposite.so.1.0.0" "$SCRIPT_DIR/bin/wine" "$@"
even with the fix of the wine file shockwave 3D games still don't work unless you install lib32-libxcomposite with pacman.