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.


















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.
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.
Forty systems and PortMaster's ports. Mario Kart DS keeps 60 frames a second and Super Mario 64 its 30, on the Pixel 2.
Add games, music and saves from any browser over Wi-Fi or the USB cable, and update ZyperOS the same way.
A first start that teaches every button, eight languages, light and dark, and a menu that never makes you wait.
GPL-3.0, with nothing locked behind a payment. Everyone gets the same ZyperOS.
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/.
ZyperOS in 105 seconds, every screen drawn by the launcher itself on a sample library.
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.
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.
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.
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.
An empty card opens on the two ways to add games, USB or Wi-Fi, one button each. Zyper cheers when they arrive.
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.
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.
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.
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.
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.
Find any game by a few letters of its name, or let ZyperOS pick one and start it.
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.
The Ports shelf installs the official PortMaster with one press, then runs its games, such as Stardew Valley and Celeste.
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 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.
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.
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.
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.
Ten free 8-bit tracks behind the menus, never over a game. Your own in Roms/BGM play instead.
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.
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.
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.
Over Wi-Fi, only what changed, signed, with Roll Back. Without Wi-Fi, the File Transfer page brings it over the USB cable.
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.
8-bit and handheld systems run at lower clocks, measured to keep every frame, and the battery lasts longer.
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.
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.
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.
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 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.

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




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.
| ZyperOS | Stock1 | ROGUE OS | TortOS | ROCKNIX | plumOS Pixel2 | |
|---|---|---|---|---|---|---|
| Source, license | GPL-3.0 | – | Its changed files, no license named | GPL-3.0 | GPL-2.0 for its own code | MIT for its own code |
| Install, latest | Card image or ZyperOS Installer, v1.0.2 (Nov 2026) | On the card it comes with | Card 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 |
| Systems | 40, and Ports | Over 100 folders | 1172 | 11 | 1202 | 862 |
| Games without taking the card out | ||||||
| Box art on the device | ||||||
| Retro | – | – | – | |||
| System updates | – | |||||
| First-start tutorial | – | – | – | – | – | |
| Themes | ||||||
| Languages | 8: English, 简体中文, Español, Português (Brasil), Français, Deutsch, 日本語, Italiano | – | 21, in its launcher | English | 36 | 6 |
| 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 time | 1.6 s4, about 2 s from power on5 | 30 to 40 s from power on5 | – | 2.2 s4 | – | – |
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.
ZyperOS stands on other people's work. Thank you to:
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.