← recipe book

Needs test

doukutsu-rs (Cave Story Engine)

Native Linux Action-adventure, Metroidvania Cave Story original 2004 (Daisuke 'Pixel' Amaya); doukutsu-rs engine 2020–2026 (active) other
Does it run on your Deck?

About

doukutsu-rs is a community-built Rust reimplementation of the Cave Story game engine. Cave Story, originally released for free in 2004 by solo developer Daisuke 'Pixel' Amaya after five years of solo development, is a beloved action-platformer following a robot who wakes up with no memories inside a cave colony.

doukutsu-rs reimplements the engine from scratch in Rust, decoupling the framerate from the original 50fps lock and adding widescreen rendering, a multiplayer mode, and modern platform support — all while remaining compatible with the original freeware game data. The engine itself ships no game data; the freeware version of Cave Story remains freely available from the Cave Story Tribute Site (cavestory.org) and is the primary data set used.

Identity

Developerdoukutsu-rs community (Rust rewrite of Cave Story engine by Daisuke 'Pixel' Amaya)
PublisherOpen source / community release
ReleasedCave Story original 2004 (Daisuke 'Pixel' Amaya); doukutsu-rs engine 2020–2026 (active)
GenreAction-adventure, Metroidvania
ModesSingle-player; optional local multiplayer
Engineother
TypeNative Linux
AliasesCave Story PC, Cave Story Open Source, doukutsu rs, Cave Story Freeware PC

Launch

Binary
io.github.doukutsu_rs.doukutsu-rs
Needs files
none beyond the binary

Runtime

Runs as
Native Linux
Proton
not needed

⚙ Setup notes

Engine: doukutsu-rs is a Rust rewrite of the original Cave Story engine by Daisuke 'Pixel' Amaya, developed actively from 2020 onward by the doukutsu-rs community. It adds decoupled framerate (60fps and above), widescreen support, and optional multiplayer while preserving faithful gameplay.

Install: The cleanest Deck path is NATIVE via Flathub. Open Discover in Desktop Mode, search for doukutsu-rs, and install the Flatpak (io.github.doukutsu_rs.doukutsu-rs).

Data: doukutsu-rs ships no game data of its own — the Flatpak does not bundle or auto-download anything. You must supply Cave Story data yourself. The original freeware data is free (no purchase) from the Cave Story Tribute Site. On the Flatpak you cannot drop Doukutsu.exe next to the binary; place extracted data under ~/.var/app/io.github.doukutsu_rs.doukutsu-rs/data/doukutsu-rs/data, or use the project's vanilla-extractor utility to pull resources out of Doukutsu.exe. Cave Story+ and Switch data also work if pointed at the data directory.

Game Mode: Once installed, add the Flatpak as a non-Steam game in Steam so it appears in Game Mode.

Proton: No Proton layer is involved; this is a fully native Linux binary.

Note: doukutsu-rs is generally considered superior to NXEngine-evo for modern hardware due to its higher framerate support and ongoing maintenance.

The one thing to know

Install: Install via Flathub (Discover app in Desktop Mode) — search doukutsu-rs and install. The Flatpak is the recommended install method for Deck; building from source is possible but unnecessary.

Data: doukutsu-rs ships no game data — the Flatpak does not bundle or auto-download it. Supply your own: the original freeware Cave Story data is free (no purchase) from the Cave Story Tribute Site. Because the Flatpak can't run Doukutsu.exe next to its binary, put extracted data in ~/.var/app/io.github.doukutsu_rs.doukutsu-rs/data/doukutsu-rs/data, or use the project's vanilla-extractor to pull resources from Doukutsu.exe. Cave Story+ / Switch data also work when placed in that directory.

Game Mode: After installing from Discover, add the app as a non-Steam shortcut in Steam so it launches from Game Mode.

Community guides

Write-ups and threads from people who got this (or a similar) game running. deckport links to them — it doesn't reproduce them.

Get the artwork

deckport never hosts game images. Open this game on SteamGridDB, pick the cover / hero / logo / icon you like, and drop them into the game folder under .deckport-art/ before you push it to the Deck. The importer files them under the right names automatically.

Run it on your Deck

Two files: the one-time importer (deckport.py) in your Deck's home folder, and this game's install helper. Copy the game into ~/Games and run the helper with Steam closed — it writes the recipe (binary, launch options) and registers the shortcut with artwork.