Difference between revisions of "Emulation on Ubuntu"

From Emulation General Wiki
Jump to navigation Jump to search
(Distro-independent Packages on Ubuntu: Version Updates + Added ScummVM Snap which has git versions)
m (Moved to Emulators on Linux)
(Tag: New redirect)
(24 intermediate revisions by 17 users not shown)
Line 1: Line 1:
==THE GNU/LINUX GUIDE OF EMULATION: *buntu Edition==
+
#REDIRECT[[Emulators_on_Linux#THE_GNU.2FLINUX_GUIDE_OF_EMULATION:_Ubuntu_edition]]
__NOTOC__
 
:<small>'''''Important!''' Like the title says, this guide covers Ubuntu and its derivatives. While you may have lesser or equal success with distributions that use APT (Ubuntu's packaging tool), where there could be relevant information in your case, this guide is not to be used for distributions that use Pacman or YUM. We can't guarantee that repositories here will work with Debian and Ubuntu-based Puppy (like Tahr), but we're not saying it's not possible. Give it a try, and it could work if you know what you're doing. However, distributions like Arch and Fedora use ''completely'' different packaging tools, and <u>thus are obviously guaranteed not to work.</u> Don't give up, though; you can find the same emulators for your distribution somewhere else, either in their official or user-curated repos or by compiling them from source.''</small>
 
===Info for newfriends===
 
Possibly the biggest difference between Windows and Ubuntu (and perhaps, GNU/Linux in general) is the way that programs are handled. On Windows, getting software requires the developer to package an installer (or a portable build for flash drives and the like) that you have to get from their website. They may also have to bundle dependencies (like the Visual C++ Runtime) or link you to their location if a license prevents that. If your software is closer to open-source, this is very different; either they have a repository that holds their own packages, someone has set one up for them, or they integrate their packages in the defaults (although this is very rare).
 
 
 
These "repositories" can be thought of like app stores. You use a package manager (either graphically or terminally) to search for programs in the repositories, from which you can install, update and uninstall them. It's really cool.
 
 
 
Your Linux distribution comes with repositories already configured so you can get a lot of the main programs immediately, but there are risks with the emulators in particular; repositories aren't focused on having every emulator, and in many cases when they do, they don't have newer versions. This isn't necessarily their fault though; especially with bigger distributions, repositories can be stuffed with ''loads'' of software that gets constant updates, so to get them tested and updated takes quite a bit of time. Rather than using the defaults, we'll add more repositories made by users or developers themselves that contain the latest versions of these emulators. Once these repositories are added, you will be able to install the emulators like with any other program and update them with the rest of your machine.
 
 
 
While this can seem exciting, keep in mind that some emulators aren't available on repositories, and many good ones aren't on Linux at all, so you may need to use different methods to get them. But don't worry; this will be explained later.
 
 
 
===Adding new repositories===
 
:<small>''Note: If you ever rely on a tutorial that says to type <code>apt-get</code>, you can use <code>apt</code> instead. There generally isn't a difference.''</small>
 
:<small>''Another note: Pay attention to where <code>sudo</code> is used. That's the equivalent to running a Windows program as an administrator. If you're ever suspicious about any command you're told to type, you can type <code>man (command)</code> <sup>short for manual</sup> and it will tell you what that program does. E.g. <code>man apt</code> will tell you what apt does. To quit the documentation, just press q.''</small>
 
====Terminal====
 
To add a new repository from the terminal, just type in this command:
 
sudo add-apt-repository ppa:user/ppa-name
 
...where the <code>ppa:user/ppa-name</code> are the ones you'll find in the table for the repository you want to add. After you add all the repos you want, you'll run the next command to tell apt to refresh the list:
 
sudo apt update
 
Once that's done you will have all the packages from those repos available to install.
 
====Graphical====
 
To add a new repository from the GUI, install synaptic (or make sure it's installed) by typing in this command from the terminal:
 
sudo apt install synaptic
 
 
 
This program will be a lot of help. Once you have it installed you can choose to organize packages by source and see all the repos you already have available.
 
 
 
Select Settings > Repositories, and from the new window, select Other Software > Add...
 
 
 
deb <nowiki>http://ppa.launchpad.net/</nowiki><u>ppa:user/ppa-name</u>/ubuntu <u>xenial</u> main
 
 
 
Where instead of <u>xenial</u> for 16.04, you type <u>trusty</u> for 14.04 and <u>bionic</u> for 18.04.
 
 
 
You can then see what emulators you have with each repos, and can now install the ones you want.
 
 
 
===Repositories List===
 
The "Type" column categorizes repositories by update frequency. Software in the Testing branches usually get updates as often as possible (even daily), while software in the Stable branches are only as recent as the versions are, and usually get updates between a few months. There are also several Abandoned PPAs which can be used only on older Ubuntu releases.
 
 
 
If the desired emulator isn't found here, you can find more repositories by searching around for "(emulator) launchpad ppa". Check that they have packages for your Ubuntu version (they usually go by the version's name), as some PPAs can be abandoned.
 
 
 
{| class="wikitable" width="100%"
 
|-
 
! scope="col"|Emulator/Project
 
! scope="col"|ppa:user/ppa-name
 
! scope="col"|Type
 
! scope="col"|Latest Emulator Version
 
! scope="col"|Supported Ubuntu Versions
 
! scope="col"|ARM<ref group=N>These repositories have packages compiled for ARM architectures, and could work with HP Hardfloat, odroid, Raspberry Pi 2, etc.</ref>
 
|-
 
|rowspan="2"|[[RetroArch]]<br/>(libretro)
 
|[https://launchpad.net/~libretro/+archive/ubuntu/testing ppa:libretro/testing]
 
|Testing
 
|1.7.3
 
|14.04,16.04,18.04<ref group=N name=version>Core availability may vary between Ubuntu versions.</ref>
 
|{{✓}}
 
|-
 
|[https://launchpad.net/~libretro/+archive/ubuntu/stable ppa:libretro/stable]
 
|Stable
 
|1.7.3
 
|14.04,16.04,17.10,18.04<ref group=N name=version />
 
|{{✓}}
 
|-
 
|[[VBA-M]]
 
|[https://launchpad.net/~sergio-br2/+archive/ubuntu/vbam-trunk ppa:sergio-br2/vbam-trunk]
 
|Stable
 
|2.0.1-r201808041747-5644339-22
 
|16.04,18.04
 
|{{✗}}
 
|-
 
|rowspan="2"|[[PCSX2]]
 
|[https://launchpad.net/~gregory-hainaut/+archive/ubuntu/pcsx2.official.ppa ppa:gregory-hainaut/pcsx2.official.ppa]
 
|Stable
 
|1.4.0
 
|14.04,15.04,15.10,16.04,16.10,17.04<ref group=N name=artful>This package is in the official repository for Ubuntu 17.10 and newer.</ref>
 
|{{✗}}
 
|-
 
|[https://launchpad.net/~pcsx2-team/+archive/ubuntu/pcsx2-daily ppa:pcsx2-team/pcsx2-daily]
 
|Testing
 
|1.5.0~git201808031653
 
|14.04,16.04,18.04,18.10
 
|{{✗}}
 
|-
 
|rowspan="2"|[[MAME]]
 
|[https://launchpad.net/~c.falco/+archive/ubuntu/mame ppa:c.falco/mame]
 
|Stable
 
|0.199
 
|17.10,18.04
 
|{{✓}}
 
|-
 
|[https://launchpad.net/~c.falco/+archive/ubuntu/alpha ppa:c.falco/alpha]<ref group=N>Some MAME builds may also appear in [https://launchpad.net/~c.falco/+archive/ubuntu/trashbin ppa:c.falco/trashbin].</ref>
 
|Testing
 
|0.200
 
|18.04
 
|{{✓}}
 
|-
 
|[[Dolphin]]
 
|[https://launchpad.net/~dolphin-emu/+archive/ubuntu/ppa ppa:dolphin-emu/ppa]
 
|Stable/Testing
 
|5.0+git-r201808041302-46fe6dc-33
 
|16.04,18.04
 
|{{✓|text=arm64}}
 
|-
 
|[[PCSX-Reloaded]]
 
|[https://launchpad.net/~rebuntu16/+archive/ubuntu/pcsx-reloaded-svn+unofficial ppa:rebuntu16/pcsx-reloaded-svn+unofficial]
 
|Abandoned
 
|1.9.94+git2017.02.28-16.13-1~ppa
 
|16.04,16.10,17.04
 
|{{✗}}
 
|-
 
|rowspan="2"|[[PPSSPP]]
 
|[https://launchpad.net/~ppsspp/+archive/ubuntu/testing ppa:ppsspp/testing]
 
|Testing
 
|1.5.4-r201806060208-9a610c8-80
 
|14.04,16.04,17.10,18.04
 
|{{✓}}
 
|-
 
|[https://launchpad.net/~ppsspp/+archive/ubuntu/stable ppa:ppsspp/stable]
 
|Stable
 
|1.5.4-r201712060208-a1e74d0-80
 
|14.04,16.04,17.04,17.10
 
|{{✓}}
 
|-
 
|[[ScummVM]]
 
|[https://www.scummvm.org/downloads/ Official Site (.deb)]<ref group=N>ScummVM's website provides raw Debian packages (.deb) which can be installed with tools like gdebi.</ref>
 
|Stable
 
|2.0.0
 
|16,04,17.04<ref group=N name=bionic>This package is in the official repository for Ubuntu 18.04.</ref>
 
|{{✗}}
 
|-
 
|[[higan]]
 
|[https://launchpad.net/~hda-me/+archive/ubuntu/higan ppa:hda-me/higan]
 
|Stable
 
|106
 
|16.04<ref group=N name=bionic />
 
|{{✗}}
 
|-
 
|[[Gens]]
 
|[http://www.playdeb.net/game/Gens PlayDeb]<ref group=N name=playdeb>PlayDeb is not a PPA and must use different commands to add their repository. See their [http://www.playdeb.net/updates#how_to_install how to install] section for more information.</ref>
 
|Abandoned
 
|2.15.5
 
|Any (12.04-17.04)
 
|{{✗}}
 
|-
 
|rowspan="2"|[[FS-UAE]]
 
|[https://launchpad.net/~fengestad/+archive/ubuntu/stable ppa:fengestad/stable]
 
|Stable
 
|2.8.4
 
|14.04,16.04,17.10,18.04
 
|{{✗}}
 
|-
 
|[https://launchpad.net/~fengestad/+archive/ubuntu/devel ppa:fengestad/devel]
 
|Testing
 
|2.9.7
 
|14.04,16.04,17.10,18.04
 
|{{✗}}
 
|-
 
|[[DeSmuME]]
 
|rowspan="7"|[https://launchpad.net/~random-stuff/+archive/ubuntu/ppa ppa:random-stuff/ppa]
 
|Stable
 
|0.9.11+r1~4
 
|12.04,14.04,15.04,15.10,16.04<ref group=N name=broken_desmume>Packages for 16.10 and newer are listed but broken.</ref>
 
|{{✓}}
 
|-
 
|[[Mupen64Plus]]
 
|Testing
 
|2.5-7+r630~7
 
|14.04,15.04,15.10,16.04<ref group=N name=yakkety>This package is in the official repository for Ubuntu 16.10 and newer.</ref>
 
|{{✓}}
 
|-
 
|[[PokeMini]]
 
|Stable
 
|0.60-r8~4
 
|14.04,15.04,15.10,16.04,16.10,17.04,17.10
 
|{{✓}}
 
|-
 
|[[Gambatte]]
 
|Stable
 
|0.5.0-r577-b575~5
 
|12.04,14.04,15.04,15.10,16.04,16.10,17.04,17.10
 
|{{✓}}
 
|-
 
|[[Supermodel]]
 
|Stable
 
|0.3a~WIP+r710~23
 
|None<ref group=N name=broken_supermodel>Packages for 14.04,16.04,17.10 are listed, but all of them are broken since January 2018.</ref>
 
|{{✓}}
 
|-
 
|[[mGBA]]
 
|Testing
 
|0.6.1-r201806240147-04f3fdf-12
 
|16.04,17.10,18.04<ref group=N name=broken_mgba>Package for 14.04 is listed but broken.</ref>
 
|{{✓}}
 
|-
 
|[[Snes9x]]
 
|Stable
 
|1.54.1-r201805250105-98d3d27-3
 
|17.10,18.04<ref group=N name=broken_snes9x>Packages for 14.04 and 16.04 are listed but broken.</ref>
 
|{{✓}}
 
|-
 
|[[BlastEM]]
 
|rowspan="9"|[https://launchpad.net/~samoilov-lex/+archive/ubuntu/retrogames ppa:samoilov-lex/retrogames]<ref group=N name=warning_retrogames>This PPA contains unofficial builds of RetroArch, Dolphin, PPSSPP, PCSX2, FS-UAE and more, thus may cause conflict with other PPAs.</ref>
 
|Stable
 
|0.5.1.224725e8a3a8
 
|16.04,18.04
 
|{{✓}}
 
|-
 
|[[Citra]]
 
|Testing
 
|0.0.0~20180708-1~retrogames
 
|18.04
 
|{{✗}}
 
|-
 
|[[Hatari]]
 
|Stable
 
|2.1.0
 
|16.04,18.04
 
|{{✓}}
 
|-
 
|[[Mednafen]]
 
|Stable
 
|1.21.1-2
 
|18.04
 
|{{✓}}
 
|-
 
|[[PCem]]
 
|Stable
 
|13.1
 
|18.04
 
|{{✗}}
 
|-
 
|[[Reicast]]
 
|Stable
 
|7.rc.20180120
 
|16.04,18.04
 
|{{✗}}
 
|-
 
|[[Stella]]
 
|Stable
 
|5.1.1
 
|16.04,18.04
 
|{{✓}}
 
|-
 
|[[Yuzu]]
 
|Testing
 
|0.0.0~20180708-1~retrogames
 
|18.04
 
|{{✗}}
 
|-
 
|[[Vita3k]]
 
|Stable
 
|0.1.0~git20180527.1-3~retrogames
 
|18.04
 
|{{✗}}
 
|-
 
|[[FCEUX]]<br/>[[ZSNES]]<br /><small>Other older emulators not listed</small>
 
|Official Ubuntu repos
 
|Varies<ref group=N>Only updated once per Ubuntu version.</ref>
 
|Varies
 
|Varies
 
|{{~}}
 
|}
 
<references group=N />
 
 
 
===Distro-independent Packages on Ubuntu===
 
{{main|Distro-agnostic emulator packages for Linux}}
 
There are distribution-independent emulator packages which can be used instead of Ubuntu PPA. Packages especially notable or useful for Ubuntu are listed below.
 
 
 
{| class="wikitable" width="100%"
 
|-
 
! scope="col"|Emulator/Project
 
! scope="col"|Package
 
! scope="col"|Notes
 
|-
 
|[[VICE]]
 
|[https://flathub.org/apps/details/net.sf.VICE Flatpak]
 
|Has version 3.2 which is newer than any official Ubuntu repositories; No PPAs known
 
|-
 
|[[Snes9x]]
 
|[https://flathub.org/apps/details/com.snes9x.Snes9x Flatpak]
 
|Allows running in Ubuntu 16.04
 
|-
 
|[[ScummVM]]
 
|[https://snapcraft.io/scummvm Snappy]
 
|Has 2.1.0 development builds
 
|-
 
|[[MAME]]
 
|[https://snapcraft.io/mame Snappy]
 
|Allows running 0.200 (and 0.201 in edge channel) in Ubuntu 17.10 and older
 
|-
 
|[[RPCS3]]
 
|[https://rpcs3.net AppImage]
 
|Official distribution format. The only known PPA was deleted around August 2018. (It was outdated and only supported 18.04)
 
|-
 
|[[Fuse]]
 
|[https://flathub.org/apps/details/net.sf.fuse_emulator Flatpak]
 
|Has version 1.5.6 which is newer than any official Ubuntu repositories; No PPAs are up-to-date
 
|}
 
 
 
[[Category:FAQs]]
 
 
 
== Links ==
 
* [https://doc.ubuntu-fr.org/emulation French Guide] on Ubuntu.org
 

Revision as of 08:52, 21 December 2021