Troubleshooting

Quake being cantankerous? Refusing to run? Show it who's boss!

This guide is also hosted at the Steam community site: Troubleshooting
If you have comments, questions, corrections, or additions, please post a comment on the guide over there. Or, you can send me an email at my address at the bottom of this page.

Table of Contents

What is This?

(Note: the header image is from the Quake Revitalization Project.)

Other guides cover Quake configuration, but they're organized topically; if you're experiencing a problem it can be hard to find the solution. This guide is arranged according to the roadblocks you might hit when trying to get Quake up and running.

For each symptom, this guide will tell you what the problem is and how to (hopefully) solve it. To keep things concise, you may be redirected from here to the section of some other guide that describes the fix.

You'll need to be comfortable with a few concepts:

First, you should know what a “Quake engine” is. If you don't, this guide should clear things up: Quake Engines, Old and New

You'll notice that a lot of the problems mentioned in this guide are specific to the old, original Quake engines. The easiest way to avoid most problems is to use a modern Quake engine. If you feel that you don't want to use a new engine because you are attached to the original look of Quake, here's a couple of things to consider:

  • If you're under the impression that modern Quake engines necessarily do things like replace textures and add visual effects – that's not the case. Several modern engines stick to the original GLQuake look, although usually fixing some of its rendering bugs. The Quake Engines guide is a good reference for finding some candidates you can try; also see the “Oldschool Texturing” section of the Quake Owner's Manual guide for a way to tweak one of the more divisive GLQuake behaviors.
  • Several modern software-renderer engines are also mentioned in the Quake Engines guide. If you require the specific look of DOS Quake or WinQuake, you can almost certainly find a newer engine that still has the right stuff.


In any case, many of the fixes involve using “console variables” or “command-line arguments”. If you aren't familiar with how to work with those things in Quake, see the sections from “The Config File” through “The Command Line” in this guide: Quake Owner's Manual

The Quake Engines guide and Quake Owner's Manual guide will be referenced below from time to time. Guide links take up a lot of screen space in Steam community guides, so I won't link to them again.

OK! Let's get started. Each section below contains a few similar problems, so check the titles inside each section to look for the symptom that's bugging you.

Can't Start Quake

• Crashes when launched through Steam

The most common cause for this problem is that the Quake engine you're using doesn't play nicely with the Steam community overlay.

If you're trying to launch the original Quake (WinQuake) or QuakeWorld program, this probably isn't the issue, since they don't support the overlay anyway. But for GLQuake or GLQuakeWorld, or a modern Quake engine, the overlay could be the problem. In your Steam client, open the properties dialog for Quake and disable the overlay. See if that fixes things.

Note that most of the time it's quite possible to use the Steam community overlay with a Quake engine, it's just that sometimes it causes problems on some systems.

Most commonly it seems to be an old version of DarkPlaces that experiences this issue. If you are using the “Ultimate Quake Patch”, then you have an old version of DarkPlaces, and you should probably consider updating to a more recent version. See the section on the DarkPlaces engine in the Quake Engines guide.

• Startup fails with an error dialog about “gfx.wad”

If you get an error that specifically says “W_LoadWadFile: couldn't load gfx.wad : can't find pak0.pak”, this means that something is wrong with the way your Quake files are arranged. Specifically, the Quake engine can't find the “pak0.pak” file.

The pak0.pak and pak1.pak files are in the “id1” folder. A Quake engine will look for the id1 folder in the current working directory. That directory will normally will be the place where the Quake engine program is located, especially if you are launching Quake by clicking on an icon or button; so, normally you want the id1 folder to be located next to your Quake program. If id1 isn't the right directory, or the pak files aren't inside id1, you'll get this error message.

If you need to make the Quake engine look for the id1 folder somewhere else, you can use the “-basedir” command-line argument as described in the Quake Engines guide.

• Startup fails with an error dialog about “Hunk_Alloc” or “Z_Malloc”

If you're running a mod or an addon map, or you're using large custom config scripts, some Quake engines (including the original ones) may need command-line arguments telling them to reserve more memory. See the “Limits” section of the Quake Owner's Manual guide, as well as the “Command Line Examples” at the end of the guide. (“Hunk_Alloc” errors mean you need a larger heapsize value, and “Z_Malloc” errors mean you need a larger zone value.)

Whenever you run downloaded content, be sure to check the readme file to see if it requires special command-line arguments or other settings.

• Startup fails with an error dialog about “unrecognized protocol number”

An error like “Host_Error: CL_ParseServerInfo: Server is unrecognized protocol number” is a complaint from Quake client code that it is getting unexpected stuff from a Quake server… i.e. that the server is a different version or variety of Quake from the client. Somewhat surprisingly, this error can happen in singleplayer too. This is because the playback of demos (game recordings) is handled through the multiplayer client code.

When you start Quake it may automatically begin to play some demos. Quake shipped with a few of these demos, which you're probably really familiar with. If you're trying to play a mod, then that mod may include some different demos to autoplay. And it may be the case that those demos were originally recorded in a way that is incompatible with the Quake engine that you're using.

If this error happens when you're trying to launch Quake with a mod, the first thing to do is to check the mod's documentation (README file, or whatever) to see which Quake engine is recommended for playing the mod.

If you're determined to use a non-recommended Quake engine – or if you're using the right one and the error is still happening – then you'll need to skip the autoplay demos. One practical way to do this is to use a command-line argument to launch Quake directly into a map. For example if the mod has a “start” map (start.bsp), you could use the command-line argument “+map start” to go directly to that map without playing the demos. The mod's documentation should tell you which map to start with.

• GLQuake/GLQuakeWorld crashes on startup (and disabling the overlay doesn't help)

The version of GLQuake distributed through Steam, version 0.95, is a little crashier than later versions. This can be fixed (sometimes) by making sure you have exactly the right command-line arguments for your video settings, but a better solution is to get GLQuake version 0.98 (Windows users only). See the “GLQuake Version Issues” section of the Quake Owner's Manual guide.

The original GLQuake/GLQuakeWorld also may crash if your video card driver is not configured to enable an “extension limit” (for OpenGL extensions) when running those programs. Sometimes this option is visible in the per-program settings in your driver's control panel; sometimes it isn't though, depending on the driver version. For example, at the time of writing this the NVIDIA control panel does not expose this setting, and you have to use some other tool like NVIDIA Inspector to access it.

Fortunately modern driver software should enable this extension limit option for all the original Quake engines. However be aware that driver software uses the name of the program file to figure out whether to apply its pre-baked settings. So for example if you rename Glquake.exe to Foo.exe, the driver software will not apply the extension limit when you run Foo.exe.

A final common problem (although less common with Steam Quake setups) is having an opengl32.dll file in the Quake folder. This library file enabled running GLQuake with old video cards from 3dfx, through the Glide API used by 3dfx drivers. Unless you are using actual 3dfx hardware or Glide emulation, then you don't want to have this library file getting in the way. It will prevent GLQuake/GLQuakeWorld from properly using modern video card drivers. For that matter, opengl32.dll will cause problems for any 32-bit Quake program that uses OpenGL.

(Note that if you are a user of the GOG distribution of Quake, its setup for GLQuake does use opengl32.dll along with Glide emulation via nGlide. Perhaps GOG was worried about the extension-limit issue. If you don't want to use Glide emulation for GLQuake or other 32-bit Quake programs, then remove that opengl32.dll file.)

Quake Looks Weird

• Wacky colors in WinQuake/QuakeWorld

You may see a technicolor mess when launching Quake (WinQuake) or QuakeWorld. These two original Quake engines use DirectDraw in a way that is not well-supported in modern Windows.

The problem may fix itself when the first “screen flash” effect happens. This is my experience when running WinQuake; the colors correct themselves during the opening attract reel.

QuakeWorld doesn't have an attract reel and launches straight into the console. You can type “bf” (without the quotes) and press Enter to force a screen flash which, for me, fixes the colors.

If your problems with this issue are more persistent, then ddhack may help; also the PC Gaming Wiki describes a way to fix common DirectDraw color issues in old games which may apply to WinQuake/QuakeWorld. However I haven't tried any of those solutions myself.

• Wacky colors in other Quake engines

This is a bit of a long shot, but if you see a screen full of corrupted/glitchy graphics, it could be because you need to force 32-bit color depth to make your graphics drivers happy. See the “Color Depth” section of the Quake Owner's Manual guide. Note that this doesn't apply if you're using an engine with a software renderer.

• It only takes up one quarter of the screen

This is a surprising one, but if you're on Windows 8 (and perhaps later Windows versions) then it's a specific problem with an easy fix. The answer is to disable “display scaling on high DPI settings”. You don't have to globally disable it; you can disable it just in the properties for the Quake program that you're running. A forum thread has more discussion and details.

Can't Set the Video Resolution

• No video options menu

The original GLQuake/GLQuakeWorld and some GLQuake-based engines don't have an in-game video options menu. You have to use command-line arguments to set your resolution for these engines. See the “Display: Resolution” section of the Quake Owner's Manual guide, as well as the “Command Line Examples” at the end of the guide.

• Video options menu doesn't have widescreen choices

The original Quake (WinQuake) and QuakeWorld engines each have a video options menu, but don't support widescreen settings.

Some people have reported good results using ddhack to enable widescreen options in WinQuake, and perhaps it would also be helpful for QuakeWorld. I haven't tried it myself in either case though.

If you really want widescreen you may have to use some other Quake engine.

Almost There, but It Still Looks Wrong

• Can't see the statusbar

Probably your “viewsize” is too big. Hit the minus key to see if that makes the statusbar appear. Maybe hit it again a few times if necessary. :-) If you go too far and start actually reducing the size of the rendered screen area, you can use the plus key to go back. The “Display” section of the Quake Owner's Manual guide has a bit more about viewsize.

(Another reason you might not be seeing a statusbar is DPI scaling, described in the “It only takes up one quarter of the screen” issue of the “Quake Looks Weird” section above.)

• Statusbar is “stretched”

Several Quake engines will have this problem when using a widescreen resolution. The fix depends on which engine you're using. See the “Display” and “Display: HUD” sections of the Quake Owner's Manual guide, as well as the “Console Settings Examples” at the end of the guide.

• Field of view is cramped

This is another common issue when trying to use widescreen resolutions. See the “Display” and “Display: FOV” sections of the Quake Owner's Manual guide, as well as the “Console Settings Examples” at the end of the guide.

• Where's my crosshair?

If you don't have a crosshair (and you want one), and you're using a modern Quake engine, then you might be able to find an option to turn on the crosshair in the options menus. Otherwise you can use a console variable to enable it; see the “More HUD Tweaks” section of the Quake Owner's Manual guide.

• Where's my weapon?

If your weapon isn't being shown on-screen, it's probably for one of two reasons:

  • If you're using the original non-GL versions of Quake (WinQuake) or QuakeWorld, your weapon will disappear if you change the “fov” console variable to have any value other than 90. If you want to have a different FOV and still see your gun model, you'll need to use some other Quake engine.
  • If that's not it, then check the value of the “r_drawviewmodel” console variable. A value of “0” for that variable will hide the gun model, and value of “1” will show it.

• Fog has color banding

You might be running with a 16-bit color depth instead of 32-bit. See the “Color Depth” section of the Quake Owner's Manual guide. Note that this doesn't apply if you're using an engine with a software renderer.

What's Up with the Soundtrack?

• Hearing the wrong music

If you're hearing mystery music when playing Quake, make sure you don't have a CD in your CD drive. Many Quake engines will play tracks from whichever CD you have in the drive. That might be what you want, but it might not. :-)

If you don't have a CD in your drive and you are still hearing odd tunes, then you might have installed a mod that put music files somewhere under your Quake folder. They might be individual music files (like MP3 or OGG files) or they might be hidden inside an archive file with the .pak or .pk3 extension. You might want to try starting from a clean installation.

• I don't hear any music at all

First, make sure the music volume in the options menu is not set to zero.

• Music volume is turned up, but still no music

If you don't have the Quake CD in your CD drive then you will not have any soundtrack music. At least, not until you fix things! The Quake Soundtrack Solutions guide is entirely dedicated to solving that problem: Quake Soundtrack Solutions

A few more specific problems are covered below.

• No music when playing on Linux

Soundtrack file playback on Linux may require that you install additional external libraries for playing music files of these formats, such as libogg or libvorbis for OGG support, and libmad or libmpg123 for MP3. You can check the documentation for your Quake engine of choice to be sure.

• No music when using the DirectQ engine

If you're using OGG format soundtrack files with DirectQ, you must also install the DirectShow filter for OGG. You may have to reboot after installing that filter.

• Music sounds muffled

Check that you're using the latest version of your Quake engine. Particularly, if you're using QuakeSpasm, make sure that you have version 0.85.10 or later. The “Sample Rate” section of the Quake Soundtrack Solutions guide has more discussion.

Mouse Control Problems

• Can't look up and down

If you want to use the mouse to look up and down – and you probably do! – then that means you want to enable “mouselook”. You probably do NOT want to enable “lookspring” or “lookstrafe”.

The Quake options menu allows you to set up your key controls so that you have mouselook while a key is pressed down, but more likely you just want to have mouselook enabled all the time. Many modern Quake engines have mouselook already enabled, and/or have menu options that allow you to permanently enable it. However some Quake engines require using the console and the config files to set this up. See the “Mouselook” section of the Quake Owner's Manual guide, as well as the “Console Settings Examples” at the end of the guide.

• Up and down are backwards

If you have mouselook enabled, but down is up and up is down, then you need to invert mouselook. You should be able to find this setting in the options menus.

• Rockets don't go where they're aimed

Originally Quake had a small amount of vertical auto-aim enabled by default. This can make it easier to use some of the weapons, but rockets in particular can be a little frustrating if you combine mouselook and auto-aim.

Some Quake engines now disable auto-aim by default. But if you're using one that doesn't, you can disable it. See the “Mouselook” section of the Quake Owner's Manual guide and scroll down to the part about “Vertical auto-aim”. The “Console Settings Examples” at the end of the guide may also be useful.

Gameplay Problems

• Beat all the episodes but can't finish the game

When you beat an episode in Quake, you collect a “rune”. Once you have all four runes, the central floor of the hub area should open up and allow you to go to the final map.

Some Quake engines have a bug where you may lose a rune. When this happens, the episode for that rune will still have an open entrance in the hub, and the central floor will never open.

The easiest way to get around this problem is to use the console command “map end” to jump directly to the final level.

The only thing you'll be missing by using “map end” is seeing a short ramp and the final slipgate. If you really want to experience that however, there's a couple of things you can try:

One option is to use the “noclip” console command so that you can walk through solid objects. Move through the closed floor and into the ramp that leads down to the final map. Once you are through into an open area, use “noclip” again to revert to normal behavior, and continue playing.

Alternately you can try using the “impulse 11” console command to give yourself a rune. If you have multiple missing runes, you should be able to use “impulse 11” multiple times to get multiple runes, as long as you close and re-open the console between each command. This approach is discussed on a Quake wiki, on the quakeone.com forums, and on the old Steam forums.

• Can't get 100% kills

Maybe you didn't kill all the monsters! :-)

Actually there are a couple of other things that might be going on:

Some monsters are hidden in secret areas. And in a couple of cases, there are secret areas that aren't “officially” marked as secrets, so you may not have found them even if the end-of-map screen shows that you found all the secrets. A thread on the quakeone.com forums talks about this.

And if the map has fishes on it, you will never get 100% kills, at least not with the original Quake and without mods. Originally Quake had a bug where each fish counted twice toward the monster total, but still only gave you one kill for it.

A few modern Quake engines fix the fish-count bug, as do some Quake mods. In fact a mod exists purely to fix just the fish-count bug, if you really care about getting 100% kills on the end-of-map screen.

• Some items or monsters are missing/misbehaving

If you're using DarkPlaces, it's possible that some things can “fall out of the map” or otherwise not behave properly, depending on how you have DarkPlaces configured. See the “Compatibility” section of the Quake Owner's Manual guide.

• Can't load map 2 of episode 4

This problem is a bug with an old version of DarkPlaces. The only reason to specifically mention here is that it affects the version of DarkPlaces in the “Ultimate Quake Patch” bundle. See the relevant forum thread for details and workarounds.

• Crash on map change, with “GL_LoadTexture” error

The original GLQuake/GLQuakeWorld engines can crash on map change and show an error dialog that says “GL_LoadTexture: cache mismatch”. More specifically, this happens if you're changing between map A and map B, and map A has a texture with a different size from a texture of the same name in map B. The Quake Info Pool has a list of the specific map combos that have this problem. In the original Quake maps, DM4 is a problem child that will conflict with either E2M5 or E4M6.

• autoexec.cfg isn't working

If you've created an autoexec.cfg file but it doesn't seem to be used when Quake starts up, then the most common reason is that you currently have Windows set to “hide file name extensions”. When you think you are creating a file named “autoexec.cfg”, you may actually be creating a file named “autoexec.cfg.txt” or something else that Quake won't like. Do a web search to find info about how to show file extensions in the version of Windows that you are using.

A less common problem (that can happen on any OS, not just Windows) is that you have multiple autoexec.cfg files in various folders or pak files. If Quake sees more than one autoexec.cfg file, it will only use one of them. See the section on “File precedence” in the Quake Owner's Manual guide.

• On Linux, some files aren't recognized

This item covers a grab-bag of mysterious problems on Linux, that all turn out to be caused by some file apparently being ignored – whether it's a map, a sound, a script, or even a whole directory full of stuff.

A common gotcha in Linux Quake installations is that the filesystem is case-sensitive. Over on Windows, where most Quake content was developed, it was not case-sensitive. So Quake content authors have been known to be a little careless about whether for example their mod's start map is named “start.bsp” or “START.BSP”. On Windows, it doesn't matter. On Linux, it could matter a lot.

If you're suffering from files being unrecognized in your Linux Quake installation, look for file or directory names that have any capital letters. The solution is almost always that you should rename everything to be all-lowercase.

It Used To Work But Now It Doesn't

One of the most frustrating kinds of problems is when you used to have a perfectly-working Quake setup, and now for some reason it is misbehaving.

First, try running Quake without any command-line arguments for missionpacks or mods. No “-game” argument, and no “-hipnotic” or “-rogue”. If this fixes things, then the problem was in the mod or missionpack you were using.

If you made any other recent changes to your configs or command-line, try getting rid of those changes.

If none of that fixes things, you can always break out the big hammer: the clean start.

Make a new Quake folder somewhere, like on your desktop. Put a fresh copy of your Quake engine inside this new Quake folder – and make sure you include any libraries or other files that your Quake engine uses. Also create a new empty “id1” folder in there.

Copy “pak0.pak” and “pak1.pak” from your old “id1” folder into this new “id1” folder. You now have the minimal setup for running Quake.

Try running your Quake engine, preferably with no unusual command-line arguments. Hopefully it works! If it does, then that means that some bit of configuration or content from your old setup was causing your problems.

Now you can try copying config files/scripts from your old setup into this new setup. If things still work you can now try copying or moving other content – maps, mods, textures, whatever. Eventually you may find what was giving you grief. Or if you don't care about all the old content you had installed, forget about all that and just enjoy your squeaky clean Quake.

Once you have a working Quake setup inside this new folder you created, you can delete your old misbehaving Quake installation and move the new setup into its place.

There are many different variations on this kind of problem-solving, but the general idea is always the same: try to get back to as clean and minimal a Quake setup as you can manage, and then build back up from there.

Revision History 'n Stuff

2015

  • Sep 15: moved new-engine apologia to top of guide
  • Sep 15: autoexec.cfg problems
  • Sep 15: mention ddhack for DirectDraw & widescreen res issues
  • Sep 15: more “can't start GLQuake” issues: extension limit and opengl32.dll
  • Jun 11: new final section about trying a clean start
  • Jun 11: protocol error and Linux case sensitivity
  • Apr 26: more soundtrack-related issues
  • Mar 20: cleanup to be clear that “-bpp 32” doesn't apply to SW renderer
  • Mar 05: tweaking comments about modern Quake engines under “Quake Looks Weird”
  • Mar 05: added the obvious “map end” solution for “can't finish the game”

2014

  • Oct 20: different soundtrack behavior for the new QuakeSpasm version 0.90.0
  • Jul 26: some editing; new sections on missing weapon and on GL_LoadTexture crash



This guide is also hosted at the Steam community site: Troubleshooting
If you have comments, questions, corrections, or additions, please post a comment on the guide over there. Or, you can send me an email at my address below.