Skip to content

Releases

ZyperOS 1.0.4

Choose a tag to compare

@tarikbc tarikbc released this 12 Nov 22:19
1c9f2aa

ZyperOS 1.0.4 fixes USB File Transfer on every computer, adds a Flash Drive mode that needs no driver at all, and lets System Update download in the background and pick up where it stopped.

Install

  1. Download ZyperOS Installer for your computer below: macOS (.zip), Windows (.exe), or Linux (.deb or .rpm).
  2. Put the microSD card in the computer, open the installer, and pick the GKD Pixel 2, the latest release and the card. Fresh install erases the card and puts ZyperOS on it.
  3. Put the card in the Pixel 2 and turn it on. The first start sets the card up (about a minute), then asks for your language, and Zyper shows you each button.

Or write ZyperOS-v1.0.4-pixel2.img.xz with any disk image writer (Raspberry Pi Imager, balenaEtcher). Check it against SHA256SUMS first.

What's new

  • File Transfer over the cable works again: on the release images, the Pixel 2 never finished setting up its side of the USB connection, so the computer saw a dead link and the screen blamed a missing driver. Plug in, choose File Transfer, and http://zyperos.local opens.
  • Flash Drive: a new choice when you plug into a computer. The Pixel 2 shows up as a regular USB drive on any computer, with no driver and no browser, Windows 10 included. Its screen shows the download and upload speed live, MENU and the volume buttons set the brightness, and B ejects from the Pixel 2 itself. Eject it on the computer, or press B, and ZyperOS comes back.
  • A new Computer Connected screen: its choices in a 2x2 grid, starting on Charge Only.
  • System Update in the background: start a download and keep playing. A mark at the top shows its progress, and Zyper tells you when it is ready to install. The Pixel 2 no longer turns itself off in the middle of a download.
  • Downloads pick up where they stopped: if Wi-Fi drops or the Pixel 2 turns off, the download goes on from the same spot next time, by itself.
  • New releases come to you: each time Wi-Fi connects, ZyperOS checks for a new release and tells you once.
  • Readable release notes: System Update shows each point in full, and Up and Down scroll them.
  • Charge to 100% this once: on the charging screen, Y charges to full one time, even below your charge limit. The limit comes back when you unplug.
  • Wi-Fi adapters after a power-off: a USB accessory that was powered when you turned off gets power again at the next start, with no question. Questions also ignore a button you were already holding when they appeared, and the message when a computer doesn't connect says what to do.
  • Game clocks in your time zone: games with a clock, like Pokémon's day and night, now follow the zone chosen in Date & Time instead of UTC.
  • Video previews in their real colors: previews on the shelf had red and blue swapped.
  • Button hints everywhere: Bluetooth, Wi-Fi, Play Time, Date & Time, File Transfer and more show each button's glyph, the same way everywhere.
  • The keyboard matches the menus: the same spacing, heading and line as every other panel.
  • A USB log for support: File Transfer's "Download logs" now includes the last 50 USB plugs.

Updating from 1.0.3

MENU > System Update offers System and ZyperOS over Wi-Fi, because Flash Drive needs the new system. On 1.0.3, File Transfer over the cable doesn't connect, so update over Wi-Fi, or use Update in ZyperOS Installer, which keeps your games, music and saves.

Good to know

  • The GKD Pixel 2 only. The TrimUI Brick's image comes in a later release.
  • Not included, add them if you want: BIOS files, which go in Bios/. The README lists each one.
  • Your own games only. ZyperOS comes with no games.

Thanks

ZyperOS is built on TortOS, plastron and Diatom by Eric Reinsmidt, on PortMaster, the libretro cores, Linux, Buildroot, SDL and many more open-source projects, each listed in the card's Licenses folder and in ZyperOS-v1.0.4-pixel2-sources.tar. The libretro cores' sources, at the exact commits shipped, are in the cores release. The game clock fix comes from Eric's Diatom and TortOS.

Thanks to everyone on the ZyperOS Discord who reported the File Transfer driver message, the blue video previews, the Wi-Fi adapter question after sleep and the keyboard's spacing: every one of those is fixed here.

If ZyperOS makes your Pixel 2 more fun, you can leave a tip.

ZyperOS 1.0.3

Choose a tag to compare

@tarikbc tarikbc released this 11 Nov 02:54
289b993

ZyperOS 1.0.3 makes USB simple and safe: File Transfer over the cable works on more computers, the Pixel 2 asks before it powers anything you plug in, and File Transfer stays cool.

Install

  1. Download ZyperOS Installer for your computer below: macOS (.zip), Windows (.exe), or Linux (.deb or .rpm).
  2. Put the microSD card in the computer, open the installer, and pick the GKD Pixel 2, the latest release and the card. Fresh install erases the card and puts ZyperOS on it.
  3. Put the card in the Pixel 2 and turn it on. The first start sets the card up (about a minute), then asks for your language, and Zyper shows you each button.

Or write ZyperOS-v1.0.3-pixel2.img.xz with any disk image writer (Raspberry Pi Imager, balenaEtcher). Check it against SHA256SUMS first.

What's new

  • http://zyperos.local: USB File Transfer now has a name you can type, next to its address. The page opens from any browser on the computer, and the address now wins over any other network that uses the same numbers, which fixes File Transfer on some Windows 11 computers.
  • The connection, step by step: File Transfer shows Cable, Address and Browser as they connect, and if one stalls, a short hint says what to do. It counts browsers, not connections, so one browser shows as one.
  • "What did you plug in?": when something on the USB port wants power, the Pixel 2 asks: a USB accessory (headphones, a Wi-Fi adapter, a keyboard) or a computer. It never powers a computer by itself. If a computer doesn't connect, the Pixel 2 tells you to plug the cable in again. Answered by mistake? The USB mark at the top, or MENU > USB Device, asks again.
  • MENU > USB Accessories: keep it on Ask, or set Automatic to power accessories right away with no question.
  • Cooler File Transfer: the File Transfer screen and the open MENU no longer redraw when nothing changes. On my Pixel 2, File Transfer left open on the cable now stays around 37 °C instead of passing 50 °C, and uses a sixth of the battery. Its screen turns off after Auto Off, and only dims while files are copying.
  • Button hints in the new questions show each button's glyph, the same way everywhere.
  • Fixes: the Pixel 2 is recognized by a Mac on the first plug, and longer words, like "auto (alto-falante)" in Audio Output, no longer get cut.

Updating from 1.0.2

MENU > System Update offers System and ZyperOS over Wi-Fi or the USB cable: this release updates the system too, for the USB changes. Or use Update in ZyperOS Installer, which keeps your games, music and saves.

Good to know

  • The GKD Pixel 2 only. The TrimUI Brick's image comes in a later release.
  • Not included, add them if you want: BIOS files, which go in Bios/. The README lists each one.
  • Your own games only. ZyperOS comes with no games.

Thanks

ZyperOS is built on TortOS, plastron and Diatom by Eric Reinsmidt, on PortMaster, the libretro cores, Linux, Buildroot, SDL and many more open-source projects, each listed in the card's Licenses folder and in ZyperOS-v1.0.3-pixel2-sources.tar.

Thanks to everyone on the new ZyperOS Discord who reported the Windows File Transfer problem and the heat in File Transfer: this release comes from those reports.

If ZyperOS makes your Pixel 2 more fun, you can leave a tip.

Cores cores-2026-11-11

Pre-release

Choose a tag to compare

@tarikbc tarikbc released this 11 Nov 16:21
289b993

The libretro cores ZyperOS ships, as mk/fetch-vendor.sh fetches them, each pinned there by its sha256 (also in SHA256SUMS here). This is not a ZyperOS version: install ZyperOS from its own releases.

Every core is the work of its authors and is under its own license. libretro's buildbot built them; the source of each is below, as THIRD-PARTY-LICENSES.md in the repository gives it.

Sources

Each core under a GPL or an LGPL has its source here, at the commit of the binary in this release: <core>-<commit>-source.tar.gz, GitHub's archive of that commit, also in SHA256SUMS.

Core Source archive At
fceumm_libretro.so fceumm-236ccdf-source.tar.gz https://github.com/libretro/libretro-fceumm/tree/236ccdfc911e84c60fea6b9d0699c2d440a8de14
mednafen_pce_fast_libretro.so mednafen_pce_fast-bebe2b1-source.tar.gz https://github.com/libretro/beetle-pce-fast-libretro/tree/bebe2b13a840fbfd45cb501f5cd0efe01bdb1735
mednafen_ngp_libretro.so mednafen_ngp-a50d5ac-source.tar.gz https://github.com/libretro/beetle-ngp-libretro/tree/a50d5ac288a81f2104ddf43195a4efdd15c72227
stella2014_libretro.so stella2014-7d1361e-source.tar.gz https://github.com/libretro/stella2014-libretro/tree/7d1361e407e63f29e52892655069e5fb4096e691
prosystem_libretro.so prosystem-8a88014-source.tar.gz https://github.com/libretro/prosystem-libretro/tree/8a88014287c7a01cd568067e5a557d0a2b2a051f
neocd_libretro.so neocd-b1e04c7-source.tar.gz https://github.com/libretro/neocd_libretro/tree/b1e04c738cb48a1dae0574b8877f6a116d270ca1
pcsx_rearmed_libretro.so pcsx_rearmed-7b0e8f8-source.tar.gz https://github.com/libretro/pcsx_rearmed/tree/7b0e8f8fadfbce3d170d195b9d9eecaabfa08c8e
pcsx_rearmed_libretro.so pcsx_rearmed-libpicofe-a269738-source.tar.gz https://github.com/notaz/libpicofe/tree/a2697389e76744cfa0c56c13a172845c45ede719 (frontend/libpicofe)
a5200_libretro.so a5200-40c6f2f-source.tar.gz https://github.com/libretro/a5200/tree/40c6f2f1ad4a3145b328d5baaf010fae6c7e752b
mednafen_wswan_libretro.so mednafen_wswan-4b01295-source.tar.gz https://github.com/libretro/beetle-wswan-libretro/tree/4b01295838ea89e3f1355bbe4cb5cf98aa6108cd
pokemini_libretro.so pokemini-132111b-source.tar.gz https://github.com/libretro/PokeMini/tree/132111b76343559860532a1ccc094f93f1ed5650
bluemsx_libretro.so bluemsx-e3086eb-source.tar.gz https://github.com/libretro/blueMSX-libretro/tree/e3086eb5d36d77fa11704cf53dc176686e70127d
opera_libretro.so opera-370d9a2-source.tar.gz https://github.com/libretro/opera-libretro/tree/370d9a25c030bb9de4aade371b31045691c40a95

Licenses

Core Systems License Source
fceumm_libretro.so NES GPL-2.0-or-later https://github.com/libretro/libretro-fceumm at 236ccdf
snes9x2010_libretro.so SNES Non-commercial https://github.com/libretro/snes9x2010 at 7db129b
genesis_plus_gx_libretro.so Genesis, Master System, Game Gear Non-commercial https://github.com/libretro/Genesis-Plus-GX at b7e79b3
mednafen_pce_fast_libretro.so TurboGrafx-16 and CD GPL-2.0 (Mednafen-derived) https://github.com/libretro/beetle-pce-fast-libretro at bebe2b1 (no commit in the binary; this one rebuilds the buildbot's bytes, and the file shipped is that build without its .comment section, mk/fetch-vendor.sh)
mednafen_ngp_libretro.so Neo Geo Pocket and Color GPL-2.0 (Mednafen-derived) https://github.com/libretro/beetle-ngp-libretro at a50d5ac
stella2014_libretro.so Atari 2600 GPL-2.0 https://github.com/libretro/stella2014-libretro at 7d1361e
prosystem_libretro.so Atari 7800 GPL-2.0 https://github.com/libretro/prosystem-libretro at 8a88014
gw_libretro.so Game & Watch zlib https://github.com/libretro/gw-libretro at dddc9d5 (the hash the binary reports as its own)
fbneo_libretro.so Arcade, Neo Geo Non-commercial https://github.com/libretro/FBNeo at da14132
picodrive_libretro.so Sega CD, 32X Non-commercial https://github.com/libretro/picodrive at 1890c29
neocd_libretro.so Neo Geo CD LGPL-3.0 https://github.com/libretro/neocd_libretro at b1e04c7
pcsx_rearmed_libretro.so PlayStation GPL-2.0 https://github.com/libretro/pcsx_rearmed at 7b0e8f8
a5200_libretro.so Atari 5200 GPL-2.0 https://github.com/libretro/a5200 at 40c6f2f
handy_libretro.so Atari Lynx zlib https://github.com/libretro/libretro-handy at bc55d46
mednafen_wswan_libretro.so WonderSwan and Color GPL-2.0 (Mednafen-derived) https://github.com/libretro/beetle-wswan-libretro at 4b01295
pokemini_libretro.so Pokémon Mini GPL-3.0 https://github.com/libretro/PokeMini at 132111b (the binary names v0.60 and no commit; the newest commit when it was pinned, 2026-11-04, and still the newest on 2026-11-11, when the buildbot's build was still the same file)
bluemsx_libretro.so MSX2 GPL-2.0 https://github.com/libretro/blueMSX-libretro at e3086eb
opera_libretro.so 3DO LGPL-2.1 and non-commercial https://github.com/libretro/opera-libretro at 370d9a2
mame2003_plus_libretro.so MAME Non-commercial (the MAME license) https://github.com/libretro/mame2003-plus-libretro at 91f2f15

ZyperOS 1.0.2

Choose a tag to compare

@tarikbc tarikbc released this 09 Nov 21:05
0a36a2d

ZyperOS 1.0.2 brings PortMaster, a Storage page, smooth Nintendo 64, a new way to pick covers and videos, and many things I wanted after playing 1.0.1 every day.

Install

  1. Download ZyperOS Installer for your computer below: macOS (.zip), Windows (.exe), or Linux (.deb or .rpm).
  2. Put the microSD card in the computer, open the installer, and pick the GKD Pixel 2, the latest release and the card. Fresh install erases the card and puts ZyperOS on it.
  3. Put the card in the Pixel 2 and turn it on. The first start sets the card up (about a minute), then asks for your language, and Zyper shows you each button.

Or write ZyperOS-v1.0.2-pixel2.img.xz with any disk image writer (Raspberry Pi Imager, balenaEtcher). Check it against SHA256SUMS first.

What's new

  • PortMaster: install it from the Ports shelf, then pick ports from its own list. MENU over any port, PortMaster, OpenBOR or another program opens the in-game menu, with Continue, a real Controls page from the port's own files, and Quit. PortMaster has its own art in both themes.
  • MENU > Storage shows how the card is used, as a phone does. Open a group to see what takes the most room, sort it with X, and delete what you don't want.
  • Smooth Nintendo 64: ParallelN64 with Glide64 is the default now, as in ROGUE OS. Each button is the N64 button it names, the d-pad is the stick, the C buttons are SELECT with X, A, B or Y, and you choose the Rumble Pak or the Controller Pak in the in-game menu.
  • Cover and Video: on a game's details (X), pick its cover from libretro, ScreenScraper and SteamGridDB, see each one big next to the one you have, and put the old one back if you change your mind. Download, watch, replace or delete its video snap there too.
  • Continue or start over: A continues a game where you left it, and Y starts it from the start. Favorite moved to the game's details, and a heart before its name marks a favorite on its console's shelf.
  • Hotkeys in a game: hold SELECT and press R1 to save a state or L1 to load it, into a Quick Slot you choose for each system. SELECT + R2 and SELECT + L2 play faster and slower.
  • X quits from any row of the in-game menu, and Controls shows each system's own buttons, the PlayStation's shapes included.
  • MENU + START, held a second, takes you home from anything: a game, a port or a screen that stopped answering. After a crash, the Pixel 2 now starts on the home instead of going back into the game.
  • MP4: albums, books and films on one shelf, each with a small mark for its kind. A long song name slides in the top bar, Now Playing shows its buttons, and X or SELECT + START locks the screen, which wakes at its lowest brightness. Audio Channels Auto plays mono on the speaker and stereo on headphones.
  • Battery Time Left: the battery icon can show the time left instead of the percentage, and says On hold at the charge limit and Charged when full.
  • Nintendo DS: a Game Language row picks each game's language, and DSperate is the only DS emulator, so DraStic is no longer needed.
  • Achievements have a clearer name and badge, and Zyper cheers each unlock.
  • Developer Mode: hold L2 + R2 on About for five seconds to turn on SSH over the USB cable.
  • Fixes: text fits its box in all eight languages, the in-game clock no longer meets the battery, the play time line sits closer to the title, and a short video snap (a DS or Game Boy one) no longer restarts the launcher.

Updating from 1.0.1

MENU > System Update offers System and ZyperOS over Wi-Fi or the USB cable: this release updates the system too, for PortMaster. Or use Update in ZyperOS Installer, which keeps your games, music and saves.

Good to know

  • The GKD Pixel 2 only. The TrimUI Brick's image comes in a later release.
  • Not included, add them if you want: BIOS files, which go in Bios/. The README lists each one.
  • Your own games only. ZyperOS comes with no games.

Thanks

ZyperOS is built on TortOS, plastron and Diatom by Eric Reinsmidt, on PortMaster, the libretro cores, Linux, Buildroot, SDL and many more open-source projects, each listed in the card's Licenses folder and in ZyperOS-v1.0.2-pixel2-sources.tar.

If ZyperOS makes your Pixel 2 more fun, you can leave a tip.

ZyperOS 1.0.1

Choose a tag to compare

@tarikbc tarikbc released this 07 Nov 23:21
a098bef

ZyperOS 1.0.1 brings eight languages, Nintendo DS at full speed, and a lot of small things I wanted after living with 1.0 on my own Pixel 2.

Install

  1. Download ZyperOS Installer for your computer below: macOS (.zip), Windows (.exe), or Linux (.deb or .rpm).
  2. Put the microSD card in the computer, open the installer, and pick the GKD Pixel 2, the latest release and the card. Fresh install erases the card and puts ZyperOS on it.
  3. Put the card in the Pixel 2 and turn it on. The first start sets the card up (about a minute), then asks for your language, and Zyper shows you each button.

Or write ZyperOS-v1.0.1-pixel2.img.xz with any disk image writer (Raspberry Pi Imager, balenaEtcher). Check it against SHA256SUMS first.

What's new

  • ZyperOS is now open source, under GPL-3.0, so anyone can build on it under their own name. I keep the name ZyperOS and Zyper as trademarks. Read the LICENSE, the NOTICE and TRADEMARK.md.
  • Eight languages: English, 简体中文, Español, Português (Brasil), Français, Deutsch, 日本語 and Italiano. Every screen follows the language you pick, the in-game menu, the charging screen, the File Transfer page and the line under the boot animation included. Change it any time in MENU > Language.
  • Nintendo DS at full speed: DSperate now runs its threads the way it was designed to, at the CPU's top clock. A Mario Kart DS race on my Pixel 2 went from 49 to about 60 fps.
  • Delete a game from its details page (X on the shelf). It asks first, then removes the game with its saves, states, cover and video. Shared files and BIOS sets stay.
  • Favorites shows each game's system right under its name.
  • Video snaps play the moment the bar under the cover is full.
  • Faster home navigation: Up and Down on the home jump 3 systems in release-date order, or to the next letter when the systems go A to Z.
  • Menus stop at their ends instead of wrapping around, and the story in About stays still until you scroll it with Up and Down.
  • Charge Limit holds the battery within 2 points of the limit (80% stays between 78 and 80), instead of letting it fall 5 points first.
  • The first start's tour reacts to L2 and R2 when they're not the button it asks for.
  • Smoother covers on the shelf and fixes to the File Transfer page.

Updating from 1.0.0

MENU > System Update finds 1.0.1 over Wi-Fi, or use Update in ZyperOS Installer, which keeps your games, music and saves.

Good to know

  • The GKD Pixel 2 only. The TrimUI Brick's image comes in a later release.
  • Not included, add them if you want: BIOS files, which go in Bios/, and DraStic, which goes in Emulators/DraStic/. The README lists each one.
  • Your own games only. ZyperOS comes with no games.

Thanks

ZyperOS is built on TortOS, plastron and Diatom by Eric Reinsmidt, and on the libretro cores, Linux, Buildroot, SDL and many more open-source projects, each listed in the card's Licenses folder and in ZyperOS-v1.0.1-pixel2-sources.tar.

If ZyperOS makes your Pixel 2 more fun, you can leave a tip.