MNT Reform Gaming Thread

For a while I wanted to start a thread about playing games on MNT Reform, as I’ve experimented with a bunch of things beyond just installing .deb packages, and am curious if other people have tried playing games, too.

To kick it off:

1. Playstation 1 Emulator with ARM64 JIT

I did a quick SDL2 port of a fork of pcsx4all with dynarec in the middle of 2020. Here’s a video of wipEout back then:

I also included rudimentary gamepad support in this fork.

Source: GitHub - mntmn/pcsx4all: Pcsx4all v2.3 with mips-to-mips recompiler by Ulrich Hecht https://github.com/uli/psx4all-dingoo/

2. Thimbleweed Park

I was able to run the PC Linux (x86_64) version of Thimbleweed Park from GOG on MNT Reform at full speed using Box64:

For this to work I built GitHub - ptitSeb/box64: Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices from source and extracted the GOG download with GitHub - Yepoleb/gogextract: Script for unpacking GOG Linux installers

3. Ambermoon Remake

The classic Amiga RPG Ambermoon was remade in .NET and supports some neat features like crisp upscaling of the 3D dungeons. I had some fun playing it on Reform. Source: GitHub - Pyrdacor/Ambermoon.net: Ambermoon rewrite in C#

Apparently the latest binary release for aarch64 is a bit older, the Pi4 build: Release v1.1.0 · Pyrdacor/Ambermoon.net · GitHub

It would be interesting to know how to build the latest version properly on Reform.

4. Amiga Emulation with Amiberry

When emulating the classic Amiga computers, I had the best results with amiberry which has JIT support for aarch64. When building, choose a64 as the PLATFORM to target Cortex-A53: GitHub - midwan/amiberry: Optimized Amiga emulator for the Raspberry Pi and other ARM boards

5. SNES emulation with snes9x-gtk

A while ago I wanted to play some Earthbound, and had the best results with snes9x-gtk built from source: GitHub - snes9xgit/snes9x: Snes9x - Portable Super Nintendo Entertainment System (TM) emulator

6. Virtuaverse

I tried the same technique I used for Thimbleweed Park with Virtuaverse (also x86_64 Linux version from GOG). It did not work at first because the OpenGL version supported by etnaviv is too low, but I figured out it’s playable with software rendering by setting LIBGL_ALWAYS_SOFTWARE=1 and setting the scale of the display output in the sway config to 2. This way, mesa has to render only a quarter of the pixels and the GPU can upscale them to HD.

Video: https://twitter.com/mntmn/status/1461777334466494465/video/1

8 Likes

Stardew Valley up to version 1.5.4 works with native mono without sound.

Version 1.5.5. is packaged differently and might work, this is still under investigation.

ScummVM supports a lot of game types apart from the classical point and click adventures like Monkey Island:

Myst I works, for example.

Cave Story works with sound when building the NXEngine VM yourself.

VVVVVV works with the released engine compiled: vvvvvv source (Game files required)

1 Like

I’m still in the queue, so I’d be curious how well these open-source re-implementations of proprietary games run on the reform. I’ve ran them all on very low end devices running Linux/DragonflyBSD, so I’d expect success. A few already have packages in Debian, although you do need the assets and files from the original games.

Wargus - Warcraft 2

OpenRA - Command & Conquer/Red Alert/Dune 2000

Julius - Caesar III

DevilutionX - Diablo

OpenMW - Morrowind

GemRB - Baldurs Gate 1&2/Planescape: Torment/Icewind Dale 1

VCMI - Heroes of Might and Magic 3

One (free/gratis) proprietary game I’d be interested in is Dwarf Fortress, which would need Box64.

Another World – Anniversary Edition (from gog) works with box64

2 Likes

I’ve put some hours into OpenXCOM on my Reform. Compiled from source cleanly, TFTD (Terror From The Deep) assets extracted from GOG-purchased version of the game. Full-screen with sound, It runs perfectly! Headphones and low ambient light required for optimal terror. :wink:

3 Likes

I can confirm that the Godot 3.x development branch compiles and works on the Reform. There’s issues related to OpenGL ES 3.0 (for example the project selection menu is just a nice black screen), but it looks like anything OpenGL ES 2.0 works.

1 Like

I currently play
Wizardry 7: Crusaders of the Dark Savant through DosBox
Wolfenstein 3d through DosBox
Doom through DosBox
LBreakout 2
Barrage

1 Like

I’ve been playing LZDoom, supports Doom, Heretic, Hexen. Runs well inside of sway. Here’s how I got it working.

Install dependencies.

sudo apt-get install g++ make cmake libsdl2-dev git zlib1g-dev \
libbz2-dev libjpeg-dev libfluidsynth-dev libgme-dev libopenal-dev \
libmpg123-dev libsndfile1-dev libgtk-3-dev timidity nasm \
libgl1-mesa-dev tar libsdl1.2-dev libglew-dev

Download and unzip the source code.

wget https://github.com/drfrag666/gzdoom/archive/3.88a.zip
unzip 3.88a.zip

Compile the source code.

cd gzdoom-3.88a
mkdir build
cd build
cmake ..
make -j 4

Launch the executable, you will get an error for missing WADs but this will generate the config directory.

SDL_VIDEODRIVER=wayland ./lzdoom

I recommend setting a resolution of 640x360 so you get 16:9 widescreen. It’s an integer multiple of 1920x1080 native resolution that still offers good fps on the Reform.

sed -i "s/vid_defheight=480/vid_defheight=360/" ~/.config/lzdoom/lzdoom.ini
sed -i "s/fullscreen=false/fullscreen=true/" ~/.config/lzdoom/lzdoom.ini

Copy over your WADs. If you downloaded a popular WAD pack rar file from the bay of plundering, use apt to install unar and use unar to extract it.

cp *.wad ~/.config/lzdoom/

Launch and play. I suggest editing controls in the in-game options.

SDL_VIDEODRIVER=wayland ./lzdoom
4 Likes

Sonic Robo Blast 2 also runs well

Install dependencies.

sudo apt-get install build-essential libpng-dev zlib1g-dev libsdl2-dev libsdl2-mixer-dev libgme-dev libopenmpt-dev libcurl4-openssl-dev nasm wget git

Clone the source code.

git clone https://github.com/STJr/SRB2.git

Compile the source code.

cd SRB2/
make -j 4

Download and unzip the game assets from the release.

mkdir release
cd release/
wget https://github.com/STJr/SRB2/releases/download/SRB2_release_2.2.9/SRB2-v229-Full.zip
unzip SRB2-v229-Full.zip
cp *.dta ../bin/
cp *.pk3 ../bin/
cd ../bin/

Run the game.

./lsdl2srb2

Change settings in-game. Options > Video options…

Set resolution 640x400
Fullscreen yes
Vertical sync off
Renderer software (OpenGL works but has glitches and lower fps)

SRB2 Kart (Mario Kart style game)

Install dependencies.

sudo apt-get install build-essential libpng-dev zlib1g-dev libsdl2-dev libsdl2-mixer-dev libgme-dev libopenmpt-dev libcurl4-openssl-dev nasm wget git

Clone the source code.

git clone https://github.com/STJr/Kart-Public.git
cd Kart-Public/

Download and unzip the game assets from the release.

mkdir release
cd release/
wget https://github.com/STJr/Kart-Public/releases/download/v1.3/srb2kart-v13-Installer.exe
unzip srb2kart-v13-Installer.exe
mkdir ../assets/installer
cp *.srb ../assets/installer/
cp *.kart ../assets/installer/
cd ..

Compile the source code.

mkdir build
cd build/
cmake ..
make -j 4

Launch the game

cd bin/
./srb2kart

Change settings in-game. Options > Video options…

Set resolution 640x400
Fullscreen yes
Draw distance 2048
Weather draw distance none
Skyboxes off
Vertical sync off

OpenJazz (Jazz Jackrabbit) works nicely at native resolution. I recommend setting 3x scale so things are not tiny. It’s pretty straightforward to compile, just clone, run make GitHub - AlisterT/openjazz: OpenJazz and copy over the data files. I used unar to extract them from the original DOS ISO.

1 Like

I wonder if dosbox-x would be able to work at a reasonable speed on there even if its being used to load a win95.img.
As for why I would want to do this, offline old school computer games, that neither DOS nor wine can load. I have found a few of these. Some are from a defunct company called Hasbro Interactive. There are others, but let us just say I do this to play certain board games against AI.

Its good to know that you have figured out how to play LZDoom on MNT Reform though.
Chex Quest 3 the one linked here: Chex Quest 3 is now available for download!!! and also Doom + Doom 2 both work on lzdoom.

Doom through Dosbox works, and works pretty well. I do think based on that performance you could probably get Windows 95 loaded, not sure about the performance though.

Dosbox and emulators are great but I prefer running native binaries if possible. LZDoom offers higher resolution, native widescreen (not stretched), network play, and other things. I also think it’s cool to have a version built specifically for the Reform. A newer version of LZDoom was recently released, I was able to build it with the same steps and I suggest using the newer version https://github.com/drfrag666/gzdoom/archive/3.88b.zip

I enabled OpenGL in LZDoom with good results. Graphics are improved and I did not notice any reduction in performance (vid_fps=1 in the config enables the fps counter). To enable OpenGL, you can do it from the in-game menu, Options > Change Rendering Output > Hardware Acceleration > OpenGL-Accelerated, and then restart LZDoom. You will see these lines on the console.

Using video driver wayland
GL_VENDOR: etnaviv
GL_RENDERER: Vivante GC7000 rev 6214
GL_VERSION: 2.1 Mesa 21.3.7 (Compatibility profile)
GL_SHADING_LANGUAGE_VERSION: 1.20
1 Like

If you enable OpenGL on LZDoom, you can run it at native 1920x1080 resolution without a noticeable decrease in performance.

I also built Aleph One, open source Marathon, and it runs well with OpenGL at 1920x1080. I followed the official instructions from here Linux Install Instructions · Aleph-One-Marathon/alephone Wiki · GitHub and the original game data is freely downloadable here Scenarios for Aleph One - Marathon Open Source

1 Like

Screenshot of LZDoom on Reform with OpenGL

4 Likes

Did anyone else have any luck getting Thimbleweed Park to load with box64? This happens and nothing launches…i have no idea what I’m doing wrong :face_with_open_eyes_and_hand_over_mouth:

It’s an sdl based game so it’s not too surprising but i did manage to get Dwarf Fortress running on the reform using the linux binary and box64 (had to download some additional sdl libs). Since the game is heavy on the CPU and isn’t optimized for multithreading world generation/loading takes a good while. I haven’t played a full game on the reform yet to fully test but i did get it to run and embarked on my first reform fortress.

3 Likes

I wasn’t aware the game ran on Linux in general, but this is excellent. My first computer was an 8088 based machine. Waiting for loading is something I’m not really adverse to. I might just give this a shot.

1 Like

I had some issues getting the pcsx4all fork to build. But I had no troubles building DuckStation. No opengl and vulcan was too slow. But software rendering and sound ran fine.

Just note when building yourself the --parallel argument will make too many threads and you’ll run out of RAM. So use --parallel 4 instead.

1 Like