In short
- Easiest GUI: Delta Patcher as AppImage (runs anywhere) or Flatpak (Flathub).
- Scripting:
xdelta3 -d -s original patch.xdelta outputaftersudo apt install xdelta3(or your distro’s equivalent). - Zero setup: a browser patcher works in Firefox and Chrome on any distro.
- Same rules as everywhere: verify the source version before patching.
Option 1: Delta Patcher AppImage (simplest GUI)
The AppImage is a single file that runs on virtually any distribution — no installation, no dependencies, no root needed. Download it from the official releases, make it executable, and run it:
chmod +x DeltaPatcher*.AppImage
./DeltaPatcher*.AppImage
From there it works exactly like the Windows build: Original file → your ROM, XDelta patch → the .xdelta file, tick Backup original file, click Apply patch. The full walkthrough is in how to use Delta Patcher.
Option 2: Flatpak from Flathub
If you prefer sandboxed, auto-updating apps, Delta Patcher is on Flathub. With Flatpak set up:
flatpak install flathub io.github.marco_calautti.DeltaPatcher
One Flatpak quirk to know: sandboxed apps see a limited filesystem by default. If the file picker can’t see your ROMs, grant access to the folder holding them (via Flatseal or flatpak override), or keep your patching files somewhere the sandbox already sees, like your home directory.
Option 3: xdelta3 command line
For scripts, servers without a display, or just speed, the CLI is unbeatable. Install it from your distro’s repositories:
| Distro | Install command |
|---|---|
| Ubuntu / Debian / Mint | sudo apt install xdelta3 |
| Fedora | sudo dnf install xdelta3 |
| Arch / Manjaro | sudo pacman -S xdelta3 |
Apply a patch (decode):
xdelta3 -d -s "original.iso" patch.xdelta "patched.iso"
Create a patch (encode):
xdelta3 -e -s "original.iso" "modified.iso" patch.xdelta
Flags worth knowing: -d decode, -e encode, -s source file, -v verbose, -q quiet. A batch example — patch every ISO in a folder:
for f in *.iso; do
base=$(basename "$f" .iso)
xdelta3 -d -s "$f" "$base.xdelta" "$base-patched.iso"
done
Option 4: browser patcher
Any modern Linux browser runs online patchers and RomPatcher.js. Good for one-off patches on a machine where you can’t (or don’t want to) install anything — including Chromebooks running Linux apps.
Which should you pick?
| Situation | Pick |
|---|---|
| Occasional patching, want buttons | Delta Patcher AppImage |
| Want updates via your app store | Flatpak from Flathub |
| Scripting, servers, batch jobs | xdelta3 CLI |
| One quick patch, no installs | Browser patcher |
Building Delta Patcher from source
You don’t need to — the releases cover every mainstream distro — but building is straightforward and documented upstream. On Ubuntu/Debian:
sudo apt install build-essential cmake git libgtk-3-dev
git clone --recurse-submodules https://github.com/marco-calautti/DeltaPatcher.git
cd DeltaPatcher
cmake -B build -DCMAKE_BUILD_TYPE=Release -DwxBUILD_SHARED=OFF
cmake --build build --config Release
The binary lands in build/app/. Fedora needs g++ make cmake git gtk3-devel instead of the apt line; the rest is identical.
What about Delta Patcher Lite?
Delta Patcher Lite is the minimal sibling: same XDelta engine, fewer options, smaller footprint. On Linux it’s handy for quick jobs or minimal window managers where you don’t want the full GUI. For regular use, the full build’s patch-info tooltip and backup options are worth it.
Verifying downloads on Linux
Checksums are the foundation of reliable patching, and Linux ships the tools:
sha256sum "Game (USA).iso"
md5sum "Game (USA).iso"
sha1sum "Game (USA).iso"
Compare the output with the value the patch author publishes. For CRC32, install libarchive-zip-perl (Debian/Ubuntu) and use crc32, or use a GUI tool. Make verification a habit: check before patching, and check again after any re-dump or conversion. The full workflow is in how to verify a source file.
Linux-specific troubleshooting
- AppImage won’t run:
chmod +xfirst; on very new distros you may needlibfuse2installed. - Flatpak can’t see your files: filesystem sandboxing — grant access to the folder or move files into your home directory.
- “Permission denied” writing output: you’re patching into a folder you don’t own (e.g. a mounted drive) — patch in your home directory instead.
- Checksum errors: not Linux-specific — see fixing checksum mismatch.
Frequently asked questions
Which Linux distro is best for ROM patching?
Whichever you already use. Delta Patcher’s AppImage runs on virtually all of them, Flatpak covers the rest, and xdelta3 is in every major distro’s repositories. There’s no patching advantage to switching distros.
Can I patch on a Steam Deck?
Yes — it’s Arch Linux under the hood. The AppImage works in desktop mode; just make your ROM folder accessible and patch there, then point your emulator at the output.
Do I need Wine to run Windows patchers?
No. Every common patch format has a native Linux tool: Delta Patcher or xdelta3 for XDelta, and the alternatives page lists the rest. Wine is a workaround for a problem you don’t have.
Why does the Flatpak not see my ROMs?
Flatpak sandboxes filesystem access. Grant the app access to your ROM folder with Flatseal (a graphical permission manager) or the flatpak override command, or simply keep patching files in your home directory.