The Wintel Retro Landscape

I started this project before the massive boom in Claude-enabled decomps started rushing the scene, so this may now be mostly of historical rather than practical interest. I planned on comparing more applications but see little point now; I’m publishing more or less as it was last time I touched it. It should also be noted that when I wrote this, the Pi 5 was a lot more affordable!

Windows On Intel dominated the late PC era, and there’s a wealth of software available for the platform, especially from the 90s and 2000s, right in the sweet spot when desktop games had matured but not bet become totally entangled in Steam and DRM. Microsoft has done an impressive job keeping legacy applications running on the platform. It’s a platform I hoped you could keep stable indefinitely, even if WINE was required.

However, Wintel and desktop in general have been slowly falling out of favor. Apple, ever the trend setter, has switched away from Intel for its desktop machines. Microsoft has been shipping ARM tablets for a while. The Raspberry Pi is the common denominator hobbyist platform. People are hopping mad about Windows 11. And overall, computing has switched from something you do on a desktop with a keyboard and mouse running an Intel processor to being something you do with a mobile device with an ARM processor.

What do we do when platforms are retired and try to make us give up our software? We persist!

Meet the Test Applications:

I’ve tried to assemble a grab bag of applications you should be able to find if you look hard enough but nonetheless are personally nostalgic.

EV Nova (Windows Port) (2003)

The definitive 2D space trader. One of my favorite games and one of those “I want to be able to play this forever” emulation targets. Previous attempts to run in WINE have been difficult due to font weirdness, but with the advent of the CE binary patch have gotten within reach.

Space Invaders (Windows, 1999)

2.5d Shmup based on the ur-shmup. If you speed run it, it plays like a puzzle game.

Lego Loco (1998)

2d sandbox/toy. Charming pixel art graphics. Like a Lego Sim City but without any Sim elements; the only real ‘game’ is to hunt for all of the whimsical easter eggs they programmed in, including some that only appear on certain dates (for example, on Halloween all characters spawn as skeletons.)

Star Craft: Broodwar (1998)

The classic sprite RTS and once the most popular esport.

Command & Conquer Tiberian Sun

https://cnc-comm.com/tiberian-sun/downloads/the-game/installer

An eclectic mix of technologies and killer atmosphere create a memorable RTS experience.

Test Environments:

Raspberry Pi 4/5: Wine + Box64

PI 5 only: change kernel page size:

The PI 5 has a larger kernel page size than legacy programs expect. You need to downgrade your kernel to make it work. This is only a problem on the PI5. Be pretty cool if this could be emulated too though.

https://github.com/ptitSeb/box86/issues/993

Edit your config.txt:

sudo vi /boot/firmware/config.txt

(or sudo nano if you don’t like vi)

add the following to that file:

kernel=kernel8.img

Reboot.

Compile Box64

https://github.com/ptitSeb/box64/blob/main/docs/COMPILE.md

git clone https://github.com/ptitSeb/box64
cd box64
mkdir build; cd build; cmake .. -D ARM_DYNAREC=ON -D CMAKE_BUILD_TYPE=RelWithDebInfo -D BOX32=ON -D BOX32_BINFMT=ON -D RPI4ARM64=1 #Change the last line according to your PI version
# This takes a while
make -j4
sudo make install
sudo systemctl restart systemd-binfmt

Install bundle libraries

https://github.com/ptitSeb/box64/blob/main/docs/BUNDLE-X86-LIBS.md

sudo apt-get install binutils coreutils curl rpm2cpio tar zstd

/box64-bundle-x86-libs.sh

Install x86 WINE

download wine here: https://github.com/Kron4ek/Wine-Builds/releases (wow64)

Run the program

bin/wine <program.exe>

Remarks

This setup isn’t too bad, but it required some knowledge of Linux, googling, and assembling multiple parts. Nothing I expect the average Raspberry Pi user to be intimidated by, not not something I can recommend to the general public in the way you can with Steam.

For CD ROM games

You’ll need to mount the ISO of the CD ROM:

“`mkdir ~/cdrom0

sudo mount -o loop -t iso9660 <my_iso>.ISO ~/cdrom0

EV Nova

PI 4: Runs albeit at a framerate slightly below the original OS9 play speed (and well below the default Windows play speed.) ~25 FPS.

PI 5: Acceptable performance. Fonts still slightly jank.

Space Invaders

PI 4: Runs stable, with some graphical glitches. You need to install it from the CD then run from Wine’s C drive (easy to find with winefile.) Couldn’t figure out how to make the window bigger.

Tiberian Sun

PI 5: Runs great. Initial startup was wonky and need multiple tries. Make sure you change the screen resolution asap because any space outside the resolution gets an awful flashing pattern (Photosensitive warning!)

Android: Winlator

Winlator is distributed as an APK here: https://github.com/brunodev85/winlator/releases/

Installing APKs on android requires clicking through several security warnings because it’s opening up your device to possible compromise in a way that most activity on an Android device does not. But, if you’re pretty sure you know what you’re doing, Winlator packages WINE, Box86/64, and several other tools together into an android app that lets you run some wintel programs on an android ARM device.

For best results you’re going to want an external Bluetooth keyboard and at least a stylus.

EV Nova

Can’t keep a consistent frame rate. Some text missing. Semi-Playable, but only if you’re a diehard fan.

C&C: Tiberian Sun

Way too slow to be playable. Radar didn’t work. Froze on campaign start, but was able to start a skirmish. LMB controls meant you could still sort of play slowly.

CD Games

Winlator is unable to run games that require a CD in the tray to run because it lacks CD emulation.

Remark

It’s simply not ready. Maybe never will be.

Linux on x86 (Virtual Box)

I consider WINE on Lin86 a mature enough technology that I don’t feel the need to discuss it here, instead I wanted to compare it to Virtual Box.

I used Lubuntu on an old ThinkCentre. Similar instructions are out there for other Linux distros. There are some well known Windows XP installs you can use. Make sure you enable virtualization in your BIOS.

https://www.virtualbox.org/wiki/Linux_Downloads

sudo apt install gcc make perl
sudo /sbin/vboxconfig

sudo rmmod kvm_intel

# You may need to configure these to run at startup
sudo modprobe -r kvm
sudo modprobe -r kvm_intel

But there are issues:

https://forums.virtualbox.org/viewtopic.php?t=106674

After 6.x, Virtual box dropped support for 3d acceleration in WinXP guests.

Installing 6.x on Ubuntu 24.x turned out to be difficult as well, but your mileage may vary.

CD support is very nice; you just load each CD as a virtual dive. I’ve found this the most straightforward way to run non-game applications if you need them.