RetroArch is a modular, command-line driven, multi-system emulator that is designed to be fast, lightweight, and portable. It has features few other emulators frontends have, such as real-time rewinding and game-aware shading based on the libretro API.
Install AUR.AUR from the
A GTK/QT frontend,AUR, is also available.
Each package from the AUR will install an emulator core to
/usr/lib/libretro/[system].so, thus to use
retroarch with your preferred system simply launch it with the
-L parameter. E.g.
retroarch -L /usr/lib/libretro/libretro-snes9x-next.so ~/path/to/game
This emulation core can also be defined in the
retroarch.cfg, thus obviating the need to specify it on the command line.
libretro_path = "/usr/lib/libretro/libretro-snes9x-next.so"
There are currently several emulation cores available including snes9x, bsnes, visual boy advance and final burn alpha. See this AUR search for more.
RetroArch provides a skeleton configuration file located at
/etc/retroarch.cfg and is very well commented.