Why did I suddenly want to play the original Duke Nukem on my Steam Deck?
I can’t recall the exact reason, but I do know that after a hefty dose of Googling and a thorough amount of trial and error, Valve’s gaming handheld came alive with the sounds and sights of the classic PC platformer. And just like that, I was hooked on turning the Steam Deck into a DOS gaming haven.
While there are numerous ways to run classic DOS games on the Steam Deck, this guide will focus on the most straightforward option, which involves installing DOSBox in the Steam Deck’s Desktop mode, then creating basic scripts to launch the original DOS files in game mode.
Further reading: Master your Steam Deck with these 22 tips and tricks
How to play DOS games on Steam Deck
Enter Desktop mode
Jared Newman / Foundry
This part’s easy: Tap the Steam button, scroll down to Power, then select “Switch to Desktop.”
When the desktop environment launches, you’ll use the right trackpad for cursor controls, R2 and L2 for left and right click, and Steam+X to bring up the on-screen keyboard.
Install DOSBox
Jared Newman / Foundry
DOSBox is an emulator that runs classic DOS games on modern PCs, and it’s easily installable through Steam’s desktop mode.
In the desktop taskbar, click the shopping bag icon to launch the Discover app store. Select the Home section in the left sidebar, then type “DOSBox” into the search field at the top. Then, click the Install button in the DOSBox entry.
Organize your DOS games
Jared Newman / Foundry
To streamline the setup process, make sure all your DOS games are in one location. Click the folder icon in the taskbar to bring up the desktop mode’s file manager (called “Dolphin”), which you can use arrange your files.
For this guide, we’ll assume your games are stored in the Steam Deck’s Documents folder, under a subfolder called “DOS.” Each individual game should have its own subfolder within this “DOS” folder, with all necessary files extracted.
Don’t have any DOS games yet? The Internet Archive’s MS-DOS Games collection and MyAbandonware are good places to start.
Create your launch file
Jared Newman / Foundry
Inside your DOS folder, right-click on an empty space, then select Create New > Text File…
You’ll use this file to launch one of your DOS games, so give it a name that’s associated with the game, and use .sh instead of .txt for the file extension. The exact file name doesn’t matter, but you could use something like “dukenukem.sh” for Duke Nukem as an example.
Copy the launch file location
Jared Newman / Foundry
Now, we need to edit the .sh launch file to include instructions on launching the game. But first, let’s copy the location of the DOS game’s .exe file to the clipboard.
- Navigate inside the folder for one of your DOS games.
- Locate the .exe file that would typically launch the game. This typically has some resemblance to the name of the game itself.
- Right-click the .exe file and select “Copy Location.”
Modify the launch file
Jared Newman / Foundry
Right-click the .sh file and select “Run with Kate” to open the text editor. In the text editor, type the following:
flatpak run com.dosbox.DOSBOX ""
Now, in between the two quotes above, paste the location that you copied earlier. Assuming your games are stored in the Documents folder, your text should now look something like this:
flatpak run com.dosbox.DOSBOX "/home/deck/Documents/DOS/darkforces/dark.exe"
Click Save and close the file.
Add the launch file to Steam
Jared Newman / Foundry
The next step is to make the game launchable from inside Steam:
- While in Desktop mode, launch Steam, go the “Games” tab in the top menu.
- Select “Add a non-Steam Game to My Library.”
- Select “Browse…,” then locate and select the .sh file you just created.
- Select “Add Selected Programs.”
At this point, the .sh file should appear in your Steam library. Right click on it and select “Properties,” and you can rename it to the actual name of the game.
Now, you can either launch the game in Desktop mode to make sure it works, or just head back to Game mode.
Optional: Add artwork
Jared Newman / Foundry
Non-Steam games don’t automatically come with artwork. If that bothers you, consider installing Decky Loader and the SteamGridDB plugin to easily add art from inside game mode. Alternatively, you can use SDGBoop to add artwork through Desktop mode.
Play the game
Jared Newman / Foundry
Back in Game mode, the DOS game will appear in the “Non-Steam” section of your library.
Chances are the game won’t work with the Steam Deck’s controls by default, and if they do, they’ll likely be out of line with modern controller conventions. That’s where the Steam Deck’s extensive button remapping features come in handy.
Rinse and repeat
Jared Newman / Foundry
When you’re ready to add more DOS games, return to Desktop mode, then create a copy of your existing .sh file. Rename it to the game you’re adding, paste in the file location, and add the new file to Steam. Repeat this process for any DOS game you’d like to play on the Steam Deck, and enjoy your newfound vessel for PC gaming nostalgia.
For more ways to make the most of your Steam Deck, check out our extensive tips and tricks guide.