Skip to content
vic

libretro/ludo

A libretro frontend written in golang

libretro/ludo.json
{
"createdAt": "2018-05-01T05:24:04Z",
"defaultBranch": "master",
"description": "A libretro frontend written in golang",
"fullName": "libretro/ludo",
"homepage": "https://ludo.libretro.com/",
"language": "Go",
"name": "ludo",
"pushedAt": "2025-08-28T19:42:51Z",
"stargazersCount": 669,
"topics": [
"bindings",
"emulation",
"glfw",
"golang",
"libretro",
"libretro-api",
"libretro-frontend",
"openal",
"opengl",
"retrogaming",
"ui"
],
"updatedAt": "2025-11-25T16:40:12Z",
"url": "https://github.com/libretro/ludo"
}

Ludo is a work in progress libretro frontend written in go.

It is able to launch most non GL libretro cores.

It works on OSX, Linux, Linux ARM and Windows. You can download releases here

  • GLFW 3.3
  • OpenGL >= 2.1
  • OpenAL

You can execute the following command and follow the instructions about exporting PKG_CONFIG

brew install openal-soft
sudo apt-get install libopenal-dev xorg-dev golang

You need to enable the experimental VC4 OpenGL support (Full KMS) in raspi-config.

sudo apt-get install libopenal-dev xorg-dev
sudo apk add musl-dev gcc openal-soft-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev mesa-dev

Setup openal headers and dll in mingw-w64 include and lib folders.

git clone --recursive https://github.com/libretro/ludo.git
cd ludo
go build

For more detailed build steps, please refer to our continuous delivery config.

./ludo