Editing Distro-agnostic emulator packages for Linux

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
#REDIRECT[[Linux guide for emulators#Distro-agnostic_packages]]
+
'''Distro-agnostic packages''' are application portability solutions in Linux.
 +
 
 +
There are thousands of different distributions of Linux, and many of these use different package systems to manage application installation. Some popular ones are .deb format used by Debian, Ubuntu and its variants, and there is also RPM format used by [[Emulation on Fedora|Fedora]], RedHat, and many others.
 +
Packages of the game console and computer emulators exist for popular Linux distros, usually available from the official software repositories of the distribution, but they are usually very old compared to the upstream versions. In addition, these packages are typically made only for one single version of the distribution, and due to dependency problems, these can not be used in other distros.
 +
There are at least three new package formats that are aiming to bring application portability to the Linux ecosystem. Packages using these formats are quite huge in file size due to bundling all dependencies in it, but they can run in any popular Linux distros.
 +
 
 +
==Flatpak==
 +
Flatpak (formerly xdg-app) is a distro-agnostic application framework. It is a decentralized system and has no central package repository. Instead, the user must manually add the repository's URL to the system before packages can be installed, like in [[Emulation on Ubuntu|Ubuntu's PPA]].
 +
 
 +
[https://flathub.org/ Flathub], probably the biggest Flatpak repository, has several emulators.
 +
 
 +
To install emulators from Flathub, add the location of Flathub repository to your system:
 +
 
 +
<code>$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo</code>
 +
 
 +
List of available application package names can be obtained by the following command:
 +
 
 +
<code>$ flatpak remote-ls flathub</code>
 +
 
 +
Use the following command to install the emulator from Flathub:
 +
 
 +
<code>$ flatpak install flathub ''Package Name''</code>
 +
 
 +
Available emulators and its package name is listed below.
 +
{| class="wikitable" width="100%"
 +
|-
 +
! scope="col"|Emulator/Project
 +
! scope="col"|Package Name
 +
|-
 +
|[[RetroArch]]<ref group=N>[https://www.libretro.com/index.php/retroarch-with-flatpak/ Official Flatpak Announcement of RetroArch]</ref>
 +
|[https://flathub.org/apps/details/org.libretro.RetroArch org.libretro.RetroArch]
 +
|-
 +
|[[Dolphin]]
 +
|[https://flathub.org/apps/details/org.DolphinEmu.dolphin-emu org.DolphinEmu.dolphin-emu]
 +
|-
 +
|[[DOSBox]]
 +
|[https://flathub.org/apps/details/com.dosbox.DOSBox com.dosbox.DOSBox]
 +
|-
 +
|FS-UAE
 +
|[https://flathub.org/apps/details/net.fsuae.FS-UAE net.fsuae.FS-UAE]
 +
|-
 +
|[[mGBA]]
 +
|[https://flathub.org/apps/details/io.mgba.mGBA io.mgba.mGBA]
 +
|-
 +
|[[Nestopia]]
 +
|[https://flathub.org/apps/details/ca._0ldsk00l.Nestopia ca._0ldsk00l.Nestopia]
 +
|-
 +
|[[PCSX2]]
 +
|[https://flathub.org/apps/details/net.pcsx2.PCSX2 net.pcsx2.PCSX2]
 +
|-
 +
|[[Citra]]
 +
|[https://flatpak.citra-emu.org flatpak.citra-emu.org]
 +
|-
 +
|[[PPSSPP]]
 +
|[https://flathub.org/apps/details/org.ppsspp.PPSSPP org.ppsspp.PPSSPP]
 +
|-
 +
|[[Snes9x]]
 +
|[https://flathub.org/apps/details/com.snes9x.Snes9x com.snes9x.Snes9x]
 +
|-
 +
|[[VICE]]
 +
|[https://flathub.org/apps/details/net.sf.VICE net.sf.VICE]
 +
|-
 +
|[[FUSE]]
 +
|[https://flathub.org/apps/details/net.sf.fuse_emulator net.sf.fuse_emulator]
 +
|-
 +
|[[ScummVM]]
 +
|[https://flathub.org/apps/details/org.scummvm.ScummVM org.scummvm.ScummVM]
 +
|}
 +
<references group=N />
 +
 
 +
==Snappy==
 +
Snappy, also called 'snaps' or just 'snap', is a distro-agnostic application framework made by Canonical, the Ubuntu devs. Unlike other formats, it is a centralized system and has the official repository to download the packages from.
 +
List of all packages can be viewed from [https://uappexplorer.com/snaps?type=application uApp Explorer] (Lists all latest packages but often flooded with "Hello World" apps) and [https://snapcraft.io/store Snapcraft] (Apps are listed by categories).
 +
 
 +
Snappy has the following emulators:
 +
*[https://snapcraft.io/retroarch RetroArch] ([https://www.libretro.com/index.php/retroarch-snap-packages-now-available/ Official Announcement])
 +
*[[Hatari]] [https://snapcraft.io/hatari-emulator]
 +
*[[DOSBox]] [https://snapcraft.io/dosbox-jz]
 +
*FS-UAE [https://snapcraft.io/fsuae]
 +
*Atari800 [https://snapcraft.io/atari800-jz]
 +
*[[VICE]] [https://snapcraft.io/vice-jz]
 +
*[[ScummVM]] [https://snapcraft.io/scummvm]
 +
*Virtual Jaguar [https://snapcraft.io/virtualjaguar-jz]
 +
*[[MAME]] [https://snapcraft.io/mame]
 +
 
 +
==AppImage==
 +
AppImage is a package format that allows software distribution without a superuser permission. Unlike the other two, AppImage does not have a system to find, download, install and uninstall the packages. Instead, it works like Microsoft Windows .exe files with no DLL requirements.
 +
The user must give the 'executable' permission to the AppImage package (chmod +x ./appname.AppImage) but this is the only requirement.
 +
 
 +
Unfortunately, emulator adaption is very poor compared to the other two systems. [[RPCS3]] is the most notable emulator to officially adopt this format, but aside of [https://github.com/probonopd/qemu-ppc QEMU_PowerPC] (A PowerPC emulator), [https://forums.libretro.com/t/linux-retroarch-runtime-for-every-modern-distro-with-appimage/4965 unofficial build of RetroArch], [https://github.com/ferion11/PCSX2_Appimage PCSX2] and [https://forums.dolphin-emu.org/Thread-dolphin-as-appimage-on-linux Dolphin] (both are outdated compared to upstream releases) no other emulators are known to available in this format.
 +
 
 +
List of AppImage packages can be found in [https://appimage.github.io/apps/ AppImageHub].
 +
 
 +
[[Category:FAQs]]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)