LZDoom
LZDoom emulates Doom, Heretic, Hexen and 2 more systems. It reads 38 files, none of them required: it starts games without them.
The app keeps its data in this folder:
On Linux: ~/.config/lzdoom/
Created on first run, and the first directory of the default FileSearch and IWADSearch lists.
Source: src/, src/version.h:100-104
About this profile
Install this emulator's files
With AmberELEC, EmuELEC or RetroPie: the installer finds AmberELEC, EmuELEC or RetroPie and its BIOS folder, then downloads only the files LZDoom reads there and checks each one.
Open a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --emulator lzdoomTechnical notes
Legacy branch of GZDoom 3.x maintained by drfrag for older GPUs and
OpenGL 2 hardware, built as lzdoom. The profiled revision is tag 3.88b,
the one RetroPie builds. version.h names the engine resources: BASEWAD
lzdoom.pk3 and OPTIONALWAD game_support.pk3 (src/version.h:90-91).
Engine resources (built from the wadsrc directories by add_pk3):
lzdoom.pk3 searched first in the program directory, fatal
"Cannot find lzdoom.pk3" when absent
ref: src/d_main.cpp:2530-2534, wadsrc/CMakeLists.txt:3
game_support.pk3 loaded after lzdoom.pk3 when found
ref: src/d_main.cpp:2537, src/d_iwad.cpp:757-763
lights.pk3 autoloadlights, false by default
brightmaps.pk3 autoloadbrightmaps, false by default
ref: src/d_main.cpp:228-229, 2164-2178
A GAMEINFO lump can switch the last two on. Neither is read for a
shareware IWAD. game_widescreen_gfx.pk3 and game_conpics_gfx.pk3 are
looked up too, both on by default (src/d_main.cpp:230-231, 2179-2190),
but no wadsrc directory of this tree builds them.
BaseFileSearch tries the program directory first for these files, then
the name as given, then the FileSearch.Directories of the configuration
(src/d_main.cpp:1793-1830). On Linux those default to $HOME/.config/lzdoom,
SHARE_DIR, /usr/local/share/doom, /usr/local/share/games/doom,
/usr/share/doom, /usr/share/games/doom and $DOOMWADDIR
(src/gameconfigfile.cpp:153-172).
Game data is a user-supplied IWAD. iwadinfo.txt declares each known IWAD
with the lumps it must contain, its file name and the support files it
loads. Each IWADSearch directory (".", $DOOMWADDIR, $HOME/.config/lzdoom
and the four share directories on Linux, src/gameconfigfile.cpp:126-149)
is scanned for the names of the Names block and for any .iwad, .ipk3 or
.ipk7 file, and each candidate is identified by its lumps, not by its name
(src/d_iwad.cpp:319-367, 466-499, 509-527). The Names block also lists
doomu.wad, bfgdoom2.wad, doom2bfg.wad, bfgdoom.wad, doombfg.wad,
doomxbox.wad, doom2xbox.wad, tntunity.wad, plutoniaunity.wad,
freedoomu.wad, freedoom.wad, hereticsr.wad, hexendemo.wad, hexdemo.wad,
strife0.wad, strife.wad and blasphem.wad
(wadsrc_extra/). -iwad adds the named file,
trying .wad, .pk3, .iwad, .ipk3 and .ipk7 when it has no extension, and
the first usable one wins (src/d_iwad.cpp:566-602, 638-650). An IWAD that
declares Required is dropped unless the IWAD it names was found, and Load
files are read from the IWAD's own directory (src/d_iwad.cpp:610-635,
772-788). Startup stops with "Cannot find a game IWAD" when nothing is
identified (src/d_iwad.cpp:693-696). No hash is read.
MIDI music goes through FluidSynth with fluid_patchset "lzdoom"
(src/). The soundfont manager reads every
file of SoundfontSearch.Directories, keeping SF2, WOPL, WOPN and zipped
GUS patch sets by their header, and falls back to
$PROGDIR/soundfonts/lzdoom.sf2 when it found none
(src/gameconfigfile.cpp:175-202, src/,
428-431). The OPL and OPN banks are read only with adl_use_custom_bank or
opn_use_custom_bank, off by default (src/,
253-260).
RetroPie installs lzdoom.pk3, game_support.pk3, lights.pk3, brightmaps.pk3 and soundfonts/ beside the binary, leaves fm_banks/ out, and launches "lzdoom -iwad <file>" with DOOMWADDIR set to its ports/doom directory, into which it downloads doom1.wad and the Freedoom 0.13.0 IWADs.
38 files: 0 required, 38 optional. 7 more files come with the app.
By kind: 45 game data.
In this collection: 26 in repo and 12 missing.
Game data
Section titled “Game data”38 files
game_widescreen_gfx.pk3 optional in repo game data
- Size: 4.8 MB
- SHA1:
31e1ee26c1213207ebaddd15475315c8c9193dc9 - MD5:
094baa608b85fbe636933b4098e7e1f1 - CRC32:
b6a6ff19 - Source:
src/d_main.cpp:230,src/d_main.cpp:2179-2184 - Collection copy:
bios/Game Engines/ LZDoom/ game_widescreen_gfx.pk3
- Widescreen HUD and menu graphics, read by default when present. Not built from this tree. The 3.88b Windows release archive (LZDoom_3.88b_x64.zip) ships this copy.
game_conpics_gfx.pk3 optional missing game data
- Looked up by default when present. Neither this tree nor any 3.88b release package ships it.
doom.wad optional in repo game data
- System: Doom
- The Ultimate DOOM, DOOM Registered, the BFG and XBox editions all use this name and are told apart by their lumps.
doom1.wad optional in repo game data
- System: Doom
- Installed by the platform's own package on: retropie
- Source:
wadsrc_extra/,static/ iwadinfo.txt:402-412 wadsrc_extra/static/ iwadinfo.txt:577 - Collection copy:
bios/Id Software/ Doom/ DOOM1.WAD - Platforms: EmuELEC:
ports/doom/doom1.wad, RomM:doom/DOOM1.WAD
- DOOM Shareware.
doom2.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/,static/ iwadinfo.txt:489 wadsrc_extra/,static/ iwadinfo.txt:518 wadsrc_extra/,static/ iwadinfo.txt:545 wadsrc_extra/static/ iwadinfo.txt:571 - Collection copy:
bios/Id Software/ Doom/ v1.666/ doom2.wad - Platforms: EmuELEC:
ports/doom2/doom2.wad
doom2f.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/,static/ iwadinfo.txt:532 wadsrc_extra/static/ iwadinfo.txt:572 - Collection copy:
bios/Id Software/ Doom/ DOOM2F.WAD - Platforms: RomM:
doom/DOOM2F.WAD
nerve.wad optional missing game data
- System: Doom
- No Rest for the Living, which requires DOOM 2. Also loaded from the IWAD directory by the BFG and XBox editions of DOOM 2.
doomunity.wad optional missing game data
- System: Doom
doom2unity.wad optional missing game data
- System: Doom
nerveunity.wad optional missing game data
- System: Doom
- Loaded from the IWAD directory by DOOM 2: Unity Edition.
extras.wad optional missing game data
- System: Doom
- Loaded from the IWAD directory by the Unity editions.
soundtrack optional missing game data
- System: Doom
- Loaded from the IWAD directory by the Unity editions.
plutonia.wad optional in repo game data
- System: Doom
tnt.wad optional in repo game data
- System: Doom
freedoom1.wad optional in repo game data
- System: Doom
- Installed by the platform's own package on: retropie
- Source:
wadsrc_extra/,static/ iwadinfo.txt:292 wadsrc_extra/static/ iwadinfo.txt:589 - Collection copy:
bios/Id Software/ Doom/ freedoom1.wad
freedoom2.wad optional in repo game data
- System: Doom
- Installed by the platform's own package on: retropie
- Source:
wadsrc_extra/,static/ iwadinfo.txt:280 wadsrc_extra/static/ iwadinfo.txt:590 - Collection copy:
bios/Id Software/ Doom/ freedoom2.wad
freedm.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/,static/ iwadinfo.txt:268 wadsrc_extra/static/ iwadinfo.txt:593 - Collection copy:
bios/Id Software/ Doom/ freedm.wad
heretic.wad optional in repo game data
- System: Heretic
- Source:
wadsrc_extra/,static/ iwadinfo.txt:231 wadsrc_extra/,static/ iwadinfo.txt:243 wadsrc_extra/static/ iwadinfo.txt:594 - Collection copy:
bios/Id Software/ Doom/ HERETIC.WAD - Platforms: RomM:
doom/HERETIC.WAD
- Heretic and Shadow of the Serpent Riders share the name and are told apart by their lumps.
heretic1.wad optional in repo game data
- System: Heretic
- Source:
wadsrc_extra/,static/ iwadinfo.txt:250-260 wadsrc_extra/static/ iwadinfo.txt:596 - Collection copy:
bios/Id Software/ Doom/ HERETIC1.WAD - Platforms: RomM:
doom/HERETIC1.WAD
- Heretic Shareware.
blasphemer.wad optional in repo game data
- System: Heretic
- Aliases:
blasphem.wad
- Source:
wadsrc_extra/,static/ iwadinfo.txt:219 wadsrc_extra/static/ iwadinfo.txt:605-606 - Collection copy:
bios/Id Software/ Doom/ blasphem.wad
hexen.wad optional in repo game data
- System: Hexen
- Source:
wadsrc_extra/,static/ iwadinfo.txt:181 wadsrc_extra/static/ iwadinfo.txt:597 - Collection copy:
bios/Id Software/ Doom/ HEXEN.WAD - Platforms: RomM:
doom/HEXEN.WAD
hexdd.wad optional in repo game data
- System: Hexen
- Source:
wadsrc_extra/,static/ iwadinfo.txt:188-199 wadsrc_extra/static/ iwadinfo.txt:598 - Collection copy:
bios/Id Software/ Doom/ HEXDD.WAD - Platforms: RomM:
doom/HEXDD.WAD
- Deathkings expansion, which requires hexen.wad.
strife1.wad optional in repo game data
- System: Strife
- Source:
wadsrc_extra/,static/ iwadinfo.txt:144 wadsrc_extra/static/ iwadinfo.txt:601 - Collection copy:
bios/Id Software/ Doom/ STRIFE1.WAD - Platforms: RomM:
doom/STRIFE1.WAD
sve.wad optional missing game data
- System: Strife
- Veteran Edition, which requires Strife: Quest for the Sigil.
voices.wad optional in repo game data
- System: Strife
- Source:
wadsrc_extra/,static/ iwadinfo.txt:135 wadsrc_extra/static/ iwadinfo.txt:148 - Collection copy:
bios/Id Software/ Doom/ VOICES.WAD - Platforms: RomM:
doom/VOICES.WAD
- Loaded from the IWAD directory by Strife.
chex.wad optional in repo game data
- System: Chex Quest
- Source:
wadsrc_extra/,static/ iwadinfo.txt:118 wadsrc_extra/static/ iwadinfo.txt:607 - Collection copy:
bios/Id Software/Doom/CHEX.WAD - Platforms: RomM:
doom/CHEX.WAD
chex3.wad optional in repo game data
- System: Chex Quest
- Source:
wadsrc_extra/,static/ iwadinfo.txt:105 wadsrc_extra/static/ iwadinfo.txt:608 - Collection copy:
bios/Id Software/ Doom/ chex3.wad
hacx.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/,static/ iwadinfo.txt:81 wadsrc_extra/static/ iwadinfo.txt:611 - Collection copy:
bios/Id Software/Doom/hacx.wad
hacx2.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/static/iwadinfo.txt:69,wadsrc_extra/static/iwadinfo.txt:612 - Collection copy:
bios/Id Software/Doom/hacx2.wad
action2.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/static/iwadinfo.txt:93,wadsrc_extra/static/iwadinfo.txt:609 - Collection copy:
bios/Id Software/Doom/action2.wad
harm1.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/static/iwadinfo.txt:57,wadsrc_extra/static/iwadinfo.txt:610 - Collection copy:
bios/Id Software/Doom/harm1.wad
square.pk3 optional missing game data
- System: Doom
- Absent from the Names block: picked up only when named with -iwad.
square1.pk3 optional in repo game data
- System: Doom
- Source:
wadsrc_extra/static/iwadinfo.txt:45,wadsrc_extra/static/iwadinfo.txt:613 - Collection copy:
bios/Id Software/Doom/square1.pk3
delaweare.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/static/iwadinfo.txt:22,wadsrc_extra/static/iwadinfo.txt:614 - Collection copy:
bios/Id Software/Doom/delaweare.wad
rotwb.wad optional in repo game data
- System: Doom
- Source:
wadsrc_extra/static/iwadinfo.txt:9,wadsrc_extra/static/iwadinfo.txt:615 - Collection copy:
bios/Id Software/Doom/rotwb.wad
Comes with the app
Section titled “Comes with the app”7 files
lzdoom.pk3 comes with the app game data
- Size: 1.2 MB
- SHA1:
195596bcfc97eee8ffaa049a912c8cb54a539416 - MD5:
fa846e2dc4663d262cc52daff5bdd69a - CRC32:
1d2b3316 - Source:
src/version.h:90,src/d_main.cpp:2530-2534,wadsrc/CMakeLists.txt:3
- Fonts, menus, ZScript, textures. Fatal if absent. Existence is the only test. The pk3s are zipped at build time and their bytes change from one build to the next: the hashes are those of the copy in the 3.88b Linux release package (lzdoom_3.88b_amd64.deb).
game_support.pk3 comes with the app game data
- Size: 218.0 KB
- SHA1:
f645d7a3a00321c84490243690caa4415b3803f2 - MD5:
e11fb785ff8d616092a85154a6a19535 - CRC32:
4c14b502 - Source:
src/version.h:91,src/d_main.cpp:2537,src/d_iwad.cpp:757-763,wadsrc_extra/CMakeLists.txt:3
- Holds iwadinfo.txt and the per-game filters. Shipped in the 3.88b release packages.
lights.pk3 comes with the app game data
- Size: 22.1 KB
- SHA1:
7f64f0d306c05e7c1740da1b9e565f041449a934 - MD5:
199fa1fac48ab6be2249fb33e1190a32 - CRC32:
4a8b1d81 - Source:
src/d_main.cpp:229,src/d_main.cpp:2167-2172,wadsrc_lights/CMakeLists.txt:3
- Dynamic light definitions, read when autoloadlights is set. Shipped in the 3.88b release packages.
brightmaps.pk3 comes with the app game data
- Size: 239.5 KB
- SHA1:
e33baca425c3087b973cc87cdedb051482e7a606 - MD5:
19c17b0ccbe5568aacb4ed517524c5de - CRC32:
a0d2703c - Source:
src/d_main.cpp:228,src/d_main.cpp:2173-2178,wadsrc_bm/CMakeLists.txt:3
- Brightmap textures, read when autoloadbrightmaps is set. Shipped in the 3.88b release packages.
lzdoom.sf2 comes with the app game data
- Path:
soundfonts/lzdoom.sf2
- Size: 3.1 MB
- SHA1:
9dba9212f2e34446ab034595665809f09f303d63 - Source:
src/sound/music/i_soundfont.cpp:428-431,src/sound/music/music_config.cpp:118,src/CMakeLists.txt:1223 - Collection copy:
bios/Other/ScummVM/Roland_SC-55.sf2 - Platforms: Lakka:
scummvm/extra/Roland_SC-55.sf2, RetroArch:scummvm/extra/Roland_SC-55.sf2, RetroPie:scummvm/extra/Roland_SC-55.sf2
- Default soundfont, used when the soundfont directories hold none. Committed in the tree as soundfont/lzdoom.sf2 and copied next to the executable.
GENMIDI.GS.wopl comes with the app game data
- Path:
fm_banks/GENMIDI.GS.wopl
- Size: 116.0 KB
- SHA1:
538d220d87b86b997f539265eb12a6c319e17a1c - Not in the platform's package, so the pack brings it, on: retropie
- Source:
src/CMakeLists.txt:1225,src/gameconfigfile.cpp:175-202,src/sound/music/i_soundfont.cpp:352-356 - Collection copy:
bios/Other/idtech4a++/uzdoom/fm_banks/GENMIDI.GS.wopl
- OPL3 bank copied next to the executable, read only with adl_use_custom_bank. The RetroPie package leaves it out.
gs-by-papiezak-and-sneakernets.wopn comes with the app game data
- Path:
fm_banks/gs-by-papiezak-and-sneakernets.wopn
- Size: 268.4 KB
- SHA1:
12e77c61ae107b7dbcebb230fe45ec7791a07877 - Not in the platform's package, so the pack brings it, on: retropie
- Source:
src/CMakeLists.txt:1227,src/gameconfigfile.cpp:175-202,src/sound/music/i_soundfont.cpp:357-361 - Collection copy:
bios/Game Engines/LZDoom/fm_banks/gs-by-papiezak-and-sneakernets.wopn
- OPN2 bank copied next to the executable, read only with opn_use_custom_bank. The RetroPie package leaves it out.
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start