Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

Building a Retro Linux Gaming Computer - Part 27: Lost Souls

By - | Views: 27,269

Return to Part 1: Dumpster Diving

Continued from Part 26: Coming to You Live

I have mentioned before how I was unable to get Dave Taylor's original port of Doom to work as it was built as an outdated a.out binary rather than ELF. Since then, I stumbled on an article by Jason Heiss that describes how to load the binfmt_aout kernel module to attain a.out binary support, as well as installing the ld.so-1.9.5-13.i386.rpm and aout-libs-1.4-9.i386.rpm packages from earlier Red Hat Linux releases to provide the necessary libraries.

Sure enough, with those in place the primordial Linux port of Doom works, albeit from an XFree86 server configured to run at only 8 bit colour depth. The other expected limitations apply such as the lack of any music, but the strangest issue I had was with the sound effects. On first launch I was hearing Heretic noises, as Doom was using the sndserver binary from the Linux Heretic source port installed in /usr/local/bin rather than its own. Replacing the sndserver solved the issue.

Another spanner in the works is that the X11 version of Doom is in effect keyboard only. A launch parameter does exist to grab the mouse, but this is bugged; I did get my Perixx PERIMICE-209 WP working with SVGALib by modifying the ~/.doomrc file to have mousdev set to "/dev/psaux" and mousetype set to "PS2". Under X11 the game runs in a 320x200 window with no full screen option, but you can double or triple the pixels using the "-2" and "-3" parameters.

The shareware release of Doom is included inside the linux-doom-1.8.tar.gz archive I used to install the xdoom and sdoom binaries. Explicit support is offered for the registered Doom and Doom II, with Final Doom possible as a set of add-on WADs. Demo playback only works with the shareware, producing version errors everywhere else. A mixed bag to be sure, but even before the Doom source code was opened, hackers were making improvements to the Linux version.

A fan patch included in the udoom-1.1.tar.gz archive adds support for The Ultimate Doom and seems to fix the demos, while musserver.tgz even hacks in MIDI music through a separate musserver binary. I had to fake the /dev/sndstat device file, but it works. These changes would be mainlined after Bernd Kreimeier tidied up the Linux code for public release, but thanks to Dave Taylor's other studio Crack dot Com, I have another example of a.out insanity I can try as well.

  

Several iterations of the Linux binaries for Abuse are available, but I opted to install the abuse-1.10-5.i386.rpm package as distributed by Red Hat. This provides a few niceties such as custom launch scripts installed into the /usr/games directory, as well as the original Abuse shareware data with the alien ants storyline. The X11 version launches in a 320x200 window also at 8 bit colour depth, but you can stop the cursor leaving the window with the "-grab_pointer" launch parameter.

This is how Abuse was intended to be played, but you can toggle higher resolutions by using the "-size" parameter. This will disable the lighting engine, as well as exposing more of the level to the point of being considered a cheat by the developers. Due to this they also included a pixel doubling mode using the "-2" parameter that preserves the original viewing area and lighting at resolutions of 640x400 or above. I ran with 640x480 so I could hack full screen like I did with Quake.

A few effects will still only flash in the 320x200 area, and I did have some redrawing issues when loading saved games, but these always resolved themselves on the second attempt. The other problem I had was with the sound effects, which only worked when abuse.x11 was launched with root privileges. Speaking of needing root, abuse.svga which uses SVGALib starts fine but then stalls at the cursor; I even tried using an old Mouse Systems serial mouse with it but no dice.

If this sounds insecure, it is because it is. In fact, known privilege escalation exploits exist due to how the SVGALib version of Abuse executes its undrv and sndrv binaries. In some ways we should be grateful for such sloppiness, as it is how we got the SVGALib version of Quake. Dave Taylor only ported the game to X11, but thanks to the Quake source code being stolen from the Crack dot Com server, coder Greg Alexander was able to finish a port to SVGALib in just twenty four hours.

Alexander even had the chutzpah to submit the patches to John Carmack, who graciously accepted them without the threat of legal action. Crack dot Com would show the same community spirit by opening up the Abuse source code and releasing most of the Abuse shareware assets into the public domain. This allowed for the creation of enhanced source ports to Linux such as Abuse-SDL, as well as the fRaBs level set using the shareware assets. If only all games could be as lucky.

Carrying on in Part 28: Losing My Marbles

Return to Part 1: Dumpster Diving 

Article taken from GamingOnLinux.com.
12 Likes
About the author -
author picture
Hamish Paul Wilson is a free software developer, game critic, amateur writer, cattle rancher, shepherd, and beekeeper living in rural Alberta, Canada. He is an advocate of both DRM free native Linux gaming and the free software movement alongside his other causes, and further information can be found at his icculus.org homepage where he lists everything he is currently involved in: http://icculus.org/~hamish
See more from me
14 comments
Page: 1/2»
  Go to:

Hamish Feb 27, 2023
The article on a.out support by Jason Heiss can be read here:
https://aput.net/~jheiss/aout_redhat.shtml

The Linux Doom FAQ by Steve VanDevender is archived here:
https://hexadecimal.uoregon.edu/~stevev/Linux-DOOM-FAQ.html

A review of Doom by Michael K. Johnson for Linux Journal can be found here:
https://www.linuxjournal.com/article/1

The files for the original Linux Doom port are mirrored here:
https://www.ibiblio.org/pub/Linux/games/doom/!INDEX.html

My fake /dev/sndstat device can be seen here:
https://icculus.org/~hamish/dianoga/sndstat

The RPM package for Abuse can be downloaded from here:
https://archive.download.redhat.com/pub/contrib/libc6/i386/abuse-1.10-5.i386.rpm

An RPM package for the patched Linux Doom binaries can be downloaded here:
https://archive.download.redhat.com/pub/contrib/libc6/i386/doom-1.10-7.i386.rpm

A press release on Red Hat partnering with Crack dot Com be be read here:
https://www.redhat.com/ja/about/press-releases/press-crackdotcom

A detailed overview of Abuse versions can be seen in this VOGONS thread:
https://www.vogons.org/viewtopic.php?t=44100

The Linux Game Tome page for Abuse is archived here:
https://web.archive.org/web/20070227220513/http://happypenguin.org/show?Abuse

Security reports on the exploits found with the SVGALib version of Abuse can be read here:
https://www.exploit-db.com/exploits/19279
https://vulners.com/packetstorm/PACKETSTORM:15084

An article on the Quake source code leak from Wired can be read here:
https://www.wired.com/1997/01/hackers-hack-crack-steal-quake/

An interview with Dave Taylor on Linux gaming by Harley Jebens for Gamespot can be read here:
https://www.gamespot.com/articles/okay-dave-taylor-why-linux/1100-2467851/

An interview with Dave Taylor on Linux gaming by James Hills for GA-Source is mirrored here:
https://www.talisman.org/~erlkonig/misc/ddt.shtml

And my launch command for Abuse is as follows:
sudo /usr/games/abuse.x11 -2 -size 640 480 -grab_pointer


Last edited by Hamish on 23 March 2023 at 7:10 am UTC
StoneColdSpider Feb 27, 2023
They are rage....... Brutal....... Without mercy...... But you........ You will be worse........ Rip and tear......... Until it is done........ DOOOOOOOM!!!!!!!
Hamish Feb 28, 2023
Quoting: LightkeyBernd Kreimeier! Squee~ *girlynoises*
A name I haven't heard in a long time. Sorry, I know this is getting off-topic, I only know him from his Loki Software days, where he was responsible for OpenAL and as a German myself, from his science-fiction short stories in the c’t magazine I was reading at the time I thought he wrote those just as a hobby but looking at Wikipedia, it seems it was his job early on, where he even wrote some novels that I should check out some time.
Yeah, that scans, since his initial interest in the Doom source code was for a book deal that fell through:
https://doomwiki.org/wiki/Bernd_Kreimeier

These articles are kind of just old Linux storytime at heart, so no worries about getting off topic.

Quoting: StoneColdSpiderThey are rage....... Brutal....... DOOOOOOOM!!!!!!!
Nothing Brutal about Linux Doom, I can tell you that much. It can not even run SIGIL without a visplane overflow:
https://doomwiki.org/wiki/Visplane_overflow
Cybolic Feb 28, 2023
Lovely article as usual

I think you got this link wrong though:
Quoting: HamishA detailed overview of Abuse versions can be seen in this VOGONS thread:
https://www.vogons.org/viewtopic.php?t=6363
Maybe you meant to link to this one? https://www.vogons.org/viewtopic.php?t=44100
Calinou Feb 28, 2023
I gave Abuse a try recently, but I couldn't stand the low framerate. I hope it gets the Rigel Engine treatment (i.e. optional interpolation) one day :)
Hamish Mar 1, 2023
Quoting: CybolicI think you got this link wrong though:
Quoting: HamishA detailed overview of Abuse versions can be seen in this VOGONS thread:
https://www.vogons.org/viewtopic.php?t=6363
Maybe you meant to link to this one? https://www.vogons.org/viewtopic.php?t=44100
Yep, that would be correct. This is probably one of the articles that I spent the most time doing research on, and I ended up having a massive text file full of links. I guess I must have copied the wrong VOGONS thread over. I never did get XFree86 to launch at 320x200 by the way, but I was able to expand the Abuse window in the end.

Quoting: CalinouI gave Abuse a try recently, but I couldn't stand the low framerate.
I definitely intend to come back to Abuse in a later article, once I can get my hands on a CD-ROM. The original registered version direct from Crack dot Com would be best, but I could make do with the later Electronic Arts or Origin version as well thanks to the source code release.
gbudny Mar 2, 2023
Quoting: HamishYep, that would be correct. This is probably one of the articles that I spent the most time doing research on, and I ended up having a massive text file full of links. I guess I must have copied the wrong VOGONS thread over. I never did get XFree86 to launch at 320x200 by the way, but I was able to expand the Abuse window in the end.

Thank you for the article.

I waited for it, and I think it's my favorite article from your retro series. I like to read when users publish how to solve different issues with games for Linux.

It reminded me of this patch 640x480 for the old Linux version of ROTT from icculus.org.

Dave Taylor probably didn't spend too much time working on this version of Doom. I suspect that Doom for NeXTStep is similar to this one.

Inner worlds is another game that runs only using the root account.

It's such a shame https://happypenguin.altervista.org/ removed old comments because they are useful sometimes.

I don't know if you have plans to write the article about Mobility for Linux. However, their refreshed website is back online after a few months:

https://www.mobility-online.de/download-registrierung/download

I didn't expect it.

Quoting: LightkeyBernd Kreimeier! Squee~ *girlynoises*
A name I haven't heard in a long time. Sorry, I know this is getting off-topic, I only know him from his Loki Software days, where he was responsible for OpenAL and as a German myself, from his science-fiction short stories in the c’t magazine I was reading at the time.
I thought he wrote those just as a hobby but looking at Wikipedia, it seems it was his job early on, where he even wrote some novels that I should check out some time. Those are probably also the reason why there is only a German Wikipedia article for him.

Thanks.

I didn't know about it.

Quoting: HamishI definitely intend to come back to Abuse in a later article, once I can get my hands on a CD-ROM. The original registered version direct from Crack dot Com would be best.

It's much easier to find it than Inner worlds.


Last edited by gbudny on 2 March 2023 at 2:14 am UTC
Hamish Mar 2, 2023
Quoting: gbudnyI waited for it, and I think it's my favorite article from your retro series. I like to read when users publish how to solve different issues with games for Linux.
I will admit, being able to say that I have played the original Linux Doom port with a serial mouse in 2023 is a proper nerd flex.

Quoting: gbudnyDave Taylor probably didn't spend too much time working on this version of Doom. I suspect that Doom for NeXTStep is similar to this one.
"I did this 'cause Linux gives me a woody. It doesn't generate revenue. Please don't call or write us with bug reports. They cost us money, and I get sorta ragged on for wasting my time on UNIX ports anyway." - Dave D. Taylor, README.linuxx

Quoting: gbudnyI don't know if you have plans to write the article about Mobility for Linux.
That's the second old German shareware game with Linux binaries you pointed me to. I appreciate it.
Hamish Mar 5, 2023
Quoting: Lightkey..and then they just point to Holarse for the Linux version instead of hosting it themselves, those freeloaders!
Looking back with the Internet Archive they used to use Tucows to offload the Linux hosting too:
https://archive.org/details/tucows_327831_MOBILITY

Both uploads of the demo are setup to launch at 1024x768 which is blocked in the shareware, meaning you have to edit the MOBILITY.INI file to even get the thing to launch...
gbudny Mar 6, 2023
Quoting: Lightkey
Quoting: gbudnyI don't know if you have plans to write the article about Mobility for Linux. However, their refreshed website is back online after a few months:

https://www.mobility-online.de/download-registrierung/download

I didn't expect it.
..and then they just point to Holarse for the Linux version instead of hosting it themselves, those freeloaders!
Seems like there was a lot added with later versions but not for the Linux version, sadly.

They didn't disappear with the registration keys, and more users could buy now this game for Linux.

I was able to run it even on Ubuntu 20.4, which is crazy.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.