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)
Decided to try this again from scratch.
Still had to change line 4 of start-flashpoint.sh to
cd "$SCRIPT_DIR/Launcher"
to get it to work at all.Can't get it to work in Game Mode even adding the path exports to the main script. All that happens is either it stays on the Steam Loading logo until I manually close it, or it'll just crash instantly.
Here's my current 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"
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/.local/podman/bin:$PATH
./flashpoint-launcher
killall php
killall qemu-system-i386