Repository navigation
romi v0.3.0
Playing games inside romi grows up in this release. Games played in romi now get a launch animation, keep their saves, earn RetroAchievements and can look like an old screen. There are also prebuilt binaries for the first time.
Playing in romi
Open a game's menu (o) and pick Play in romi to play it in the middle of the launcher. It needs a terminal with Kitty graphics: Ghostty, or kitty.
- Launch animation. A wireframe of the system builds itself out of lines in your terminal's colors, then the camera dives into its screen as the game starts there. Game Boy, Game Boy Color and GBA games get a Game Boy, NES and SNES games an old TV with the console in front, arcade and Neo Geo games an upright cabinet, and everything else the TV. The game's file name picks how it builds and its color. Any key or button skips it, and
"launch_animation"turns it off or picks the colors. - Saves. In-game saves go in RetroArch's save folder under the same names, so a game saved in romi carries on in RetroArch and back. romi writes the save within a second of the game saving, and never writes over a save it couldn't read.
- RetroAchievements. Log in once with
romi achievements login, which keeps a token, not your password. Achievements unlock as you play, with a notice and the achievement's badge over the game. Unlocks are softcore. - Screen filters.
"screen_filter"gives the picture scanlines, a CRT's phosphor mask or an LCD grid. romi draws them itself, so they look the same in every terminal. - Rounded corners.
"corner_radius"rounds the picture's corners like an old TV, with the terminal's background showing through.
The launcher
- An options panel in the menu for volume, rounded corners, the launch animation, covers, title screens, the accent color, borders and the confirm button. Changes take effect at once and are saved into
config.json, changing only that value, so your comments and layout stay as they were. - The config reloads when it's saved, including files it includes. A config that doesn't parse is reported and the old one kept.
- Steam games get genres, a year, player counts and covers from Steam's store, through
romi scrape, with no API key.
Fixes
- Achievements could turn off for a whole session when a dropped connection made a login fail. romi now tries again, and
ROMI_RA_LOGsays why a request failed. - A notice drawn over a game no longer shifts the picture to its right.
Install
Prebuilt binaries for x86_64 and aarch64 Linux are below. They run on glibc 2.35 and newer (Ubuntu 22.04, Debian 12, Fedora 36 and later), and need libudev and ALSA's libasound, which nearly every desktop already has.
tar -xzf romi-v0.3.0-x86_64-linux.tar.gz
install -Dm755 romi-v0.3.0-x86_64-linux/romi ~/.local/bin/romi
On Arch, build the package with makepkg -si in packaging/arch. To build from source, see the README.
Full changelog: v0.2.0...v0.3.0