Changes

Jump to navigation Jump to search

Emulation on Fedora

2,074 bytes added, 13:51, 27 November 2020
no edit summary
==Emulation Guide for The following guide explains how to install emulators on Fedora==, a distribution of GNU/Linux. [httphttps://www.fedoraproject.org/ Fedora Website]
==From Repositories==
Fedora will never have 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 the official repository, as this is against their software policythere. However, a number more of them are hosted at RPMFusion's repositories. To install RPMFusion's software repositories, use the following commands command as root: yum --nogpgcheck <nowiki>sudo dnf install httphttps://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable$(rpm -E %fedora).noarch.rpm yum --nogpgcheck install httphttps://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable$(rpm -E %fedora).noarch.rpm</nowiki> yum updateThe second RPM is where you get proper video drivers for nVidia/older AMD cards. Install either "kmodakmod-catalyst" (current AMD cards use the official "AMDGPU" driver built into kernel, so everything should work OOTB). NVIDIA users should instead use [https://negativo17.org/nvidia-driver/ negativeo17's nvidia" repositories] or "kmod, if you're comfortable with manually updating your drivers, following [https://www.if-not-true-then-false.com/2015/fedora-nvidia-catalyst"guide/ this guide]. The following emulators can be found from the RPMFusion repositories(note that not all packages are fully up-to-date):{| border="0" cellpadding="1" cellspacing="1" class="article-table" style="width: 500px;wikitable"
|-
! scope="col"|Console
! scope="col"|Emulator
|-
|[[Nintendo Entertainment System emulators|NES]]|[[Nestopia]]
|-
|[[Super Nintendo emulators|SNES]]|[[higan|bsnes]], snes9x[[Snes9x]], [[ZSNES]]
|-
|[[Game Boy Series/Game Boy Color emulators|Game Boy/Color]]/[[Game Boy Advance emulators|Advance]]|[[VisualBoy Advance#VBA-M|VBA-M]]
|-
|[[Nintendo DSemulators|Nintendo DS]]|[[DeSmuME]]
|-
|Gamecube, [[GameCube emulators|GameCube]] and [[Wii emulators|Wii]]|[[Dolphin]]
|}
Can't find your emulator in the repositoryRPMfusion? 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 thenthem 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, we need libraries. Lots and lots of libraries. I mean, seriouslyin order to successfully compile software, we need libraries like space pirates need TUUUUUUUUBESare 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
yum #dnf install clang clang-analyzer cmake gcc ecj gcc-c++ scons
# Assorted Libraries
yum #dnf install libx86 nasm openal-soft SDL*
# Development Headers
yum #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 gtkmmgtk+-utilsdevel 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 wxGTKsoundtouch-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, some ganoo-plus-loonicks nerd made a Mupen64Plus build/update/install package: exists [http:// http://www.flibitijibibo.com/fedora/flibitMupen64Plus.tar.gz Mupen64Plushere], 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.
It is highly recommended that you read the scripts/readmes before running these so you understand what's going on!==Emulators from Flatpak==
As for compiling the emulators themselvesAlternatively, you're better off looking at the emulator's website/forum for specific tutorialscan use newer method known as Flatpak to install emulators. Emulator developers like to use tons Flatpak is a default method of different environmentsinstalling software in some Fedora editions, from basic Makefiles to CMake to SCons to who knows whatmainly Fedora Silverblue, but works very well with pretty much every Fedora edition. The library list above and the automated scripts should help you get started if youThere're entirely unfamiliar with compilings quite a lot of emulators in Flathub, thoughthe de facto Flatpak repository. Refer to [[Distro-agnostic_emulator_packages_for_Linux#Flatpak|this article]] for details.
If you still want help, feel free to ask in the threads.
[[Category:FAQs]]
29
edits

Navigation menu