How to run Flashpoint Infinity on the Raspberry Pi 4
What is Flashpoint?
Flashpoint is a preservation project for the 190,000+ browser-based animations and games mostly written in Flash, including over 130,000 playable games! As you might be aware, Adobe has not only stopped support for flash in December of 2020, but Flash has even been wired with time bombs to make sure it will not work at all. All of the great (and even not so great) Flash games do not run by conventional means anymore. The full version of Flashpoint is over 1.4TB and includes all the necessary files including server spoofers for the games that require an online connection to the host site. There is a smaller version that still runs all the games called Flashpoint Infinity that will only download game data from Flashpoint's servers (not the original site hosting the game). It will only download the game once, after that you don't need to be online anymore to play that particular game. The Linux Version runs the main platforms (Flash, HTML5, Shockwave, Unity and Java minus some exceptions), but is x86 based, and even under Box86, I have not been able to get the source to successfully compile on the Pi 4. So, we will be running the Windows version.
Wait, the Raspberry Pi 4 can run Windows?!?
Yes. Not the stripped down version Microsoft shoveled out for the Pi 3 called Windows 10 IoT, but a full version of Windows 10 for ARM devices like the one that runs on Surface tablets. It can run ARM code and well as 32 bit x86 code with its integrated dynamic recompiler, and the speed is actually quite amazing. You get a short hiccup when starting up an application and when new code is loaded as it recompiles the code, then the x86 apps run at full speed like they are not being emulated at all. There are some MAJOR drawbacks though, as you will see, but most games will run, and at full speed, even gigantic resource hogs like Gemcraft Chasing Shadows.
What you will need:
1) Temporary use of a Windows 10 computer with an SD card writer. Another Pi 4 with Windows on Raspberry already installed and an external SD card writer can actually do this too. If you don't have access to a Windows 10 computer, there IS a workaround using just the Pi 4 as I'll explain later. 2) A Raspberry Pi 4 with 4 or 8gb RAM and a GOOD power supply, heatsinks, and fan. 3) A 32gb or larger micro SD card with as high a transfer rate as possible. Using excessively large cards such as 256gb will make the install processes take a VERY long time. 4) An Ethernet cable and hardwired internet connection for the Pi 4. There is currently no Windows ARM driver for the internal Wifi on the Pi 4, but there is an Ethernet driver. USB wifi dongles will NOT work. 5) If you want sound, a driverless USB audio dongle. There are Windows ARM drivers for the Raspberry Pi 3's AV port, but nothing yet for the Pi 4. 6) A HDMI display. Video output is on the HDMI 0 port ONLY. There are no drivers for GPIO displays or through the AV port. 7) Discord account. All the support for the Windows on Raspberry project and curation of the Windows images and drivers is through their Discord server.
Step 1: Download the installation software and Windows 10 ARM image.
Visit the WoR installation tool site at https://www.worproject.ml/ and download the latest version of the installation tool. Join the Windows on Raspberry server on Discord at https://discord.com/invite/jQCpfVK and follow instructions on the Activation channel to get access to the WoR Tool Images channel. Once you get access, download the 0.2.8 version of the .wim image (improved sound and performance). The Ethernet drivers for this version are not quite ready for prime time. These Windows images are NOT pirated installs, but actual unactivated Windows 10 ARM images with a custom Boot partition and UEFI made for the Raspberry Pi. You can even activate Windows using a genuine activation code, but activation is not required to use Windows 10. If you do NOT have access to a Windows 10 computer, ask the mods for access to the Etcher image for 0.2.8. You can write this image directly to a SD card in an external USB SD card writer on your Pi 4 using the Linux dd command from a terminal window if you are well versed with the dd command, but will be stuck with the old drivers, but these WILL allow you to run Flashpoint. If you do this, you will also need to run gparted to expand the Windows partition to fit the available space.
Step 2: Write the Windows image to the SD card
Insert your micro SD into your card writer before starting up the installer. Using a USB 3.0 card writer and USB 3.0 port will speed things up quite a bit. When you run the WoR installer, it will walk you through selecting a device to write to, type of Pi (YES, this will work on a Pi 3 or even a 2, but is not recommended...), the location of your .wim image file, drivers, and configuration. You can choose the latest drivers from the WoR site and it will automatically install them. Select defaults for Configuration and UEFI firmware. When you finally reach the install, it will take a VERY LONG time to write the image to the SD card, especially if it is a larger card. If you have an older PC with USB 2.0 ports this could easily take over an hour.
Step 3: Initial boot of Windows
Insert the micro SD in your Pi, make sure your keyboard, mouse, and Ethernet cable are connected and then power up. Once again, your first boot is going to take a VERY LONG time, especially with a larger SD card. Since this is a fresh Windows install, you'll have to go through the whole Windows 10 setup procedure, including several reboots. Once you get a Windows desktop, power down and remove your SD card. Put it back into your Windows PC or boot another OS on the Pi and put the card in the external SD writer.
Step 4: Changing settings for a playable gaming environment
When Windows finally gives you a desktop, you'll notice it booted in native HDMI resolution for your monitor, which might be 1080p or higher with a color depth of 32 bits. This looks nice, but actually makes running games MUCH, MUCH slower even if they are in a small window. You will need to change the desktop resolution to 800x600 and 8 bit color depth to make Flashpoint run faster, but you can't do that in Windows Settings because there are no native hardware drivers for the Pi 4 GPU. You will also need to overclock to whatever your cooling and power on your Pi 4 will allow. You need to edit your config.txt and UEFI options. On your PC, open the BOOT partition on the SD card and open the config.txt file with Notepad or a text editor. Add the following lines anywhere in the file and then save the file. framebuffer_depth=8 framebuffer_ignore_alpha-1 The two above lines will set the color depth to 8 bits. This is 100% stable on Windows, but if you run games other than Flashpoint's, they might complain about this. To set the screen resolution to 800x600, you'll need to put the card back into your Pi, and power up. As SOON as you power up, keep hitting the ESC key until the UEFI comes up. This is similar to a BIOS. Using the arrow keys, move to Raspberry Pi Configuration and hit Enter. Choose video options and select 800x600 resolution, making sure no other options are checked. Hit F10 to save, then hit ESC a few times until you are back at the UEFI startup screen. Once back there, select Continue and it will automatically reboot.
Step 5: The fun part where you get to download and install Flashpoint!
Open Chromium (later versions of WoR have Chrome Edge, which runs a bit faster) and download Flashpoint Infinity for Windows. The install procedure is going to be exactly the same. I did have a problem getting a destop launcher, so had to go the the Launcher directory and create a shortcut to the desktop to the launcher .exe.
Flashpoint boots slowly and it takes a while to load the Games index, but the games execute fairly quickly. Sound quality isn't going to be that great, but better drivers are being worked on.