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.
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#
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.
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.
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.
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.
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.
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 makeGitHub - AlisterT/openjazz: OpenJazz and copy over the data files. I used unar to extract them from the original DOS ISO.
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
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.
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.
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.