id Software's 1997 GPL Linux source release of DOOM, patched to build and run on modern 64-bit Linux, with TrueColor rendering, a resizable window, and fullscreen support added on top of the original X11 renderer.
- Fixed several 64-bit bugs (pointer/int size assumptions from 1997) that caused crashes and under-allocated buffers, plus C23/modern-gcc build breakage.
- Added TrueColor/DirectColor rendering — no 8-bit PseudoColor display required.
- Added dynamic window resizing and fullscreen (Alt+Enter, via EWMH).
- Fixed keyboard focus grab on startup (previously the game could get stuck on the title/demo loop forever on some window managers).
- Auto-advances past the title/demo loop after 3 seconds if no input arrives, same as a real ENTER press.
- Replaced the broken/unbuilt sound path with direct ALSA playback.
Linux with X11 (Xorg or XWayland), a C compiler, and libX11/libXext
dev headers. setup.sh installs all of this on Fedora/RHEL, Debian/
Ubuntu, Arch, and openSUSE.
./setup.sh # installs build deps + fetches the shareware IWAD
./run.sh # builds and launches DOOMIf you own the full game, drop doom.wad or doomu.wad (lowercase)
into wad/ and it's picked up automatically instead of the shareware
episode.
| Key | Action |
|---|---|
| Arrow keys | Move / turn |
| Ctrl | Fire |
| Space | Use / open doors, flip switches |
| Shift | Run |
| Alt | Strafe (combine with arrow keys) |
| 1-7 | Select weapon |
| Tab | Toggle automap |
| Esc | Main menu |
| Enter | Confirm menu selection |
| - / = | Shrink / grow status bar view |
| F1 | Help screen |
| F2 / F3 | Save / load game |
| F4 | Sound volume menu |
| F5 | Toggle detail level |
| F6 / F9 | Quicksave / quickload |
| F7 | End game |
| F8 | Toggle in-game messages |
| F10 | Quit DOOM |
| F11 | Cycle gamma correction |
| Pause | Pause game |
| Alt+Enter | Toggle fullscreen (this port's addition) |
| drag window edge | Resize the window (this port's addition) |
Pass these through run.sh, e.g. ./run.sh -fullscreen:
| Flag | Effect |
|---|---|
-fullscreen |
Start in fullscreen |
-2, -3, -4 |
Start at 2x/3x/4x the base 320x200 window size |
-geom [+-]X[+-]Y |
Start position |
-grabmouse |
Grab and confine the pointer |
-disp <display> |
Use a specific X display |
setup.sh installs dependencies, fetches doom1.wad
run.sh builds and runs the game
TESTING.md manual testing checklist
linuxdoom-1.10/ the (modified) id Software source
wad/ IWAD files live here (fetched/added, not tracked in git)
LICENSE GPLv2, matching id Software's original release
GPLv2 — see LICENSE. id Software released the original
linuxdoom-1.10 source under GPLv2 only, so this port stays under
those same terms.
- id Software — original DOOM and the 1997 Linux source release.
- The shareware IWAD is fetched from the Internet Archive.