Difference between revisions of "Distro-agnostic emulator packages for Linux"

From Emulation General Wiki
Jump to navigation Jump to search
(Flatpak: Added ScummVM)
m
(25 intermediate revisions by 14 users not shown)
Line 2: Line 2:
  
 
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.
 
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 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.
+
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.
 
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.
  
Line 30: Line 30:
 
|[[RetroArch]]<ref group=N>[https://www.libretro.com/index.php/retroarch-with-flatpak/ Official Flatpak Announcement of RetroArch]</ref>
 
|[[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]
 
|[https://flathub.org/apps/details/org.libretro.RetroArch org.libretro.RetroArch]
 +
|-
 +
|[[RPCS3]]
 +
|[https://flathub.org/apps/details/net.rpcs3.RPCS3 net.rpcs3.RPCS3]
 +
|-
 +
|[[DuckStation]]
 +
|[https://flathub.org/apps/details/org.duckstation.DuckStation org.duckstation.DuckStation]
 +
|-
 +
|[[m64p]]
 +
|[https://flathub.org/apps/details/io.github.m64p.m64p io.github.m64p.m64p]
 +
|-
 +
|[[Yuzu]]
 +
|[https://flathub.org/apps/details/org.yuzu_emu.yuzu org.yuzu_emu.yuzu]
 +
|-
 +
|[[melonDS]]
 +
|[https://flathub.org/apps/details/net.kuribo64.melonDS net.kuribo64.melonDS]
 
|-
 
|-
 
|[[Dolphin]]
 
|[[Dolphin]]
Line 37: Line 52:
 
|[https://flathub.org/apps/details/com.dosbox.DOSBox com.dosbox.DOSBox]
 
|[https://flathub.org/apps/details/com.dosbox.DOSBox com.dosbox.DOSBox]
 
|-
 
|-
|[[FS-UAE]]
+
|FS-UAE
 
|[https://flathub.org/apps/details/net.fsuae.FS-UAE net.fsuae.FS-UAE]
 
|[https://flathub.org/apps/details/net.fsuae.FS-UAE net.fsuae.FS-UAE]
 
|-
 
|-
Line 48: Line 63:
 
|[[PCSX2]]
 
|[[PCSX2]]
 
|[https://flathub.org/apps/details/net.pcsx2.PCSX2 net.pcsx2.PCSX2]
 
|[https://flathub.org/apps/details/net.pcsx2.PCSX2 net.pcsx2.PCSX2]
 +
|-
 +
|[[Citra]]
 +
|[https://flathub.org/apps/details/org.citra_emu.citra flatpak.citra-emu.org]
 
|-
 
|-
 
|[[PPSSPP]]
 
|[[PPSSPP]]
Line 58: Line 76:
 
|[https://flathub.org/apps/details/net.sf.VICE net.sf.VICE]
 
|[https://flathub.org/apps/details/net.sf.VICE net.sf.VICE]
 
|-
 
|-
|[[Fuse]]
+
|[[FUSE]]
 
|[https://flathub.org/apps/details/net.sf.fuse_emulator net.sf.fuse_emulator]
 
|[https://flathub.org/apps/details/net.sf.fuse_emulator net.sf.fuse_emulator]
 
|-
 
|-
 
|[[ScummVM]]
 
|[[ScummVM]]
 
|[https://flathub.org/apps/details/org.scummvm.ScummVM org.scummvm.ScummVM]
 
|[https://flathub.org/apps/details/org.scummvm.ScummVM org.scummvm.ScummVM]
 +
|-
 +
|[[bsnes]]
 +
|[https://flathub.org/apps/details/dev.bsnes.bsnes dev.bsnes.bsnes]
 
|}
 
|}
 
<references group=N />
 
<references group=N />
  
 
==Snappy==
 
==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 [https://uappexplorer.com/snaps the official repository] to download the packages from.
+
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://snapcraft.io/store Snapcraft] (Apps are listed by categories).
  
 
Snappy has the following emulators:
 
Snappy has the following emulators:
*[https://uappexplorer.com/snap/ubuntu/retroarch RetroArch] ([https://www.libretro.com/index.php/retroarch-snap-packages-now-available/ Official Announcement])
+
*[https://snapcraft.io/retroarch RetroArch] ([https://www.libretro.com/index.php/retroarch-snap-packages-now-available/ Official Announcement])
*[[Hatari]] [https://uappexplorer.com/snap/ubuntu/hatari-emulator]
+
*[[Hatari]] [https://snapcraft.io/hatari-emulator]
*[[DOSBox]] [https://uappexplorer.com/snap/ubuntu/dosbox-jz]
+
*[[DOSBox]] [https://snapcraft.io/dosbox-jz]
*[[FS-UAE]] [https://uappexplorer.com/snap/ubuntu/fsuae]
+
*FS-UAE [https://snapcraft.io/fsuae]
*[[Atari800]] [https://uappexplorer.com/snap/ubuntu/atari800-jz]
+
*Atari 8-bit [https://snapcraft.io/atari800-jz] (Atari800)
*[[VICE]] [https://uappexplorer.com/snap/ubuntu/vice-jz]
+
*[[VICE]] [https://snapcraft.io/vice-jz]
*[[ScummVM]] [https://uappexplorer.com/snap/ubuntu/scummvm]
+
*[[ScummVM]] [https://snapcraft.io/scummvm]
*[[Virtual Jaguar]] [https://uappexplorer.com/snap/ubuntu/virtualjaguar-jz]
+
*Virtual Jaguar GCC/Qt portable Jaguar [https://snapcraft.io/virtualjaguar-jz]
*[[MAME]] [https://uappexplorer.com/snap/ubuntu/mame]
+
*[[MAME]] [https://snapcraft.io/mame]
 +
*[[Citra]] [https://snapcraft.io/search?q=Citra]
 +
*[[Yuzu]] [https://snapcraft.io/yuzu]
 +
*[[Dolphin]] [https://snapcraft.io/dolphin-emulator]
 +
*[[RPCS3]] [https://snapcraft.io/rpcs3-emu]
 +
*[[PPSSPP]] [https://snapcraft.io/ppsspp-emu]
  
 
==AppImage==
 
==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.
+
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 'execuable' permission to the AppImage package (chmod +x ./appname.AppImage) but this is the only requirement.
+
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 other two systems. [[RPCS3]] is the most notable emulator to officially adapt 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] 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.
+
Unfortunately, emulator adaption is quite poor compared to the other two systems. [[RPCS3]] and [[yuzu]] are the most notable emulators to officially adopt this format.
  
 
List of AppImage packages can be found in [https://appimage.github.io/apps/ AppImageHub].
 
List of AppImage packages can be found in [https://appimage.github.io/apps/ AppImageHub].
 +
 +
Emulators available in AppImage:
 +
 +
* [[RPCS3]]
 +
* [[Yuzu]]
 +
* [https://github.com/probonopd/qemu-ppc QEMU PowerPC AppImage] (A PowerPC emulator)
 +
* [[RetroArch]] [http://buildbot.libretro.com/stable/1.9.10/linux/x86_64/]
 +
* [[PCSX2]] [https://github.com/ferion11/PCSX2_Appimage]
 +
* [[Dolphin]] [https://www.appimagehub.com/p/1567651]
 +
* [[MGBA]] [https://www.appimagehub.com/p/1567223]
 +
* [[Gambatte]] [https://www.appimagehub.com/p/1566704]
 +
* [[DuckStation]] [https://www.appimagehub.com/p/1460142]
 +
* [[Project64]] [https://www.appimagehub.com/p/1411238]
 +
* [[PPSSPP]] [https://www.appimagehub.com/p/1411234]
 +
* [[DeSmuME]] [https://www.appimagehub.com/p/1411229]
  
 
[[Category:FAQs]]
 
[[Category:FAQs]]

Revision as of 17:24, 18 November 2021

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 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 Ubuntu's PPA.

Flathub, probably the biggest Flatpak repository, has several emulators.

To install emulators from Flathub, add the location of Flathub repository to your system:

$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

List of available application package names can be obtained by the following command:

$ flatpak remote-ls flathub

Use the following command to install the emulator from Flathub:

$ flatpak install flathub Package Name

Available emulators and its package name is listed below.

Emulator/Project Package Name
RetroArch[N 1] org.libretro.RetroArch
RPCS3 net.rpcs3.RPCS3
DuckStation org.duckstation.DuckStation
m64p io.github.m64p.m64p
Yuzu org.yuzu_emu.yuzu
melonDS net.kuribo64.melonDS
Dolphin org.DolphinEmu.dolphin-emu
DOSBox com.dosbox.DOSBox
FS-UAE net.fsuae.FS-UAE
mGBA io.mgba.mGBA
Nestopia ca._0ldsk00l.Nestopia
PCSX2 net.pcsx2.PCSX2
Citra flatpak.citra-emu.org
PPSSPP org.ppsspp.PPSSPP
Snes9x com.snes9x.Snes9x
VICE net.sf.VICE
FUSE net.sf.fuse_emulator
ScummVM org.scummvm.ScummVM
bsnes dev.bsnes.bsnes

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 Snapcraft (Apps are listed by categories).

Snappy has the following emulators:

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 quite poor compared to the other two systems. RPCS3 and yuzu are the most notable emulators to officially adopt this format.

List of AppImage packages can be found in AppImageHub.

Emulators available in AppImage: