Lemmings 95 on Linux
I’m not entirely sure where I got the game, but lemmings 95 was an important part of my childhood. It, more than anything else, solidified my love of puzzle games. I remember being so excited for Christmas one year that I couldn’t sleep. So I snuck into my dad’s office in the middle of the night and played a couple levels of this game to settle down.
I did not like the original DOS version of the game because the Windows remake added features that fundamentally changed the game. The DOS version had a firm level structure; the player had to overcome each level before gaining access to the next. However, Lemmings 95 allows the player to “cheat” a level or skip over a level and come back to it later. I rarely felt like working my way through the level the game presented, and preferred to cheat my way through the whole game. This allowed me to jump around and play whatever difficulty or tile-set spoke to me at that particular moment.
Additionally, the Windows 95 version added an “action replay” feature. This feature would restart the level and play out all the actions the player took previously. At any time I could jump in and take control of the action. So If I made a mistake on any particular level, I didn’t have to restart the level from scratch. Instead, I could use action replay to fast-forward to the mistake, fix it, and continue playing the level as normal. This feature was paramount to my enjoyment of the game because I loved solving puzzles, but got easily frustrated by execution errors. Action replay allowed me to solve a level and move on, without needing to waste time attempting to get the perfect run.
Unfortunately, the game is poorly programmed, and has issues running on modern hardware. On modern computers the fast-forward command runs way to fast and is therefore unusable. Unfortunately, this means that action replay is completely unusable as well.
I stopped playing after a computer update and sadly have never been able to go back.
Running the game in Linux
I have been using Linux as my main operating system a long time, but am only now taking the final step and moving my gaming to Linux as well. In recent years Steam, along with other amazing open source developers, have put a lot of time and energy into making gaming on Linux a great experience. I’ve been having a lot of fun going through my collection of CD-ROM games and experimenting with what works. I’ve even managed to install and run my CD-ROM version of Myst IV Revelation for Windows XP. While doing this I stumbled upon my Lemmings 95 CD-ROM and decided that it would be a fun challenge to finally figure out how to make it playable.
The Wine software is what makes gaming on linux possible. It is a compatibility layer between Windows and Linux, and it is what makes Windows programs think they are running on a Windows platform when they are in fact running on Linux. Unfortunately, Wine is a very complicated piece of software that requires other software, called launchers, to manage it. Because of this, Wine comes in a variety of different flavours optimized for whatever launcher the user is using. Steam for instance uses a Wine variant called Proton. A different general purpose Linux launcher, called Lutris, uses a Wine variant called Wine-GE.
Running lemmings 95 in Lutris on Wine is relatively straightforward as Lutris has native support for Windows installers.
Unfortunately, accurate Windows replication does not solve the problem. Instead, what we get is the same as if we had installed the game on a modern Windows machine. The game works, but fast-forward is bugged. Unfortunately, this bug isn’t a Windows compatibility issue, it instead a hardware issue. Essentially, the fast-forward is not frame limited, it will run as fast as the computer allows it to run. So the only way to slow down the fast-forward is to physically restrict the speed that the processor is allowed to run. Wine cannot solve this issue; we need an actual Windows 98 emulator with the ability to control emulation speed to proceed.
Second attempt - Dosbox
Unfortunately, there are no dedicated Windows 95/98/NT emulators. Windows 98 existed in a liminal space between DOS and modern Windows. It is the final Microsoft operating system that used the old DOS kernel and is, in the very loosest sense, a DOS application. It may be possible to install Windows 98 inside a DOS emulator and use that system to run lemmings.
Dosbox immediately comes to mind. It an old, and well-supported, DOS emulation platform that Lutris directly supports. The main Dosbox project received its last major version in 2019 and has had very little development since. Two different successor projects have since come forward to continue the project but have moved in different directions.
Dosbox-staging is a direct continuation of the original Dosbox. They aim to be compatible with the original project without modifying it significantly. Functionally, dosbox-staging is just Dosbox if the development had continued. However, the goal of Dosbox-staging isn’t to create a fully functional DOS computer, just to allow users to play DOS games on a modern machine. Because of this, early windows emulation is out of scope of the project and not supported by the developers. There has been some effort to get it working, but their limited success only demonstrates how this project is not the right tool for the job.
Dosbox-x is an expansion of the original project. Dosbox-X added a graphical UI to Dosbox as well as a focus on accurate system emulation. Because of this, early windows emulation is officially supported. So it is a clear candidate for running Lemmings 95.
The problem for me was that Lutris uses Dosbox-staging as its main DOS runner and switching to Dosbox-X would require me to operate outside that environment. As well, Windows is not baked into Dosbox-X and still requires the user to create a virtual machine and manually install the operating system. Doing this requires both a deep understanding of how computers of that era work and how to translate that understanding to Dosbox configuration files. This wasn’t going to be as easy as I had hopped, and I wanted to explore a third option before abandoning Lutris.
Third Attempt - 86Box
I only learned about the existence of 86box while exploring the list of supported runners in Lutris. 86Box is a full-blown 32-bit PC emulator that allows users to build an entire retro PC running whatever operating system they want. It was extremely overwhelming the first time I launched the application because getting it to work require a very deep understanding of the PC hardware of the day. This overwhelm is precisely the reason why I wanted to research Dosbox in the hopes that Dosbox would provide an easier more portable experience. However, on seeing that both options are equally complicated to configure, I chose to work with 86Box primarily because installing Windows on a retro PC was conceptually simpler than installing it on a DOS emulator. As well, I’ve installed Windows on many PCs over the years and working with hardware in 86Box was weirdly nostalgic.
86Box emulates old PCs down to the hardware level. Setting up 86Box is very similar to building an old pentium computer from scratch. I needed to select a motherboard, processor, ram, hard drive, cd rom drive, and many other things. Searching the internet can give you some ideas on what combination of setting will work, I found a decent guide here which gave me a good starting point, but ultimately it is a game of guess and check.
Eventually, I did find a configuration that works and got the Windows installer to run and everything was smooth sailing from there. Windows 98 really was a great operating system in that the installer just knew what to do with whatever hardware I threw at it.
With this virtual machine in place, I was finally able to install Lemmings 95 on it and play it in the environment it was designed for.
Conclusion
There is still a lot of configuration I have skipped. Just small things like moving the 86box configuration files to their own folder and then adding a shortcut into Lutris. I also recommend turning the Windows 98 mouse speed down as low as it will go. The horizontal scroll speed of the game is tied to the mouse speed and is also way to fast. Finally, I still think the fast-forward speed is a bit faster than I want it to be, but I was unable to get a slower computer configuration working in 86box. However, the game is playable and I have learned a lot about old computer emulation on Linux in the process. So I consider that a win.
Thank you for joining me on this journey, and I hope you learned something in the process.