Source port parameters


For a list of command line parameters in original Doom games and for general information on Doom parameters, see the main parameters article.

Source ports support various extra command line parameters not found in vanilla Doom. Where not otherwise stated, ports derived from ones listed here usually support their parent ports' command-line parameters, and are therefore not exhaustively listed below.


Prevents window scaling (if it has been activated via an in-game menu). The graphics resolution will be set by the -height and -width options.


Composite parameter specifying display size and, optionally, windowed mode. The choices are limited to Doom95's supported screen resolutions (320x200, 320x240, 640x400, and 640x480); windowed mode additionally requires 8-bit color.


Chocolate Doom, Eternity Engine
Transform the 8-bit screen buffers created by the renderer into 32-bit before display, solving problems that happen otherwise with SDL and modern hardware.


Specifies an IWAD file to use.


Emulates the Doom press release beta.

-bexout <name>[edit]

Causes debugging information related to .deh and .bex patches to be written to the file <name>.


PrBoom, MBF, Crispy Doom, Doom Retro
Forces a (re-)building of the BLOCKMAP lumps for loaded maps.


Sets a frag limit for deathmatch games.

-complevel <compatibility level>[edit]

Toggles various bug fixes and enhanced features for maximum compatibility with other (related) source ports. A compatibility level of -1 means that all enhanced features and bug fixes are available, while 0 through 4 correspond to vanilla Doom, 5 corresponds to DOSDoom, 6 corresponds to TASDoom, 7 through 9 correspond to Boom, 10 corresponds to LxDoom, 11 corresponds to MBF, and 12 through 17 emulate earlier versions of PrBoom. 21 is for the MBF21 standard, devised in 2021 for any source port to implement.
The COMPLVL lump allows forcing complevels through a text file in a WAD.

-deh <filename>[edit]

Boom, Chocolate Doom, Doom Legacy, EDGE, ZDoom, Doom Retro
Loads a DeHackEd file.

-dogs <num>[edit]

Overrides the current number of helper dogs, setting it to num.


Disables DirectDraw acceleration and vertical synchronization.


Boom, PrBoom
Similar to -timedemo, but faster.

-ffmap <l>[edit]

When used with -playdemo, causes the demo to play at -fastdemo speed until it reaches level l of any episode, then slow down to normal speed. Ignored in the presence of -timedemo.


Crispy Doom
Loads mirrored versions of the maps. WARNING: In Crispy Doom this is the default on April 1st!

-frags <num>[edit]

Ends a deathmatch game when one player has achieved a frag count of num.

-game <name>[edit]

Doomsday, Eternity Engine
Tells Doomsday to launch straight into a game, rather than entering the Ring Zero GUI. The names Doomsday uses for each game can be viewed in the Ring Zero GUI.
In the Eternity Engine, this parameter controls which game subfolder to use under the /base and /user paths. Depending on the end user's setup of their file system, this may launch the requested game.

-geom <width>x<height>[w][edit]

Eternity Engine, PrBoom+
Allows specification of any supported video mode or window size, overriding any settings stored in the configuration file. Eternity also supports additional optional letter flags at the end for controlling vsync, window border, and other low-level video options.



-height <num>[edit]

Sets vertical screen resolution to num pixels (the default is 200). If -2 or -3 is also used, it will multiply this value accordingly.

-host <num>[edit]

Starts a multiplayer game for <num> players. The game will wait until the other <num>-1 players join (see -join).

-iwad <filename>[edit]

Boom, Chocolate Doom, Doom Legacy, Doomsday, DOSDoom, ZDoom, Doom Retro
In most ports, specifies an IWAD file to use.
In Doomsday, it instead specifies the directory in which IWADs are located. If Doomsday only finds one Iwad at the location, it will automatically launch straight into the game it is for, bypassing the Ring Zero GUI.
DOSDoom supports using this parameter to specify a directory or a file.

-join <ip>[edit]

Joins a multiplayer game being established using -host.

-mergedump <filename>[edit]

Crispy Doom
Merges the PWAD file(s) given on the command line with the IWAD file and writes the resulting data into the file given as argument. Might be considered as a replacement for the DEUSF.EXE tool.

-net <hostname> <port>[edit]

Starts a network game using the UDP/IP protocol, by connecting to the machine hostname via port number port. (The port number may be omitted, in which case port 5030 is used.)


LxDoom, PrBoom
Disables certain types of graphics acceleration in X (for maximum compatibility during multiplayer games).


Disables autoloading mechanisms existing in ZDoom (autoload section in the configuration file, and skins folder).




Bypasses the GUI launcher (command line arguments will not work with Doom95 otherwise).


Identical to -nodraw.


PrBoom, ZDoom
Disables joystick input.


Starts a game without loading any of the default PWADs or executable patches (defined within an in-game menu).


Prevents mouse "grabbing". The default behavior is to grab the mouse (see -grabmouse).


Disable upsampling of sound effects.


Skip the dialog box ("Warning: this Doom version has been modified...") when loading a PWAD.




Sets internal "Pentium" flag, if used the first time the game is ever run.


Woof!, Doom Retro, DSDA-Doom
Enables automatic pistol starts on each level.


Specifies the number of players in multiplayer (2, 3, or 4).

-save <directory>[edit]

Boom, PrBoom, Doom Retro, Eternity Engine
Specifies a directory for saved games (the default is the directory which contains the executable).

-savedir <directory>[edit]

ZDoom, Doom Retro
Specifies a directory for saved games (the default is the directory which contains the executable).

-shotdir <directory>[edit]

PrBoom+, ZDoom, Doom Retro
Specifies a directory for screenshots (the default is the directory which contains the executable).


Chocolate Doom, Eternity Engine, PrBoom, Doom Retro
Allows beginning a game with cooperative gameplay rules while only a single player is active. Players can respawn without restarting a level, and extra weapons, items, and enemies which are marked as "multiplayer-only" will spawn in levels, often providing an increase in difficulty beyond the Ultra Violence skill level.


Forces video surfaces into RAM.


Duplicates tic commands to reduce latency in modem games.

-viddump <filename>[edit]

Captures a timedemo to a file of the given name, defaulting to a Matroska file with h264 video and Ogg Vorbis audio. Requires external programs to be available in PrBoom+'s own folder. MIDI playback is only recorded if FluidSynth or OPL emulation is used.


Keeps video surfaces in graphics memory.

-vidmode <gl>[edit]

Use the OpenGL video mode. The default is to use the software video mode


The Heretic equivalent of the -pistolstart parameter.

-weirdo <seconds>[edit]

Items respawn after a specified time.

-width <num>[edit]

Sets horizontal screen resolution to num pixels (the default is 320). If -2 or -3 is also used, it will multiply this value accordingly.

External links[edit]