EMU nexus. A front-end designed to launch emulators and to organize ROM collections.
EMU-nexus is a front-end designed to launch emulators and to organize ROM collections. It is developed in C++ and it uses GTK3 as graphical user interface. It does not try to compete with any other front-end. It is not designed for an HTPC, it is intended to be used in an everyday not specific purpose PC. It is distributed under the GPLv3 license.
Information and images of the consoles, systems and games comes from TheGamesDB. To avoid stress on TheGamesDB servers, a concise version of the database is processed in the cloud. This concise version is updated regularly and downloaded automatically.
This database is stored and indexed using Elasticsearch so it can be easily searchable. When EMU-nexus is launched, it starts the Elasticsearch process in the background (listens in the port 9301). The Apache 2.0 licensed version of Elasticseach is used.
EMU-nexus scans specific directories and matches files with entries in the database, if a match is found, it pulls the correct name, description, publishers, developers, release date, ESRB rating and images. You can also add ROM collections that use MAME filenames. If you already have sets of images downloaded, EMU-nexus can use those instead of downloading new ones. Optionally, you can add PDF documents, other images and text notes to your games.
ROM files could be uncompressed on the go. The uncompressed files are stored in cache so they can be used directly next time. Tar, Tar.gz, Zip and 7zip formats are supported.
For multidisk games, if multiple .cue files are present in a compressed ROM, a 00000_autogenerated.m3u file with all the .cue files referenced in order is generated. So those games can be easily launched using emulators like Retroarch with the Beetle Saturn core.
EMU-nexus stores all its data in $HOME/.config/emu-nexus/. Inside this directory, you will find the next items:
These are the libraries on which EMU-nexus was built on:
Few custom styles are used, the appearance relies on the system theme. The screenshots presented here are using the Gnome Adwaita-dark theme.
The icon is based in the work of Pixel perfect. NES cartridge image comes from Wikipedia.
Install the required libraries:
sudo apt install libgtk-3-dev libsqlite3-dev libjansson-dev libcurl4-gnutls-dev libxml2-dev libdlib-dev libarchive-dev libpoppler-cpp-dev
Download the source code or clone the repository and run these commands:
cd <EMU-nexus source code directory>
make
sudo make install