Editing Emulation on Fedora

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[[Emulators_on_Linux#THE_GNU.2FLINUX_GUIDE_OF_EMULATION:_Fedora_edition]]
+
The following guide explains how to install emulators on Fedora, a distribution of GNU/Linux.
 +
 
 +
[https://fedoraproject.org/ Fedora Website]
 +
==From Repositories==
 +
Fedora has a very strict software policy, allowing only [[Licensing#Free_and_open-source_software|free software]] emulators, which don't rely on copyrighted BIOS files to work. There's quite a few emulators and even [[RetroArch]] with some open source cores, but you won't find any non-commercial or closed-source emulators in there. However, more of them are hosted at RPMFusion's repositories. To install RPMFusion's software repositories, use the following command as root:
 +
<nowiki>sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm</nowiki>
 +
 
 +
The second RPM is where you get proper video drivers for older AMD cards. Install "akmod-catalyst" (current AMD cards use the official "AMDGPU" driver built into kernel, so everything should work OOTB). NVIDIA users should instead follow [https://rpmfusion.org/Howto/NVIDIA this guide]. The following emulators can be found from the RPMFusion repositories (note that not all packages are fully up-to-date):
 +
{| class="wikitable"
 +
|-
 +
! scope="col"|Console
 +
! scope="col"|Emulator
 +
|-
 +
|[[Nintendo Entertainment System emulators|NES]]
 +
|[[Nestopia]]
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[higan|bsnes]], [[Snes9x]], [[ZSNES]]
 +
|-
 +
|[[Game Boy/Game Boy Color emulators|Game Boy/Color]]/[[Game Boy Advance emulators|Advance]]
 +
|[[VisualBoy Advance#VBA-M|VBA-M]]
 +
|-
 +
|[[Nintendo DS emulators|Nintendo DS]]
 +
|[[DeSmuME]]
 +
|-
 +
|[[GameCube emulators|GameCube]] and [[Wii emulators|Wii]]
 +
|[[Dolphin]]
 +
|}
 +
Can't find your emulator in RPMfusion? Want an up to date version git version instead of dolphin stable? First, check [https://copr.fedorainfracloud.org/ Fedora's COPR repositories]. For example, for Dolphin, https://copr.fedorainfracloud.org/coprs/victoroliveira/dolphin-emu-git/.
 +
Still can't find a precompiled version?  We get to compile them ourselves!
 +
 
 +
==Compiling Emulators==
 +
This could be considered a generic guide for all GNU/Linux distributions, but we will be using Fedora as our base for this tutorial.
 +
 
 +
First, in order to successfully compile software, libraries are required. You can generally find a list of dependencies with the emulator's source, but often those are listed for Ubuntu. So instead, enjoy this blanket list of programs and libraries to install:
 +
# Compiler Stuff
 +
 +
  #dnf install clang clang-analyzer cmake ecj gcc-c++ scons
 +
 +
# Assorted Libraries
 +
 +
  #dnf install libx86 nasm
 +
 +
# Development Headers
 +
 +
  #dnf install alsa-lib-devel bluez-libs-devel cppunit-devel curl-devel enet-devel flac-devel freealut-devel glew-devel glib-devel glibc-devel.x86_64 glibc-devel.i686 glibmm24-devel gtest-devel gtkglextmm-devel gtk+-devel hidapi-devel jack-audio-connection-kit-devel jansson-devel kernel-devel libao-devel libevdev-devel libglademm24-devel libogg-devel libtheora-devel libudev-devel libusb-devel libuuid-devel libv4l-devel libvorbis-devel lilv-devel lua-devel lzo-devel mbedtls-devel miniupnpc-devel openal-soft-devel portaudio-devel pulseaudio-libs-devel python-qt5-devel qjson-devel qt-devel qt5-qtbase-devel qt5-qtx11extras-devel qtwebkit-devel ruby-devel SDL* SFML-devel SOIL-devel soundtouch-devel speex-devel speexdsp-devel tinyxml-devel
 +
The reference text for the above list can be found [http://www.flibitijibibo.com/fedora/Fedora.txt here.]
 +
 
 +
If you want automated emulator compiling, a Mupen64Plus build/update/install package exists [http://www.flibitijibibo.com/fedora/flibitMupen64Plus.tar.gz here], just run the script for the function you require.
 +
 
 +
It is highly recommended that you read the scripts/readmes before running these so you understand what is going on.
 +
 
 +
As for compiling the emulators themselves, you're better off looking at the emulator's website/forum for specific tutorials. Emulator developers like to use a lot of different environments, from basic Makefiles to CMake to SCons to who knows what. The library list above and the automated scripts should help you get started if you're entirely unfamiliar with compiling, though.
 +
 
 +
If you still want help, feel free to ask in Emulation General.
 +
 
 +
==Distro-independent Packages==
 +
{{main|Distro-agnostic emulator packages for Linux}}
 +
 
 +
[[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)