Get EmuDeck Running on Linux Desktop [Working Distros]

Get EmuDeck Running on Linux Desktop [Working Distros]

June 27, 2025 0 By admin

EmuDeck is a massively popular emulation solution for the Steam Deck. But what if you want to run it on your regular Linux desktop? Here’s how!

EmuDeck is not an all-in-one emulator

emudeck

People new to EmuDeck often think it’s a single emulator that runs everything. This misunderstanding misses what EmuDeck really is. The tool works as an installation script that sets up multiple emulators on your Linux system automatically. It’s not a standalone program. Instead, it uses scripts to download and set up lots of different emulators and their supporting tools from standard repositories.

The real beauty is how simple it makes everything. A Steam user put it best: “All EmuDeck does is download and automatically configure each emulator from the usual repositories. It’s the same as if you downloaded each emulator and configured it manually, it’s just all the labor of doing that is automated”. This makes all the difference because setting them up separately would take hours if not days.

The system also creates a well-laid-out ‘Emulation’ folder structure with specific places for your BIOS files and ROMs. This organization is a great way to get better control as your collection grows.

Linux users often struggle to set up individual emulators because of different dependencies, configuration files, and compatibility issues. The process needs some technical knowledge to fine-tune each emulator’s performance. EmuDeck removes most of these obstacles by taking care of common challenges including:

  • Controller layouts and button mappings
  • Display ratios and resolution settings
  • Performance parameters specific to your hardware
  • Integration with launchers like EmulationStation or Pegasus

EmuDeck also comes with bonus tools that boost your emulation experience. These include EmuDeck Compressor (saves up to 70% disk space), BIOS Checker (confirms your BIOS files), Cloud Saves, and more. The Linux desktop version gives you these same features that were first made for Steam Deck. You can still customize everything after installation.

Supported Linux Distros and Compatibility

Let’s start with the Linux distributions that work best with EmuDeck before starting the installation.

Fully supported distros

Several Linux distributions work great with EmuDeck right from the start. The official documentation shows these distros have been tested and work without major issues:

  • Arch Linux – The same base as SteamOS, works great
  • EndeavourOS – An Arch-based system that’s perfect with EmuDeck
  • Fedora – Everything works as it should
  • Nobara – A Fedora-based gaming-focused distro that’s fully compatible
  • Ubuntu – A prominent distro with proven support
  • Void Linux – Works great with EmuDeck even though it’s less common

These distributions give you the best experience because the EmuDeck team has tested them extensively. SteamOS (which powers the Steam Deck) is a custom version of Arch Linux, which explains why Arch-based systems work so well.

Distros that need tweaks

You can run EmuDeck on some Linux distributions with a bit of extra setup:

ChimeraOS needs specific changes to work well. This gaming-focused distribution has side projects like gamescope-session and custom patches that affect how EmuDeck installs. You can still get everything working by following the steps in ChimeraOS’s documentation.

Linux Mint also needs some extra setup. Many Linux beginners love Mint, but EmuDeck might take some more effort.

Gaming distributions like Garuda Linux (KDE Dragonized Gaming edition) and Bazzite might also have small issues you’ll need to fix. These distros come with pre-set gaming environments that sometimes clash with EmuDeck’s setup. Most problems are easy to solve though.

Distros not recommended

You should avoid some Linux distributions because they don’t work well with EmuDeck:

Pop!_OS – Though people love it for gaming, compatibility charts show it’s not a good choice. The biggest problem comes from its custom GNOME desktop environment (COSMIC) and system changes that don’t play nice with EmuDeck.

HoloISO and similar SteamOS copies often have changes that mess with EmuDeck.

Keep in mind that distributions not listed in the compatibility documentation have not been tested. EmuDeck might work, but you won’t have official support if something goes wrong.

Distribution compatibility often depends on how standard the Linux setup is. Systems with lots of custom changes usually give you more trouble when installing EmuDeck.

Standard Arch, Fedora, or Ubuntu-based systems are your best bet to get everything working smoothly.

Preparing Your System for Installation

Let’s get your system ready for EmuDeck now that you know which Linux distributions work best. A good setup will give a smooth installation process and help you avoid common errors that could mess up your emulation experience.

Installing Steam and dependencies

Steam forms the foundation of your EmuDeck installation, along with several dependencies that change based on your distribution. Your first step should be to get Steam up and running on your Linux system:

For Debian-based distributions (including Ubuntu, Mint, and Pop!_OS), you can install Steam right from your system’s package manager or software center. These distributions come with Steam in their official repositories, which makes things simple.

Fedora-based systems (including RHEL, CentOS, and Nobara) also need Steam from their package managers. These distributions make it easy with standard channels, usually through the dnf install steam command.

Void Linux users need to do a bit more work. You’ll need this terminal command to install the necessary non-free repositories first:

sudo xbps-install -Syv void-repo-nonfree void-repo-multilib

Then install the 32-bit libraries:

sudo xbps-install -Syv libgcc-32bit libstdc++-32bit libdrm-32bit libglvnd-32bit mesa-dri-32bit

Gentoo users need to install several specific packages:

sudo emerge -av app-shells/bash sys-apps/flatpak dev-vcs/git net-misc/rsync gnome-extra/zenity
sudo emerge -av app-arch/unzip app-misc/jq app-text/xmlstarlet

Each dependency plays a vital role in the EmuDeck environment, from simple system utilities to components that handle controller support and emulator settings.

Flatpak and FUSE requirements

Your Linux desktop system needs Flatpak support to run EmuDeck properly. EmuDeck delivers many of its emulators as Flatpak packages, creating a standard environment in Linux distributions of all types. Without Flatpak, emulators like RetroArch and Dolphin won’t download or install.

FUSE (Filesystem in Userspace) works alongside Flatpak as a requirement. Some distributions need FUSE specifically installed in slot 0 instead of the default slot 2. This setup lets EmuDeck manage its file system operations properly, which matters most when handling ROM files and saves across different emulators.

Flatpak and FUSE together create a standard environment that helps EmuDeck work reliably across Linux distributions. They act as a bridge between your specific Linux flavor and the emulators.

Using terminal for setup

The terminal offers more control than graphical interfaces when preparing your system for EmuDeck. A distro-agnostic approach works best for distributions not mentioned above.

You can check if you have the needed packages by opening your terminal and typing:

which flatpak
which steam

Missing components need installation if these commands don’t show file paths. Arch-based distribution users can either follow the distro-agnostic approach or use their preferred AUR helper to install the EmuDeck package.

The right permissions are a vital part of the setup. Some users run into trouble when directories don’t have proper permissions for EmuDeck. Using sudo with commands when needed helps avoid these permission issues.

Terminal setup offers more than just installation benefits. You can verify required services, check for conflicts, and fix problems that might pop up during EmuDeck installation.

A good system setup before installing EmuDeck helps you avoid common first-time user problems. This groundwork might take time but it’s worth it for a smooth-running emulation setup.

How to Install EmuDeck on Linux Desktop

Now that your system is ready, let’s install EmuDeck on your Linux desktop. The way you install it depends on your distribution and priorities. EmuDeck gives you several ways to install based on your Linux setup.

Using the official installer

Most Linux distributions can use the official installer – the easiest way to get started. This graphical method makes things simple, even if you’re not comfortable with command-line operations.

Head to the official EmuDeck website (emudeck.com) and grab the Linux installer. After downloading:

  1. Drag the downloaded file (Emudeck.desktop.download) to your desktop
  2. Take off the “.download” extension if needed
  3. Make the file executable (right-click → Properties → Permissions → “Allow executing file as program”)
  4. Double-click the installer icon on your desktop

The installer will ask you to pick between “Easy Mode” or “Custom Mode.” Easy Mode sets up reasonable defaults, but Custom Mode lets you control more aspects of your setup like:

  • Where to store your ROMs (internal storage or SD card)
  • Which emulators you want
  • Your aspect ratios and visual settings
  • RetroAchievements setup (if you want them)

Most desktop Linux users should pick the “Linux” device option, unless you have special hardware like the Anbernic WIN600.

Running the script via terminal

Power users or those having trouble with the graphical installer can use the terminal method. This approach works well on all supported distributions.

On Debian-based systems (Ubuntu, Mint, etc.), run these commands:

sudo apt install bash flatpak git jq libfuse2 rsync unzip zenity whiptail
curl -L https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/install.sh | bash

The first command adds all needed packages, and the second one gets and runs the installer script. This method helps avoid any graphical installer issues.

Other distributions need slightly different approaches:

  • Arch-based systems: Use either the general terminal method or install through an AUR helper
  • Fedora-based systems: Get the dependencies first, then run the curl command
  • Void Linux: Run the specific dependency commands from the prep section first

After running the installation script, you’ll see a graphical interface that walks you through the rest of the setup. Even with the terminal method, you’ll still use EmuDeck’s easy-to-use configuration screens.

Using Bazzite or ChimeraOS portals

Bazzite and ChimeraOS, which focus on gaming, make installing EmuDeck even easier through their special portals.

Bazzite comes with its own EmuDeck portal built right in. To install:

  1. Open Bazzite’s application portal
  2. Find the EmuDeck option
  3. Click install and follow the prompts

This built-in approach works perfectly with Bazzite’s custom environment and prevents system conflicts.

ChimeraOS also has its own installation methods with some extra details. ChimeraOS users don’t need to install any extra prerequisites, but they should make some tweaks to get EmuDeck working right. Just open ChimeraOS’s application portal to find the EmuDeck installer.

ROG Ally users on Bazzite should know something important: when picking your device, the “Anbernic WIN600” profile often works better than “Steam Deck.” One user found that “the mapping works pretty well with the ROG Ally” with this profile.

No matter how you install it, EmuDeck creates a desktop shortcut when it’s done. From there, you can open the app to finish setting up, install your favorite emulators, and organize your ROMs before you start gaming.

Customizing Your EmuDeck Setup

Once you’ve completed the Linux desktop installation, you can make EmuDeck match your gaming priorities. The true magic of EmuDeck shows in how you can customize almost every part of your emulation setup.

Choosing emulators and shaders

EmuDeck’s strength comes from letting you pick your emulators during setup. The Quick Settings menu helps you adjust visual elements. This easy-to-use menu lets you control key visual improvements:

  • CRT Shaders for 2D/3D Games: Adds a retro CRT feel to classic systems
  • LCD Shader for Handhelds: Recreates the old LCD Matrix screens of portable systems
  • AutoSave: Saves your game state when you exit and loads it when you return

RetroArch-based emulators let you update or change shaders through a simple process. Open RetroArch and go to the Main Menu, select Online Updater, and pick “Update Slang Shaders.”

To apply new shaders or change existing ones:

  1. Open the Quick Menu with L3+R3 while in a game
  2. Select “Shaders”
  3. Choose “Remove” then “Remove Content Directory Preset” if a shader is already applied
  4. Select “Load” to choose a new shader
  5. Click “Save” followed by “Save Content Directory Preset” to apply to all games in that system

PPSSPP (PSP emulator) needs a specific folder structure for shader customization. Go to /home/deck/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/ and create a “shaders” folder (case-sensitive). Add custom shader files here and turn them on through PPSSPP’s Graphics settings.

Setting up controller layouts

EmuDeck gives you two main controller setup choices:

Original Layout: Buttons match the original controller’s position (A is mapped to B) Modern Layout: Your controller keeps its normal layout (A is mapped to A)

RetroArch emulators let you customize controls for specific games or entire systems. To change a game’s controls, open the Quick Menu with L3+R3, select Controls, set up your controls, then pick “Save Game Remap File.” For system-wide changes, choose “Save Content Directory Remap File” instead.

The Desktop Mode offers more control options if EmuDeck’s settings don’t work for you. Press the Start button for 3 seconds to switch to Gamepad settings, launch the emulator through Applications Launcher, and find the input configuration menu.

You can also set up external controllers that have gyro features (like DualSense or Switch Pro Controller) for compatible games. Just exit Steam briefly, connect your controller through Bluetooth, and set it up in the emulator’s settings.

Selecting aspect ratios and bezels

Your games’ visual presentation depends heavily on aspect ratio settings. The Quick Settings menu lets you pick specific ratios for:

  • Sega Classic AR: Choose how Genesis/Mega Drive games look (4:3, 3:2)
  • Nintendo Classic AR: Set Super Nintendo and NES display ratios (8:7, 4:3, 3:2)
  • 3D Classics AR: Pick ratios for Dreamcast and Nintendo 64 (4:3, 16:9)
  • Gamecube AR: Switch between original (4:3) or widescreen (16:9) formats

Bezels add extra style to your games. EmuDeck’s built-in bezels cover those black bars on 8-bit and 16-bit games, making them look better on screen.

The system-wide resolution settings help you get the best picture quality. Higher resolutions look better but need more powerful hardware. You should adjust these based on what your system can handle to get the right balance of looks and performance.

You can change most settings after installation without breaking anything. For games that need special settings, it’s better to create game-specific profiles instead of changing system-wide settings. This keeps your collection running smoothly.

Troubleshooting Installation Problems

You might face some problems installing EmuDeck on your Linux desktop despite careful preparation. Let’s get into the most common problems and their solutions.

Installer not launching

The EmuDeck installer might refuse to start due to several reasons. Make the installer executable first. Most Linux distributions need you to right-click the downloaded file, select Properties, direct to Permissions, and enable “Allow executing file as program.”

Your internet connection might prevent the installer from launching properly. This happens to many users who seem to have working internet. Here’s a quick fix by adjusting your DNS settings:

  1. Open your system settings
  2. Direct to network connections
  3. On the IPv4 tab, change method to “Automatic (Only Addresses)”
  4. Enter 1.1.1.1 in the DNS Servers box
  5. On the IPv6 tab, change method to “Disabled”
  6. Restart your system

The installer might open but get stuck on “checking for updates” or “completing installation”. This usually means background processes failed to complete. Try deleting this folder and restart the installation:

~/.config/EmuDeck/backend

Missing dependencies

EmuDeck installation stops with specific error messages if dependencies don’t install correctly. Linux users often miss these packages:

  • Flatpak (vital for emulator installation)
  • FUSE (needed for AppImage functionality)
  • Git (required for downloading configurations)

Debian-based systems need this command to install essential dependencies:

sudo apt install bash flatpak git jq libfuse2 rsync unzip zenity whiptail

Arch-based systems need different packages:

sudo pacman -S flatpak fuse2 git

EmulationStation’s AppImage sometimes fails with the error: “Could not create GL context: GLXBadFBConfig”. This shows OpenGL compatibility issues. You can fix this by replacing the AppImage with a compatible version or installing EmulationStation through your distribution’s package manager.

Cloud saves not syncing

Linux systems don’t deal very well with cloud save functionality. Browser compatibility, configuration files, and connectivity problems cause most issues.

Firefox has a known bug that stops cloud save setup from completing. Here’s how to fix it:

  1. Set Chrome or another Chromium-based browser as your default browser
  2. Retry the cloud save setup process

Make sure these files exist:

  • Emulation/tools/rclone/rclone (the executable file)
  • Emulation/tools/rclone/rclone.conf (your configuration file)

Missing files? Reinstall CloudSync through the EmuDeck app.

DNS problems often cause persistent cloud sync issues. Use the DNS fix mentioned in the “Installer not launching” section to improve connectivity. Your saves might upload inconsistently or not at all in these cases.

Test your cloud saves configuration with a simple test:

  1. Open your emulator on one device
  2. Create a simple text file in its saves folder
  3. Check if you receive an upload notification
  4. Verify the file appears in your cloud provider’s web interface

This test helps you find whether the problem lies in the upload process or the emulator’s save file handling.

Managing Emulators and Updates

You need to know how to manage and update your emulators after setting up EmuDeck on your Linux desktop. The system gives you simple tools to keep everything up to date.

Where emulators are stored

EmuDeck puts your emulators in specific places on your Linux desktop system. The package type determines where each emulator goes:

  • Flatpak emulators live in the standard Flatpak application directories
  • AppImage emulators stay in the Emulation/tools directory
  • Binary emulators usually go in the Emulation/tools directory

EmuDeck makes it easy to find your emulators by creating shortcuts. The documentation states that “EmuDeck will create a link for each emulation in the Games section of your Applications Launcher” and “EmuDeck will create a link for each emulation in an EmuDeck folder in your Start Menu.” This setup lets you launch any emulator quickly.

How to update emulators

Your Linux desktop emulators need regular updates to work with newer games. EmuDeck gives you several ways to do this:

You can “update and manage through Discover” for Flatpak-based emulators. The EmuDeck application’s Manage Emulators section handles updates for AppImages, Binaries, and Cemu.

Here’s something to watch out for: updates might erase your custom settings. Users have noticed that “any time you need to update Yuzu or another emulator, it resets all of the settings.” You should write down your preferred settings before updating.

Using Manage Emulators page

The Manage Emulators page helps you control your entire emulation setup. Just open EmuDeck and click the “Manage Emulators” button to get there.

Each emulator section shows you:

  • A quick description
  • Special settings for that emulator
  • Update buttons for both the emulator and its settings
  • A guide to hotkeys

An orange dot shows up next to emulators that need configuration updates. This helps you spot which ones need attention.

The reset feature can fix many problems. Here’s how to reset an emulator:

  1. Launch EmuDeck on your desktop
  2. Click the Manage Emulators button
  3. Pick your emulator from the drop-down menu
  4. Hit “Reset configuration” and wait
  5. The emulator will go back to its default settings

“Having issues with an emulator? Just reset its settings, most of the time this fixes any issue you might have.”

Organizing ROMs, BIOS, and Save Files

A well-organized file system is the foundation of your EmuDeck setup on Linux desktop. You’ll find it easier to manage your game library and protect your progress when you know how the files work together.

Folder structure inside Emulation

Your EmuDeck creates an Emulation folder that keeps all your retro gaming files in one place. Here’s what you’ll find in this folder:

  • bios: System files your emulators need
  • roms: Your games sorted by system (over 160 system folders)
  • saves: Your game progress and save states
  • storage: Extra data specific to each emulator
  • tools: EmuDeck scripts and utilities

The Emulation folder location depends on where you installed it. Internal storage puts it at /home/deck/Emulation/. SD card users will find it at /run/media/mmcblk0p1/Emulation/ or a similar path based on their Linux distribution.

Tips for organizing ROMs

We focused on building a quality collection rather than gathering complete ROM sets. The system makes it simple – EmuDeck creates specific folders inside roms. SNES games belong in Emulation/roms/snes/ and PlayStation games go in Emulation/roms/psx/.

Here’s what works well:

  • Put related games in subfolders by series or genre
  • Stick to one naming style
  • Keep BIOS files where they belong (some need specific subfolders)
  • Remove duplicates to free up space

Backing up save files

EmuDeck works with regular directories and symlinks to manage your saves. Remember to back up the actual save locations, not just the symlinks.

PCSX2 (PS2) keeps saves in Emulation/saves/pcsx2/saves and save states in Emulation/saves/pcsx2/states. Some emulators like RPCS3 and Yuzu use symlinks that point to spots within the Emulation folder.

EmuDeck’s CloudSync (available to Patreon supporters) and CloudBackup services help you protect your saves. These tools sync your data with Google Drive or Dropbox automatically. You’ll need Chrome or another Chromium-based browser to set up CloudSync since Firefox doesn’t play nice with it.