Peter's Linux Q&A

  1. Is there Doom for Linux?
  2. What are some cool games?
  3. What about gameboy emulators?
  4. What about Apple ][ emulators?

  1. Is there Doom for Linux?
    An angry Baron in the library! Yes! In fact, there's so many ports that it's almost impossible to get them all straight! Note that they all look identical; the main difference is in speed of play, bugfixes and extensions to the doom engine, so I'm cheating and using mostly screenshots from lxdoom. :)

    First, there's xdoom (and the SVGA sdoom) ported by Dave Taylor. He did it because `linux gives me a woody'. These two ports are collectively known as "Linux-Doom" and come in tarballs named linuxxdoom.tar.gz (and linuxsdoom). This game has a pretty in-depth FAQ available for it which is horribly outdated. The FAQ says that xdoom has net play. It also says that xdoom doesn't have net play. I haven't tested this yet, so if you find out definitively, please email me! The FAQ also mentions that that while there's sound, there's no music, which is a bummer since Doom music is so cool! Get ready to 
meet your maker!

    John Carmack is the person uhh... behind Doom! Secondly, there's lxdoom by Colin Phipps which is a port of Boom to linux. Boom is an improvement to the original Doom engine, written by Team TNT. The main differences in Boom are loads of bug fixes, removal of internal limits of the games, some code optimizations and other stuff. You probably won't see a tremendous difference playing doom2.wad under the Boom engine; most of the changes were made to enhance new wads that take advantage of such things. You will notice some differences, like translucent fireballs, but not much. Another example is that you can go underwater in Boom. Neat!

    Colin's port also comes with lsdoom which is lxdoom for the SVGA library. It also comes with lxdoom-game-server which is a game server for lxdoom. This port uses the auxiliary programs sndserver for Doom sound and musserv for Doom music.

    There's also sdldoom, which is the original Doom source ported to Linux using Sam Lantiga's Simple DirectMedia Layer (SDL) library. It was ported by the great Sam Lantiga himself. I've only played this a few times so far, and it's pretty fast. Way faster than xdoom. There's also a fullscreen option. This option is super duper fast, but is a cheat because SDL takes over the whole screen, puts the background to black and runs a smallish window which is centred on your monitor. However, it IS nicer than having a floating xterm over your window manager, and you never lose window focus (a common problem when playing Doom on X).

    Since this is a port of the original code, I assume that the original xddom capabilities are here -- netgame support, sound but not music. If you find that this port can run true fullscreen, please email me and let me know how!

How'd he get up there?!?

    The last scene. Next there's lggidoom.

  2. What are some other cool games?
    For those of you who grew up on the 6502, archon has been ported to linux! This game is pretty difficult without a joystick, but it seems very true to the original game. You can find the xarchon home page at and there's even an archon FAQ (broken link).

    There's the Hexen port for linux (screenshot to come) which makes use of Sam Lantiga's Simple DirectMedia Layer (SDL) library. The port was done by Karl Robillard and is nearly done. He's hoping that someone will write the network code.

  3. What about gameboy emulators?

    I don't usually play with Playstation or Gameboy's, but out of morbid curiosity, I compiled/installed two Gameboy emulators, vgb and boycott. They compiled `right out of the box' and have joystick support. The authors did a very good job. I haven't figured out how to get sound to work yet (perhaps not compatible with oss sound drivers?). Both emulators seem a little incomplete, but are under active development.

    Don't expect any Gameboy ROM images to come with either emulator because these ROM images are illegal for you to have, unless you pay for them. It's akin to taping your record....errr...CD. Everybody does it, but it's still illegal. The ROM images are essentially the code burned into the Gameboy cartridges dumped into a computer file which is then read and interpreted by the emulator.

    Both these emulators are written with the GTK library. I think there are SVGA and ggi versions floating around (I'm still trying to locate them). No doubt there will be an SDL version sooner or later. :)

    This is vgb, the Virtual Gameboy. Along with the distribution, there's vgb16, vgb32 and even a Gameboy debugger, vgb-debug. There are ports for just about every operating system I've ever heard of (including ones from M$, BeOS, Apple, DEC/Alpha, FreeBSD, OS/2 and many, many others). As of this writing, the current version is 1.6. They even tried porting it to the Palm Pilot but it was too slow.

    The homepage for the Virtual Gambeboy is

    This is Boycott, also known as VengaGameBoy. Having two names is bound to confuse everyone. It comes with 3 resolutions, 2 of which are shown here. Supposedly there's colour; perhaps the few games I have don't have colour. Dunno. The homepage for Boycott is If you want to feel silly, go over to the maintainers' page and look at the age of the porters. :-)

    Personally, I like Boycott better, but it is definitely a work in progress. Many of the features haven't been finished yet. So far, Boycott has been ported to Linux, Unix, m$dog, powerpc (LinuxPPC, mkLinux) and MacOS. It has a built in debugger, which as of the current version (.43e) isn't functional yet.

  4. What about Apple ][ emulators?
    There are actually quite a few Apple ][ emulators.

    The one I first tried is called apple2, and it's up to v0.7.3o. There's actually 3 binaries that come with this package, apple2, xapple2 and xapple2-80col.

    apple2 which uses the SVGA. The SVGA libraries kick the Llama's ass; it's blindingly fast and beautiful, as opposed to X which can be stunningly slow (try playing xdoom!) and flaky. Unfortunately, SVGA programs must be run as root, so they can really crash your system. I don't know how to get a screenshot of an SVGA program, so here's a screenshot of the opening screen of Ultima I with xapple2. I'll bet you never thought you'd see THAT again, eh?

    Opening screen of the venerable Ultima I

    Walking around in Lord British's Castle Then there's xapple2 which uses xlib calls for X. xapple2-80col is the same as xapple2, except it's an apple ][ with the famous `80 column card'. Remember that thing?

    There are 3 modes of emulation: Apple ][+, Apple ][+ undocumented, Apple //e. Apparently, there were some undocumented features on the 6502 instruction set. Some games, like Ms Pacman (yay) used them, so you'll need this type of emulation for some games (I don't know which other ones need this emulation). The docs claim that apple2 is the only Apple ][ emulator that emulates these undocumented featuers.

Please report bugs or broken links to me. vim:textwidth=110