ZyperOS: Zyper, a miniature schnauzer with his head cocked and his tongue out, beside the name

A fast, light firmware for the GKD Pixel 2 that plays your whole retro library.

On in about 2 seconds. The stock firmware takes 30 to 40. Turn it off mid-game; turn it on, and 2 seconds later you're back where you were.

Green GKD Pixel 2 with a metal shell, standing upright.
Favorites: Sonic The Hedgehog 2 between Metroid Fusion and Super Mario 64, Genesis under its name
The Nintendo 64 shelf: Super Mario 64's box between Mario Kart 64 and Ocarina of Time
The SNES shelf: Super Mario World's box between Donkey Kong Country and Super Metroid
The PlayStation shelf: Metal Gear Solid's box between Crash Bandicoot and Spyro the Dragon, a heart before its name
The Spotlight home
The Gallery home
Metal Gear Solid's Cover and Video page: its cover beside the boxes, title screen and screenshots libretro, ScreenScraper and SteamGridDB offer, and its video
Metal Gear Solid's details
An achievementalt=
An achievements list
Install PortMaster: its icon, its version and the download's bar
MENU > Storage: the card in one bar by part, two recommendations, then every system by size
The in-game menu over a paused Spyro the Dragon, on its Quick Slot row
Controls: Hotkeys. SELECT with R1 and L1 quick save and load, with R2 and L2 faster and slower
MP4's shelf of an album, a film and a book, each marked with what it is
MENU > Battery Icon set to Time Left: the corner reads 3 h 25 min beside the battery
MENU > Scraper and the covers each source found
The ZyperOS menu
Your games, cover by cover 2 / 18

Current ZyperOS screens, with the real box art the Scraper finds. The games and their art belong to their owners: ZyperOS comes with no games and no art.

Why ZyperOS

Your library looks the part

Every game shows its real box art, found on the handheld from libretro, ScreenScraper and SteamGridDB, and a few seconds of video when you rest on it.

On in about 2 seconds

The stock firmware takes 30 to 40, in my test on my Pixel 2. Turn it off mid-game, and the next start puts you back where you were, 2 seconds later.

Plays more, smoothly

Forty systems and PortMaster's ports. Mario Kart DS keeps 60 frames a second and Super Mario 64 its 30, on the Pixel 2.

No more taking the card out

Add games, music and saves from any browser over Wi-Fi or the USB cable, and update ZyperOS the same way.

Made to be picked up

A first start that teaches every button, eight languages, light and dark, and a menu that never makes you wait.

Free and open source

GPL-3.0, with nothing locked behind a payment. Everyone gets the same ZyperOS.

Coming from the stock OS?

In my test on my Pixel 2, the stock firmware takes over 30 seconds to start, usually close to 40. ZyperOS is on in about 2, and POWER in a game saves it, so the next start puts you back in that game. Beyond that, ZyperOS has what the stock column of the comparison doesn't show:

Keep the stock card as your way back: ZyperOS goes on a second card, and swapping cards switches systems (keeping the stock card safe). Your games come over as files, each into its console's folder under Roms/.

Install in three steps

  1. Download ZyperOS Installer for macOS, Windows or Linux from the latest release.
  2. Write the card. Put the microSD card in the computer, pick the GKD Pixel 2, the latest release and the card, and choose Fresh install.
  3. Play. Put the card in the Pixel 2 and turn it on. The first start sets the card up in about a minute, then shows you each button.

ZyperOS 1.0.2, November 2026. Or write the card image, the .img.xz file, with any disk image writer, such as Raspberry Pi Imager. New versions come with System Update, over Wi-Fi or the USB cable, or with the installer's Update, which keeps a card's games, music and saves. For the GKD Pixel 2 only for now: the TrimUI Brick's image comes later. To build the card image yourself, see Building ZyperOS. Questions, ideas, or want to help build it? Come say hi on the ZyperOS Discord.

The tour

ZyperOS in 105 seconds, every screen drawn by the launcher itself on a sample library.

What it does

Starts the moment you press A

The emulator stays running, so a game is up as soon as you choose it. A picks up where you left it, and Y starts it from the start.

Every system in pixel art

Animated consoles on a Spotlight or Gallery home, A to Z or by release date, and your games as a row of covers, a heart before each favorite's name.

Eight languages

English, 简体中文, Español, Português (Brasil), Français, Deutsch, 日本語 and Italiano, from the menus and the in-game menu to the charging screen, the boot screen and the File Transfer page. Pick one on the first start or in MENU > Language.

A first start that asks

Zyper says hello in each language until you pick yours, teaches each button and shows where it is on the Pixel 2, then asks for the theme, the home screen, the button sounds and the menu music.

No games yet? It shows how

An empty card opens on the two ways to add games, USB or Wi-Fi, one button each. Zyper cheers when they arrive.

Box art it finds itself

MENU > Scraper asks libretro with no account, ScreenScraper with a free one in builds that carry its developer pair, and SteamGridDB with your own key. Renamed ROMs match by checksum.

Pick a game's cover

X on a game, then Cover and Video: every box, 3D box, title screen and screenshot the three sources offer, named with where it comes from. A shows it big first, and the cover it replaces is kept to put back. Its video snap is there too, to watch, download, replace or delete.

Video snaps

Rest on a game for a second and its cover turns into a few seconds of the game, from ScreenScraper. A play mark says which games have one.

Delete a game, and only that game

X on a game, then Delete Game: it asks first, then takes the game with its saves, states, cover and video, and the shelf moves on. A file another game still uses stays, and so does a BIOS set like neogeo.zip.

Storage, as a phone shows it

MENU > Storage shows what fills the card in one bar, then every system by size and each system's games largest first. Music, Videos and Audiobooks open their albums, films and books, and X sorts any list by size, A to Z or last played. It suggests what can go: art of games no longer there, and save states of games not played for a year.

Search and Random Game

Find any game by a few letters of its name, or let ZyperOS pick one and start it.

RetroAchievements

Sign in on the device, under MENU > Achievements. Achievements download once and then work offline, with each one's badge, a pop-up with Zyper when you unlock one, and progress counts.

Ports

The Ports shelf installs the official PortMaster with one press, then runs its games, such as Stardew Valley and Celeste.

The in-game menu over every port

MENU pauses any port, and PortMaster itself, under the in-game menu: Continue, Controls and Quit. Controls lists what the port documents: its README's controls, the key each button types, and what to copy where before it runs.

OpenBOR, with the same menu

OpenBOR runs on its own rather than as a libretro core, and MENU still pauses it under the in-game menu, as it does every port: Continue, Controls and Quit, with the volume and brightness bars over the game.

Nintendo 64 at full speed

ParallelN64 with Glide64, as ROGUE OS ran it: Super Mario 64 and a Mario Kart 64 race hold their 30 frames a second, and the d-pad is the stick. Mupen64Plus-Next is the second choice, on the Core row.

Nintendo DS your way

DSperate with three screen layouts and a d-pad stylus. Mario Kart DS races at 60 frames a second, and Game Language picks the language it speaks, whatever your BIOS files were dumped from.

MP4

Music, audiobooks and videos on one shelf of their own covers, each marked album, book or video. SELECT opens it from anywhere, even in a game, and X or SELECT + START locks the screen.

Menu music

Ten free 8-bit tracks behind the menus, never over a game. Your own in Roms/BGM play instead.

Wi-Fi File Transfer

Move games, music and saves from any browser, behind a PIN. With no Wi-Fi around, the handheld makes its own network for your phone. It keeps going while you play, and shows the time left.

Battery care

A charge limit of 80, 85 or 90%, a charging screen while the handheld is off, and a warning before a low battery or heat gets in the way. The corner can show the time left at once, or the time to full on the cable, instead of the percentage, and says so when the charge is on hold or done.

USB that only charges

Plug in a computer and the Pixel 2 asks first: charge only, or open USB File Transfer. Developer Mode, hidden on About behind L2 + R2 held for five seconds, brings up SSH over the cable.

System Update

Over Wi-Fi, only what changed, signed, with Roll Back. Without Wi-Fi, the File Transfer page brings it over the USB cable.

Rumble and side lights

Dreamcast, PlayStation and Game Boy Color rumble games shake the Pixel 2. Its four side lights show the battery charging and running low, the volume and brightness as you change them, a climb when files or covers finish, and a sparkle for an achievement. MENU > Side Lights turns each on or off.

Clocks per system

8-bit and handheld systems run at lower clocks, measured to keep every frame, and the battery lasts longer.

Quick save, quick load

Hold SELECT and press R1 to save a state, L1 to load it, into the slot you pick for each system. SELECT on its own still belongs to the game.

Faster, slower, and turbo

SELECT + R2 runs a game at 1.5x, 2x or 3x, and SELECT + L2 steps back down. X and Y are turbo A and B.

A way out of anything

Hold MENU + START for a second and whatever runs ends, a stuck game or port included, and the home comes back. In the in-game menu, X quits from any row.

Every control, in the game

Controls in the in-game menu shows what each button does in that game, on its system: its own buttons, the PlayStation's as their shapes, turbo, the hotkeys, the N64's C buttons and the DS's stylus.

The File Transfer page

The handheld shows an address and a PIN; open it in any browser, on a computer or a phone, over Wi-Fi, the handheld's own network or the USB cable. No app and no account.

The card's folders, each in ZyperOS's pixel art, ROMs with a folder per console. Drop files anywhere to upload them, with the time left as they go and the card's free space checked first. Download, rename and delete from each file's menu. Over the cable, Settings fetches missing box art and updates ZyperOS with the computer's own internet.

The File Transfer page on a computer: the card's folders down the left with their pixel art, an NES folder open, and an upload under the folders with the time left

Light and dark

Beard in light, Salt & Pepper in dark. MENU > Appearance chooses Light, Dark or Auto, and the first start asks.

The Nintendo 64 shelf in the light theme, Super Mario 64's box in the middle
Light
The Nintendo 64 shelf in the dark theme, Super Mario 64's box in the middle
Dark
The Spotlight home in the light theme
Light
The Spotlight home in the dark theme
Dark

Forty systems

How it compares

The GKD Pixel 2 has several operating systems to choose from. This is ZyperOS beside the one it comes with and four others, from what each one's own pages, code and releases say in November 2026. ROGUE OS set the bar for this handheld, and ZyperOS set out to match it.

The table scrolls sideways; the row names stay put.

ZyperOSStock1ROGUE OSTortOSROCKNIXplumOS Pixel2
Source, licenseGPL-3.0–Its changed files, no license namedGPL-3.0GPL-2.0 for its own codeMIT for its own code
Install, latestCard image or ZyperOS Installer, v1.0.2 (Nov 2026)On the card it comes withCard image, then v1.22's files (Aug 2025)Card image or TortOS Installer, v2.1.1 (Oct 2026)Card image, 20261101 (Nov 2026)Card image, v0.1.4 (Aug 2026), in testing
Systems40, and PortsOver 100 folders1172111202862
Games without taking the card out
Box art on the device
RetroAchievements–––
System updates–
First-start tutorial–––––
Themes
Languages8: English, 简体中文, Español, Português (Brasil), Français, Deutsch, 日本語, Italiano–21, in its launcherEnglish366
Menu music––––
Media player–
PortMaster–
Rumble––
Side lights–––
Storage by part and by game–––––
Pick a game's cover on the device–––––
Video previews on the shelf–––––
Charge limit–––––
Battery time left–––––
A DS game's language–––––
Charging screen when off–––––
Boot time1.6 s4, about 2 s from power on530 to 40 s from power on5–2.2 s4––

A tick means it has it and a cross that it does not; – means none of the sources says either way. Hover over a mark, or tap it, for what it means. The Pixel 2 has no Wi-Fi of its own, so on every system a Wi-Fi feature needs a USB Wi-Fi adapter. Knulli, muOS, twigUI (spruceOS) and a MinUI port run on the Pixel 2 too.

  1. GameKiddy publishes no documentation for the stock firmware. Its column is from Retro Game Corps' review of February 2025, and the firmware may have changed since.
  2. No count is published, so this is the systems in its own list, counted without tools, media players and ports. Hacks and regions can be entries of their own.
  3. In builds made with ScreenScraper's developer key.
  4. Each project's own number, and not measured the same way: ZyperOS's from the kernel's start to the home screen, on the Pixel 2 (mean of 10 starts), and TortOS's from power on to its shelf.
  5. My own count on my Pixel 2, from power on until it can be used, with the stock card it came with and with ZyperOS: the stock firmware takes over 30 seconds, usually close to 40; ZyperOS about 2.

Every source is linked in the README.

Zyper, a grey miniature schnauzer, sitting on the grass with his tongue out

The name

ZyperOS is named after Zyper, my dog, who passed away. He was quick, light on his feet and full of energy, and that is what this system tries to be.

The name is also two words in one: zippy and hyper. Games start the moment you press A, the menus never make you wait, and the whole system comes up in about two seconds.

Thanks

ZyperOS stands on other people's work. Thank you to:

Support ZyperOS

ZyperOS is free, and it will stay free. If it made your Pixel 2 more fun, you can leave a tip of any amount, once. It helps me keep building it, and it unlocks nothing: everyone gets the same ZyperOS.

One payment through Stripe, to Caramanico, my business in Italy. It is a tip, not a charitable donation.