See also: Build ares emulator on Fedora – a newer emulator based on Higan/bsnes source code.
This document describes hot to build higan emulator from a source code on a RedHat-based system (including Fedora and CentOS).
higan is an emulator for a number of classic video-game consoles of the 1980s and 1990s, allowing you to play classic games on a modern general-purpose computer.
You will also need GCC 4.9 or higher, including the C and C++ compiler, GNU Make, and development files (headers, etc.) for the following libraries:
- GTK 3.x
- PulseAudio
- Mesa
- gtksourceview 3.x
- Cairo
- SDL 1.2
- libXv
- libAO
- OpenAL
- udev
On a RedHat-derived Linux distribution (including CentOS and Fedora), you can install everything you need with a command like:
sudo dnf install -y \
gcc \
gcc-c++ \
gtk3-devel \
pulseaudio-libs-devel \
alsa-lib-devel \
gtksourceview3-devel \
SDL-devel \
SDL2-devel \
libXv-devel \
libao-devel \
freealut-devel \
systemd-devel
git clone --recursive https://github.com/higan-emu/higan.git higan-src
Once you have all the dependencies installed, you may build and install higan.
Note: Run these commands as yourself, do not run them as root (no sudo
, no su
,
etc.), because higan does not support being installed system-wide.
- Put the higan source code in some convenient location, like
~/higan-src
- Open a terminal window
- Type cd
~/higan-src
(or wherever you put the higan source) and press Enter - Type
make -C higan-ui
and press Enter to build the main higan executable - Type
make -C icarus
and press Enter to build the icarus import tool
cd higan-src
make -j4 -C higan-ui
make -j4 -C icarus
To start compilation from the beginning, run the following prior to compiling:
cd higan-src
make -C higan-ui clean
make -C icarus clean
Assuming higan is compiled as described in the previous section:
- Open a terminal window
- Type
cd ~/higan-src
(or wherever you put the higan source) and press Enter - Type
make -C higan-ui install
and press Enter to install higan and its supporting files - Type
make -C icarus install
and press Enter to install icarus and its game database
cd higan-src
make -C higan-ui install
make -C icarus install
This installs higan and its associated data files into the ~/.local
directory hierarchy.
To uninstall higan, as installed by the above instructions:
- Open a terminal window
- Type
cd ~/higan-src
(or wherever you put the higan source) and press Enter - Type
make -C higan-ui uninstall
and press Enter - Type
make -C icarus uninstall
and press Enter
cd higan-src
make -C higan-ui uninstall
make -C icarus uninstall
To remove higan’s configuration, delete the following directories if they exist:
~/.config/higan/
~/.config/hiro/
~/.local/share/higan/
~/.local/share/hiro/
To remove the games imported into higan’s library (including in-game saves and save-states), delete the directory ~/Emulation
.
The following commands create a bundle for running higan on another RedHat-based system.
Build the higan and icarus executables with flags build=performance local=false
cd higan-src
make -j4 -C higan-ui build=performance local=false
make -j4 -C icarus
Create directory higan-bundle
and copy binaries with dependencies there
mkdir higan-bundle
cp -a higan-ui/out/higan higan-bundle/higan
cp -a higan/System higan-bundle
cp -a icarus/out/icarus higan-bundle/icarus
cp -a icarus/Database higan-bundle
cp -a icarus/Firmware higan-bundle
cp -a extras/* higan-bundle
Copy higan-bundle
directory to another Fedora system and install dependencies:
sudo dnf install -y \
gtksourceview3 \
openal-soft
@Keithenotfricker Ok, I made a clear installation of Fedora 36 and reproduced the issue. Firstly due to changes in Fedora packages it now requires an additional ALSA dependency
Secondly, it seems that source structure has changed and higan binary is now built by
higan-ui
directory: