Return to Part 1: Dumpster Diving
Continued from Part 4: Installing Red Hat Linux 7.3
Dave Taylor can be credited with kickstarting the commercial Linux gaming industry with his ports of the games Doom and Abuse. Before leaving id Software he also graced us with a Linux port of Quake, which while unofficial and unsupported was later taken by Macmillan Digital Publishing to form the basis of their retail Quake: The Offering package. This included not only Quake but also its two mission packs, Scourge of Armagon and Dissolution of Eternity.
To install Quake: The Offering on Red Hat Linux 7.3 you need SVGAlib, which I got using the svgalib-1.9.25-1.rh7.rf.i386.rpm package from freshrpms. The setup will still complain about not having libglide2x.so and will skip installing the quake-1.09-glibc-5.i386.rpm package, but you can install it off the disc using rpm and the “–-nodeps” flag to skip the dependency check. Then download and copy libglide2x.so to /usr/lib manually to avoid conflicts with the Glide3 package.
In terms of software rendering you can either launch the squake binary to use SVGAlib from the command line or you can launch the quake.x11 binary to run the game in an X11 window. Full screen is only supported using SVGAlib, and while it can be ran with hardware acceleration through the use of the glquake binary, this will only work on 3dfx Voodoo cards. Everyone else is stuck using the glquake.glx binary within an X11 window.
This is a temperamental port. As well as not allowing for full screen glquake.glx is also a creature of the XFree86 server. This means it will use the system gamma and the mouse cursor will be drawn on top of the window. This being Linux, I was able to create a BASH shell script that blanks the pointer, increases the brightness, and loads the correct libGL.so.1.2 library file. I also included a menu for selecting either Quake or one of its two mission packs as an added bonus.
Mouselook is a separate issue. The most reliable way to make this work I found was dropping down the game console and entering both “+mlook” and “_windowed_mouse 1” each time I launched the program. Playing with SVGAlib must be done with root privileges, but the X11 binaries can be ran from a regular user account if the ownership of the glquake.glx binary is changed to the user and write permission is given for the rogue, hipnotic, and id1 directories.
One ugly but effective hack you can do is to change the resolution of the screen so only the glquake.glx window is showing. XFree86 allows you to cycle through valid modes by holding down Ctrl and Alt and pressing the keypad + and - keys. If one of those modes is 640x480 you can set the game to that resolution, have it grab the mouse, and then cycle until the focus is on the game window. Some of the window border may show, but this can be mitigated with theming.
I had issues with CD audio not looping properly when using the Creative CD-ROM drive, but upon switching to the LG DVD drive it has proven to be reliable. Only the original Quake soundtrack is included on the Linux CD without the music for the mission packs. I also noticed that the game would on occasion either cut off or drop sound effects. I saw some graphical glitches with water and the edges of certain polygons when using the OpenGL renderer as well.
There is something charming about logging into a virtual terminal and launching Quake from the command line, and my Pentium III 500 Katmai is more than capable of delivering a smooth playable experience in software at 320x200. In fact, Linux actually outperforms Windows 98 with an average of 96.6 FPS against 88.0 FPS across all three timedemos. Windows does take the lead at 640x480, with Linux getting 30.4 fps to 38.5 fps on Windows, but neither ran fluid.
With OpenGL things get more complicated. Windows leads full screen at 640x480 with 16 bit colour averaging 81.5 FPS, but when ran windowed this drops to only 62.4 FPS. Linux averaged 67.1 FPS when using the glquake.glx binary, but given the difficulties in comparing the numbers, I think it would be best to call it a draw. A silly contest perhaps, as neither the original Windows or Linux binaries have aged that well.
It would be nice to come back to Quake at some point if I ever get my hands on a 3dfx graphics card just to see SVGAlib running in its full glory. That said, now that I can run vkQuake and average 635 FPS, it does make it easier to appreciate the clunkiness of the original Linux port, or even the chunkiness of the software renderer. This would not be the end of the road for id Software and Linux of course, or even for Macmillan Digital Publishing.
Carrying on in Part 6: A Lone Marine Battled
Return to Part 1: Dumpster Diving
http://icculus.org/~hamish/dianoga/quake-glx-launch.sh
Those needing the libglide2x.so library can use this link:
http://icculus.org/~hamish/dianoga/libglide2x.so
And my raw Quake timedemo data can be found here:
http://icculus.org/~hamish/dianoga/quake-timedemos.txt
If you are using Sawfish as your window manager with GNOME I found that choosing either the "simple" or "mono" themes from the Appearance settings and changing the colour of active frames to be black worked well for faking full screen.
Last edited by Hamish on 29 March 2021 at 6:36 pm UTC
I always found 30fps acceptable for pretty much anything - so long as it's a steady 30fps, without wavering much. Of course back in that era of gaming I was using a ball mouse, and they weren't quite as responsive as today's optical tech. Strangely enough I've also never played Quake.Funny thing I always find is that most games on non-dos platforms usually ran at 50/60 frames per second (depending on PAL/NTSC). It wasn't until 3d stuff came along, and better 2d cards that most things got above 15. Though the same could be said going backward and without the 3d or chunky pixels, the 16bit systems ended up doing 10-15 on fps.
Just out of curiosity, does red hat from then come with tux racer? Not sure if that was mentioned in a previous post, so forgive me if it was.
And this kind of article is one reason I like working on *nix systems - I do find the scripting of commands to get something running so much nicer to handle compared to windows. Switching in & out of fullscreen though, I seem to recall that not being the most stable operation in the world, before compositors and borderless fullscreen windows. The GNU/Linux graphics stack has come a very long way (they have on every OS I suppose).
Also, Quake was an amazing game back then! Still pretty fun now.
Just out of curiosity, does red hat from then come with tux racer? Not sure if that was mentioned in a previous post, so forgive me if it was.Yep, it is installed along with the regular GNOME games.
I would not put too much stock in the FPS numbers reported by Quake but it does serve as a rough comparison. You almost never get exactly the same result twice from a timedemo just a ballpark.
I'm really glad I lived through the evolution of home computing, there were so many exciting times as it all progressed.
Great series of articles Hamish.
Edit: That should have been Windows 95. I'm shrouded in the mists of time!
Last edited by fabertawe on 31 March 2021 at 10:56 am UTC
Funny thing I always find is that most games on non-dos platforms usually ran at 50/60 frames per second (depending on PAL/NTSC).
TBF, when running on NTSC or PAL you have to process a half of the resolution for each frame.
Hamish, I have a Voodoo card I can send your way if you promise to send it back sometime this century.At this point I am hesitant to take responsibility for anyone's hardware but my own but I appreciate the offer. I would be too nervous about it getting damaged, no matter how careful I am.
For the past month I have been trying to get one article out every Monday, but that is probably going to become more sporadic from here as I will actually need time to play the games in order to write about them. As the temperature goes up so does my workload, but I will keep writing as I can.
Sure, once you got to VGA graphics, but EGA was still around the same. Early DOS gaming's performance was terrible...Funny thing I always find is that most games on non-dos platforms usually ran at 50/60 frames per second (depending on PAL/NTSC).
TBF, when running on NTSC or PAL you have to process a half of the resolution for each frame.
Since I originally played through Quake from that very release, I'm now wondering if I didn't get the full experience and need to go back and play the expansions with their real soundtrack. I do remember thinking that some of the tracks were odd choices for some of the expansion levels (at the time, I didn't know they had their own soundtracks).
I do remember thinking that some of the tracks were odd choices for some of the expansion levels (at the time, I didn't know they had their own soundtracks).Yeah, for Scourge of Armagon at least the Trent Reznor music does not really fit, but the Jeehun Hwang soundtrack can charitably be described as generic at best. I got well into Dominion of Darkness before I learned that it had its own music, but at least I was able to unlock the secret levels when replaying it.
I was using a Windows Quake CD for the music as the Linux box is best kept as a collectible, but now I am using burned discs from the ripped cue sheets included with the GOG.com release. I have also seen it play with the Quake II CD as well as the 1997 Hasbro version of Frogger. Ribbit.
Yeah, I was fairly disappointed when I got ahold of the expansion soundtracks a few years ago while going through a period of listening to the Quake, Quake II and Quake 3 (the Arena Noise album by Sonic Mayhem is amazing) soundtracks. They really don't compare.I do remember thinking that some of the tracks were odd choices for some of the expansion levels (at the time, I didn't know they had their own soundtracks).Yeah, for Scourge of Armagon at least the Trent Reznor music does not really fit, but the Jeehun Hwang soundtrack can charitably be described as generic at best. [...]
The Frogger soundtrack you say? Hmmm, not sure it has quite enough mummy vibes :P
The Frogger soundtrack you say? Hmmm, not sure it has quite enough mummy vibes :PThe 1997 version of Frogger is a beautiful game with excellent graphics that lean into the technological limitations of the time to achieve something very stylish, and the music is amazing. With any other game though the result is hilarious.
It is just a shame the difficulty leaves it next to unplayable. Broadening the levels beyond a single screen would work fine but you need to have checkpoints after each frog for it to work. I am going off on a tangent now though.
I had completely forgotten that "The Offering" didn't include the expansion soundtracks!Ha, sort of along this subject...
Since I originally played through Quake from that very release, I'm now wondering if I didn't get the full experience and need to go back and play the expansions with their real soundtrack. I do remember thinking that some of the tracks were odd choices for some of the expansion levels (at the time, I didn't know they had their own soundtracks).
The other night I was watching some random youtube videos, and ran into one called 'when the Doom music kicks in.' as a meme. But then as I started watching it, I full on expected the original Doom music to start, as it's bad ass. But then it was whatever noise they put into the new Doom... I was disappointed....
Last edited by Hamish on 28 April 2021 at 4:10 pm UTC
https://www.youtube.com/watch?v=_vAfmXP16Dg
Just playing the game from Steam is cheating of course...
See more from me