GZDoom runs Doom-engine games and mods on modern Linux, but it does not include the original game data. Install the port, provide an IWAD you are allowed to use, then launch the game from GZDoom.
Choose an installation route
Use Snap if your distribution supports Snap packages and you want one command. The current GZDoom Flatpak listing is no longer maintained, so it is not a dependable route for a new GZDoom install.
Use the GZDoom download page when you need the project’s current Linux build instead. That route is useful when Snap does not fit your distribution or desktop setup.
Install GZDoom with Snap
Snap provides a current GZDoom package. Confirm that Snap is available, then install the package with this command.
sudo snap install gzdoom

The command completed successfully with GZDoom 4.14.0 during this refresh. The package command installs GZDoom, but it does not supply Doom, Doom II, Heretic, Hexen, or another commercial game IWAD.
If Snap is new to you, use this explanation of Snap packages on Linux before changing package sources or permissions.
Add an IWAD before launching
GZDoom needs an IWAD, the game data file that starts a game, in a directory you can select when GZDoom asks for game data.

The missing-IWAD message tells you to select a directory containing game data that you are allowed to use.
Launch a game and choose the right file
Start GZDoom from your application launcher or run the command below, then choose an IWAD when the game-selection dialog appears.
gzdoom

Choose the IWAD that matches the game you own, because multiple detected files need an explicit choice.
Use the current project download when Snap is not suitable
The GZDoom project downloads list the current Linux options. Follow the release notes for the package format your distribution supports, then keep the same IWAD rule when you launch the program.
Flatpak can still be useful for many desktop apps. If you need it for another game or tool, set up Flatpak on Linux before installing from Flathub.
Make game controls work on the device you use
GZDoom gives you keyboard and mouse controls by default, while gamepads need a usable Linux input path and game-level bindings. Use this Steam controller guide when you need to diagnose a controller before blaming the game port.
On a handheld, the IWAD must be available to the user account that starts GZDoom. Steam Deck setup guidance helps when you are preparing a portable Linux gaming device.
Try a second emulator after GZDoom works
For console ROMs you are allowed to use, install and use mGBA on Linux instead of GZDoom.
Verify your setup
- GZDoom opens from the launcher or the gzdoom command.
- You can point GZDoom to a directory that contains an IWAD you are allowed to use.
- The game-selection dialog appears when GZDoom detects multiple compatible IWAD files.
- Your chosen keyboard, mouse, or controller inputs work in the game.

Once a game reaches this screen, the installation and IWAD setup are complete. Add mods only after the base game launches, so you can separate a missing-game-data problem from a mod compatibility problem.
GZDoom on Linux FAQ
Does GZDoom include Doom game files?
No. GZDoom is a source port, so you still need an IWAD from a game you own or a legally available shareware release.
Can I install GZDoom from Flathub?
The org.zdoom.GZDoom Flatpak is no longer maintained. Use the Snap package when it fits your distribution, or use the current Linux download from the GZDoom project.
Why does GZDoom say it cannot find an IWAD?
GZDoom starts only after it can find an IWAD. Place your game data where your installation expects it, or select a directory that contains the IWAD when GZDoom prompts you.
Keep the installer and the game data separate. That makes updates easier to reverse and gives you a clear place to check when GZDoom cannot find a game.
