Ludo is an Emulator Frontend able to run retro video games. Ludo does not emulate the consoles itself, but does it through emulator plugins called libretro cores. Libretro cores are well known emulators (like Snes9x or Genesis Plus GX or PCSX) stripped from their user interface. They contain only console specific logic.
Separating the frontend from the emulation logic has the following advantages:
- Frontend developers only have to code the user interface once
- Developing a new frontend functionality can benefit all the emulators at once
- Emulator developers can benefit from a mature user interface without coding it
- Gamers can configure emulators all at once
- The user interface, configuration, and storage are consistent across emulators
From the gamer perspective, Ludo is a universal retro game browser and player. It offers a gaming experience optimized for TV and joypads, but can also be used on a traditional PC with a keyboard.
Stability, Intuitiveness, Ease of use, Minimalism, Moderate portability, Correctness
Feature completeness, High performance, Extreme portability, Customizability
Currently, Ludo can run on the following platforms:
- Windows 64-bit (Tested on Windows 10)
- Max OS X 64-bit
- Linux 64-bit
- Linux on Raspberry Pi 32-bit
There is also an Operating System version of Ludo called LudOS. It looks and behaves exactly the same, but can be burnt to a USB drive or an SD card to recreate a video games console experience. You can setup LudOS on a dedicated TV box to enjoy gaming from your couch. You can also boot it off USB on any laptop in a perfectly portable way.
Ludo can auto configure a number of widespread joypads:
- Sony DualShock 3 and 4 (Wired)
- Microsoft XBox 360 and XBox One (Wired)
- 8BitDO NES30 Pro (Wired)
Plugging any of these should work out of the box. You can plug up to two and they will be assigned to Player 1 and Player 2 automatically. Manual configuration is unsupported.
Ludo includes the following libretro cores (emulators):
bluemsx fbneo fceumm gambatte genesis_plus_gx handy mednafen_ngp mednafen_pce_fast mednafen_psx mednafen_saturn mednafen_supergrafx mednafen_vb mednafen_wswan mgba np2kai o2em pcsx_rearmed picodrive pokemini prosystem snes9x stella vecx virtualjaguar
Ludo can run games from these consoles:
Atari 5200, Atari 7800, Atari Jaguar, Atari Lynx, GCE Vectrex, MSX, MSX2, Various Arcade Games, Game Boy, Sega SG-1000, Sega Game Gear, Sega Master System, Sega Genesis / Mega Drive, Sega 32X, Sega CD, Sega Saturn, Nintendo NES, Super Nintendo / Super Famicom, Nintendo Virtual Boy, Nintendo Game Boy, Nintendo Game Boy Advance, NEC PC Engine, NEC PC Engine CD, NEC PC-98, NEC PC-FX, Sharp X68000, Sony PlayStation, 3DO
Ludo's User Interface has the following functionalities:
- Joypad driven: everything can be done through the joypad instead of the mouse
- TV optimized: looks nice on a wide screen
- Joypads auto configuration when plugged
- Automatic configuration of literally everything
- Game collection scanner for generating playlists with thumbnails
- Video filters through simple shaders
- Taking game screenshots
- Saving/Loading game state anytime, organized by date with screenshots
- Emulator specific settings
- Soft-patching .ips and .ups
The OS version of Ludo, LudOS, adds these OS centric functionalities:
- Flash-able using Etcher
- Auto expanded filesystem on first boot
- Connecting to Wi-Fi networks, with a virtual keyboard
- Robust monolithic updates for the OS
- Adding games through Windows Share protocol or SSH
- Controlling services like SSH, Samba, Bluetooth
While the goal of Ludo is to stay small enough to be very stable, core functionalities are still under development and not everything is working as expected. You can consider Ludo as a bêta stage while LudOS is still in alpha stage.
During this development phase, the focus is on bug fixing. We don't often accept feature requests.
Bugs can be reported here: https://github.com/libretro/ludo/issues
And you can join our Discord channel to talk: https://discord.gg/YXYSEQD