Pegasus Frontend Configuration
Introduction
Pegasus is a powerful and flexible frontend for launching games, similar to EmulationStation. It provides a unified interface for interacting with various emulators, eliminating the need to manage multiple emulator interfaces separately.
Getting Started
ROM Directory Structure
By default, Pegasus is configured to look for ROMs in the /ROMs
directory, with subdirectories for each platform. You can either create the ROM directories in the format below or edit Pegasus to use your preferred location.
/ROMs/3do
/ROMs/amiga
/ROMs/amigacd32
/ROMs/arcade
/ROMs/atari2600
/ROMs/atari5200
/ROMs/atari7800
/ROMs/atarijaguar
/ROMs/atarijaguarcd
/ROMs/atarilynx
/ROMs/atarist
/ROMs/gb
/ROMs/gba
/ROMs/gbc
/ROMs/gc
/ROMs/genesis
/ROMs/megacd
/ROMs/model2
/ROMs/model3
/ROMs/n64
/ROMs/naomi
/ROMs/neogeo
/ROMs/nes
/ROMs/ngp
/ROMs/ngpc
/ROMs/ps2
/ROMs/ps3
/ROMs/psp
/ROMs/psx
/ROMs/saturn
/ROMs/sega32x
/ROMs/segacd
/ROMs/snes
/ROMs/snes_widescreen
/ROMs/switch
/ROMs/virtualboy
/ROMs/wii
/ROMs/wiiu
/ROMs/wonderswan
/ROMs/wonderswancolor
/ROMs/xbox
Configuration
Setting Up Bind Mounts for ROMs
To create a bind mount for your ROMs, add the following line to the "HostConfig"
section of your config.toml
:
"Binds": [
"/path/to/roms:/ROMs"
]
Replace /path/to/roms
with the actual path to your ROM directory on the host system.
Example Configuration
Here’s an example of how the Pegasus configuration might look in your config.toml
file:
[[apps]]
title = "Pegasus"
start_virtual_compositor = true
[apps.runner]
type = "docker"
name = "WolfEmulators"
image = "ghcr.io/games-on-whales/pegasus:edge"
mounts = [
"/mnt/PATH_TO_ROMS_IN_YOUR_HOST/:/ROMs/:rw" # <-- EDIT HERE
]
env = [
"RUN_SWAY=1",
"GOW_REQUIRED_DEVICES=/dev/input/event* /dev/dri/* /dev/nvidia*",
]
devices = []
ports = []
base_create_json = """
{
"HostConfig": {
"Binds": [],
"IpcMode": "host",
"CapAdd": ["NET_RAW", "MKNOD", "NET_ADMIN", "SYS_ADMIN", "SYS_NICE"],
"Privileged": false,
"DeviceCgroupRules": ["c 13:* rmw"]
}
}
"""
Emulators
Pegasus is preconfigured with several popular emulators. Each emulator is designed to run games for specific platforms. For detailed information on configuring and using these emulators, please refer to their respective documentation:
-
RetroArch: https://docs.libretro.com/
-
PCSX2: https://pcsx2.net/docs/
-
Xemu: https://xemu.app/docs/
-
RPCS3: https://rpcs3.net/quickstart
-
CEMU: https://cemu.cfw.guide/
-
Dolphin: https://dolphin-emu.org/docs/guides/
Customization
Theming
Pegasus supports extensive customization through themes. You can change the look and feel of your frontend to suit your preferences.
-
For a demonstration of different themes, watch this YouTube video.
-
Browse and download themes from the official Pegasus Themes Gallery.
To install a theme, you need to launch the Pegasus app at least once, then download the theme and place in:
<hostapps_folder>/Pegasus/.config/pegasus-frontend/themes
On the next Pegasus launch, you will be able to select the theme from within the settings.
Troubleshooting and Additional Resources
If you encounter any issues or need more information, consider the following resources:
-
Official Pegasus Documentation: https://pegasus-frontend.org/docs/
-
Pegasus FAQ: https://pegasus-frontend.org/docs/faq/
-
Community Forums: https://pegasus-frontend.org/community/
For specific issues related to this container or its configuration, please refer to the project’s issue tracker or community support channels.