How to play Nintendo DS games on Linux with MelonDS
The Nintendo DS was one of Nintendo’s most successful handheld gaming consoles of all time. Sadly, in 2021 it is discontinued. So if you wish to enjoy your favorite games, you’ll need a reliable Nintendo DS emulator to run them on your computer.
If you’re a Linux user, the best Nintendo DS emulator for Linux is the MelonDS application. Here’s how to get it to work.
Notice: AddictiveTips in no way endorses downloading Nintendo DS game ROMS online. If you wish to emulate your favorite games, please use your legal games.
What is melonDS and what can it do?
melonDS is a free, open-source Nintendo DS emulator available for Windows, macOS, and Linux. It covers both the standard DS and the DSi, aims for accuracy, and is under active development, making it one of the strongest choices if you want to play your legally owned DS library on a modern computer.
Before diving into the install steps, here is a quick look at what melonDS supports so you know what you are getting:
- DS and DSi emulation — melonDS handles both standard Nintendo DS games and DSi-enhanced titles, though DSi mode requires additional firmware dumps from your own hardware.
- Save states — Save and restore your progress at any point in a game, independent of the in-game save system.
- Fast-forward — Speed through slow sections or grinding sequences with the built-in fast-forward toggle.
- Cheat/Action Replay support — Import and activate cheat codes using the built-in cheat manager.
- Controller and gamepad support — Map any USB or Bluetooth gamepad to the DS button layout through the Input and Hotkeys settings.
- Graphics upscaling and OpenGL rendering — Choose between the software renderer and an OpenGL renderer that can upscale 3D graphics beyond the DS’s native resolution for a sharper look on modern displays.
- Screen layout options — Arrange the dual DS screens vertically, side by side, or in other configurations to suit your monitor setup.
- Wi-Fi and local multiplayer — Local wireless multiplayer support is a work in progress; functionality varies depending on the game and build.
Installing a Nintendo DS Emulator on Linux with MelonDS
The MelonDS Nintendo DS emulator is excellent, and on Linux it allows users to emulate DS and DSi games at their leisure. However, it doesn’t come pre-installed on any Linux operating system, so we’ll need to go over how to get it set up.
To install the MelonDS app on your system, open up a terminal window. You can open up a terminal window on the Linux desktop by pressing Ctrl + Alt + T on the keyboard. Then, with the terminal window open, follow the instructions below.
Official Downloads (AppImage and Archives)
The most direct way to get melonDS on Linux is to download an official binary from the melonDS releases page. Official builds are maintained by the project team and are not dependent on your distribution’s package manager being up to date.
The following official Linux builds are available:
- Linux x64 AppImage — A single self-contained executable that runs on most 64-bit Linux distributions without installation.
- Linux ARM64 AppImage — The same AppImage format for ARM64 devices such as the Raspberry Pi 5 or ARM-based laptops.
- Linux x64 archive (ZIP/tar) — A compressed archive containing the melonDS binary and supporting files for x64 systems.
- Linux ARM64 archive — The same archive format for ARM64 hardware.
For most users, the AppImage is the simplest choice. Download it, make it executable, and run it — no package manager or root access required:
chmod +x melonDS-*.AppImage ./melonDS-*.AppImage
If you download a ZIP or archive build rather than the AppImage, the melonDS project publishes SHA256 checksums alongside each release. Before extracting and running the file, verify the download matches the published checksum to confirm it has not been tampered with:
sha256sum melonDS-linux-x86_64.zip
Compare the output against the checksum listed on the official releases page. If they match, you are good to proceed.
Nightly builds are also available for users who want access to the latest fixes and features before they reach a stable release. Nightly builds are less tested, so they are best suited for users who want to help with testing or need a specific recent fix.
Official builds and nightlies can be found at the melonDS GitHub releases page and the project’s official website. Community-packaged versions such as Flatpak, Snap, and AUR builds are maintained separately from the core project and may lag slightly behind the latest official release.
Flatpak
By far, the best way to get this Nintendo DS emulator working on your Linux computer is to install it via Flatpak. Why? Flatpak is supported on 99% of Linux operating systems, and it can also interact with the Gnome Software application, making things easier for users.
If you’d like to get MelonDS working on your Linux computer as a Flatpak, the first step is to install the Flatpak runtime. This runtime is a helper that sits in the background on Linux, facilitating package updates and installations.
To get the Flatpak runtime working on your computer, install the “flatpak” package using your Linux package manager. If you need help, please follow our in-depth guide on the subject.
After you’ve set up the Flatpak runtime, the next step is to set up the app store on your system. In a terminal, use the flatpak remote-add command down below to add the Flathub app store.
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Once the Flathub app store is configured on your Linux PC, you’ll be able to install the MelonDS application on your computer. Using the flatpak install command below, install the app.
flatpak install flathub net.kuribo64.melonDS
Snap package
If you can’t use the Flatpak app store, you’ll be able to get the MelonDS Nintendo DS emulator working via the Ubuntu Snap store. Snaps run on a wide variety of Linux operating systems, but only with the Snapd runtime configured.
To configure the Snapd runtime on your computer, install the “snapd” package onto your computer. Then, enable the “snapd.socket” file with Systemd onto your computer. Finally, use the snap install command to get the latest release of MelonDS up and running on your computer.
sudo snap install melonds
Arch Linux
The MelonDS application can be installed on Arch Linux through the Arch Linux User Repository. If you’d like to install this application on your computer through the AUR, start by setting up the “git” and “base-devel” packages onto your computer.
sudo pacman -S git base-devel
After setting up the two packages, you’ll need to install the Trizen AUR helper tool. This app will make installing MelonDS much simpler. Using the commands below, install Trizen.
git clone https://aur.archlinux.org/trizen.git cd trizen/ makepkg -sri
With the Trizen AUR helper up and running, you’ll be able to install the MelonDS program using the trizen -S command below.
trizen -S melonds
Playing DS Games with Your Nintendo DS Emulator
Whether you need to supply BIOS and firmware files depends on how you are using melonDS. In direct boot mode, melonDS can launch many DS ROMs without full firmware dumps, which is useful for quick testing.
However, firmware boot mode — which more accurately replicates real hardware behavior — does require firmware dumped from your own Nintendo DS. DSi emulation requires an additional, separate set of firmware files dumped from a real Nintendo DSi. You’ll need to add BIOS exported from your own Nintendo DS/DSi where applicable. For more information on how to dump your DS firmware, click here.
If you are setting up firmware boot for DS mode, you will need the following files dumped from your own Nintendo DS hardware:
- bios9.bin — The ARM9 BIOS for DS mode.
- bios7.bin — The ARM7 BIOS for DS mode.
- firmware.bin — The DS firmware, which includes settings and Wi-Fi configuration.
If you want to use DSi mode to play DSi-enhanced or DSi-exclusive titles, you will need a separate set of files dumped from your own Nintendo DSi hardware:
- biosdsi9.rom — The ARM9 BIOS for DSi mode.
- biosdsi7.rom — The ARM7 BIOS for DSi mode.
- firmware_dsi.bin — The DSi firmware file.
- nand.bin — The DSi NAND dump, required for DSi system emulation.
Official dump tools for obtaining these files from your own hardware are available from the melonDS project. Never download BIOS or firmware files from third-party sites, as their integrity cannot be verified and doing so may be illegal in your region.
Once the Firmware is dumped with the MelonDS dumper, find the “Config” button inside of MelonDS. Then, select the “Config” button. From here, find the “DS-mode” section; in here, add your Firmware for the DS. You’ll need to add ARM9, ARM7, and the DS Firmware.
When you’ve added your DS firmware to MelonDS, click the “OK” button to close the settings. Then, find the “File” button and click on it with the mouse to open up the file menu. From here, click on the “Open ROM” button with the mouse.
After selecting the “Open ROM” button, a pop-up window will appear. From here, browse for your Nintendo DS ROM. When you’ve found it, select it, and MelonDS will open it up.
Once the ROM is open in MelonDS, click on “Config” in the emulator, followed by the “Input and hotkeys” button. Then, take a look at the controls. If you wish to change the controls, click on the boxes and assign new controls. When done, click “OK.”
With the controls set up, you’re free to play your Nintendo DS game. Enjoy!
Essential melonDS Nintendo DS Emulator Features After Setup
Once you have a ROM running, there is a lot more to explore beyond the default settings. Here is a practical rundown of the features you will use most often.
Save States
Save states let you snapshot the exact moment of gameplay and return to it at any time, separate from the game’s own save system. In melonDS, go to File and look for the save state options. You can save to a slot and load from the same slot whenever you need to rewind your progress or experiment without risk.
Fast-Forward
Fast-forward speeds up emulation beyond real time, which is handy for skipping cutscenes or grinding through repetitive sections. You can assign a fast-forward hotkey in Config > Input and Hotkeys so you can toggle it on and off without leaving the game.
Controller and Gamepad Support
melonDS supports USB and Bluetooth gamepads out of the box. To map your controller, open Config > Input and Hotkeys, click on any button field, and press the corresponding button on your gamepad. This works for both the standard DS buttons and system hotkeys like fast-forward or save state slots.
Cheat and Action Replay Support
melonDS includes a built-in cheat manager that supports Action Replay codes. To use it, open System > Setup Cheats while a ROM is loaded. You can add codes manually by entering the Action Replay code string, enable or disable individual codes, and save your cheat list for that game.
Screen Layout and Display Options
Because the Nintendo DS uses two screens, this Nintendo DS emulator gives you several layout options to fit your display. Open Config > Screen Size or the video settings to choose between vertical stacking, side-by-side, or single-screen layouts. You can also adjust the screen gap, rotation, and scaling to suit your monitor.
Graphics Renderer and Upscaling
melonDS offers two rendering options: a software renderer and an OpenGL renderer. The OpenGL renderer can upscale 3D graphics to higher resolutions than the DS’s native output, producing a sharper image on modern monitors. To switch, go to Config > Video Settings and select your preferred renderer. Note that the software renderer is more accurate for edge cases, while OpenGL provides a better visual experience for most players.
Wi-Fi and Local Multiplayer
melonDS has partial support for DS wireless features, but local wireless multiplayer between two melonDS instances is still a work in progress. Functionality varies by game, and full online play is not guaranteed. Check the melonDS GitHub page for the current status of multiplayer development before counting on this feature for a specific title.