Skip to content
Jean-André Santoni edited this page May 29, 2021 · 11 revisions

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.

Goals

Stability, Intuitiveness, Ease of use, Minimalism, Moderate portability, Correctness

Non goals

Feature completeness, High performance, Extreme portability, Customizability

Supported platforms

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.

Supported Joypads

Ludo can auto configure a number of widespread joypads:

  • Sony DualShock 3 and 4 (Wired)
  • Sony DualShock 4 (Wireless)
  • 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.

Emulated consoles

Ludo includes the following libretro cores (emulators):

atari800 bluemsx duckstation fbneo fceumm gambatte genesis_plus_gx handy lutro mednafen_ngp mednafen_pce_fast mednafen_pcfx mednafen_psx mednafen_saturn mednafen_supergrafx mednafen_vb mednafen_wswan melonds mgba np2kai o2em pcsx_rearmed picodrive pokemini prosystem snes9x stella2014 vecx virtualjaguar

Ludo can run games from these consoles:

Atari 2600, Atari 5200, Atari 7800, Atari Jaguar, Atari Lynx, GCE Vectrex, MSX, MSX2, Various Arcade Games, Game Boy / Color, 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

Features

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

Keyboard Bindings

  • P: trigger the menu
  • X: OK
  • Z: Cancel
  • Esc: Quit

Joypad Bindings

  • Guide or L3+R3: trigger the menu
  • East Button: OK
  • South Button: Cancel

Launching games

Games can be either:

  • launched manually by loading a Core then a ROM
  • scanned and launched via a Playlist

If you want your ROMs to be scanned properly, we recommend:

  • No-Intro ROM sets for cartridge games, you can keep the ROMs zipped
  • Redump sets for CD games, in bin+cue format
  • FBNeo sets for arcade games

BIOS files go into the system directory. Directories can be configured via the settings UI.

If you are using LudOS, the SSH credentials are root:ludos

Support

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