Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ check-px2sim:
# page (its package/zyperos/zyperos.mk), and ZyperOS Installer has it too.
# ZyperOS counts from 0.1.0. Change it with
# tools/set-version.sh, which sets the installer's with it.
VERSION ?= 1.0.1
VERSION ?= 1.0.2

# A release, from this Mac (tools/release.sh): the Pixel 2's card image built
# clean by plastron from this commit; PUBLISH=1 then makes the draft GitHub
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ The GKD Pixel 2 has several operating systems to choose from. This is ZyperOS be
| | ZyperOS | Stock<sup>1</sup> | 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.1 (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 |
| **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 | 117<sup>2</sup> | 11 | 120<sup>2</sup> | 86<sup>2</sup> |
| **Games without taking the card out** | Wi-Fi or USB web page, its own hotspot, SSH | Samba | USB cable, SSH | Wi-Fi or USB web page | Samba, SFTP, USB cable | Samba, SFTP, FTP |
| **Box art on the device** | libretro, ScreenScraper<sup>3</sup>, SteamGridDB | On a computer (Skraper) | ScreenScraper | libretro, ScreenScraper | ScreenScraper | libretro |
Expand Down Expand Up @@ -137,7 +137,7 @@ The GKD Pixel 2 has several operating systems to choose from. This is ZyperOS be
<details>
<summary><b>Sources</b></summary>

- **ZyperOS:** this README and its code, [v1.0.1](https://github.com/tarikbc/ZyperOS/releases/tag/v1.0.1); the boot time I measured on my Pixel 2 (note 4) and [#83](https://github.com/tarikbc/ZyperOS/pull/83).
- **ZyperOS:** this README and its code, [v1.0.2](https://github.com/tarikbc/ZyperOS/releases/tag/v1.0.2); the boot time I measured on my Pixel 2 (note 4) and [#83](https://github.com/tarikbc/ZyperOS/pull/83).
- **Stock:** [Retro Game Corps, February 2025](https://retrogamecorps.com/2025/02/01/how-to-make-the-gkd-pixel-ii-software-suck-less/).
- **ROGUE OS:** [README](https://github.com/Ninoh-FOX/PIXEL2-ROGUE-OS/blob/f567073e9dd9d5f688a23728067d043af2fbdc20/README.md), [v1.22](https://github.com/Ninoh-FOX/PIXEL2-ROGUE-OS/releases/tag/GKDPIXELII_1.22), [system list](https://github.com/Ninoh-FOX/PIXEL2-ROGUE-OS/blob/f567073e9dd9d5f688a23728067d043af2fbdc20/EMUELEC/SYSTEM/usr/local/share/emulationstation/es_systems.cfg), [launcher skins](https://github.com/Ninoh-FOX/PIXEL2-ROGUE-OS/tree/f567073e9dd9d5f688a23728067d043af2fbdc20/EMUELEC/SYSTEM/usr/local/share/iux/skins), [launcher languages](https://github.com/Ninoh-FOX/PIXEL2-ROGUE-OS/tree/f567073e9dd9d5f688a23728067d043af2fbdc20/EMUELEC/SYSTEM/usr/local/share/iux/translations).
- **TortOS:** [README](https://github.com/ericreinsmidt/TortOS/blob/aafe6dee0d8221642e68d8b17fb17c6c5a39f8e1/README.md), [guide](https://github.com/ericreinsmidt/TortOS/blob/aafe6dee0d8221642e68d8b17fb17c6c5a39f8e1/docs/guide.md), [plastron's README](https://github.com/ericreinsmidt/plastron/blob/b67f5ec86a601f878f1bc8452d16af7112950f3d/README.md), [v2.1.1](https://github.com/ericreinsmidt/TortOS/releases/tag/v2.1.1).
Expand Down Expand Up @@ -246,7 +246,7 @@ ZyperOS has two themes, Beard in light and Salt & Pepper in dark. **MENU > Appea

## Install

ZyperOS 1.0.1 is out for the GKD Pixel 2, released in November 2026. [The latest release](https://github.com/tarikbc/ZyperOS/releases/latest) on GitHub has the card image and [ZyperOS Installer](installer/) for macOS, Windows and Linux. The TrimUI Brick's image comes later.
ZyperOS 1.0.2 is out for the GKD Pixel 2, released in November 2026. [The latest release](https://github.com/tarikbc/ZyperOS/releases/latest) on GitHub has the card image and [ZyperOS Installer](installer/) for macOS, Windows and Linux. The TrimUI Brick's image comes later.

1. **Write the card.** Download ZyperOS Installer for your computer from [the latest release](https://github.com/tarikbc/ZyperOS/releases/latest): the `.zip` for macOS, the `.exe` for Windows, the `.deb` or `.rpm` for Linux. Put the microSD card in the computer, pick the GKD Pixel 2, the latest release and the card, then choose **Fresh install**, which erases the card. Or download the card image, `ZyperOS-v<version>-pixel2.img.xz`, and write it with any program that writes disk images, like Raspberry Pi Imager.
2. **Put the card in the Pixel 2 and turn it on.** The first start sets the card up in about a minute, turning the rest of it into space for games, music and saves. Every boot after that comes straight up, and the first one ends with [the tutorial](#the-first-start).
Expand Down
42 changes: 42 additions & 0 deletions docs/releases/v1.0.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
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](https://zyperos.com/tip).
2 changes: 1 addition & 1 deletion installer/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion installer/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zyperos-installer"
version = "1.0.1"
version = "1.0.2"
description = "Puts ZyperOS on a microSD card for the GKD Pixel 2 or the TrimUI Brick, or updates one"
# Built on TortOS Installer by Eric Reinsmidt
authors = ["Tarik Caramanico", "Eric Reinsmidt"]
Expand Down
2 changes: 1 addition & 1 deletion mk/blog.py
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ def crumb_graph(trail):
ZBOX = """<aside class="zbox" aria-label="About ZyperOS">
<img src="/img/zyper.svg" width="76" height="80" alt="">
<div>
<p><b>ZyperOS</b> is a fast, light firmware for the GKD Pixel 2: forty systems, PortMaster ports, box art, RetroAchievements, music and video. It is free, and version 1.0.1 is out: a card image and ZyperOS Installer, on GitHub.</p>
<p><b>ZyperOS</b> is a fast, light firmware for the GKD Pixel 2: forty systems, PortMaster ports, box art, RetroAchievements, music and video. It is free, and version 1.0.2 is out: a card image and ZyperOS Installer, on GitHub.</p>
<span class="row"><a class="btn go" href="https://github.com/tarikbc/ZyperOS"><span class="glyph" aria-hidden="true">A</span>See it on GitHub</a><a class="btn alt" href="/#compare">How it compares</a></span>
</div>
</aside>"""
Expand Down
2 changes: 1 addition & 1 deletion res/update/min-system
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.0
1.0.2
8 changes: 4 additions & 4 deletions site/blog/best-custom-firmware-gkd-pixel-2.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ <h2>The short answer</h2>
<li><strong>The most systems, released today:</strong> ROCKNIX. 120 systems, DraStic and PortMaster built in, updates over the air, and drivers for many USB Wi-Fi adapters.</li>
<li><strong>The stock look, with more:</strong> ROGUE OS. The stock firmware's menus, improved, with DraStic, PortMaster and 13 launcher skins. Its last release is from August 2025.</li>
<li><strong>Small, simple and released:</strong> TortOS. Eleven classic consoles, an installer for macOS, Windows and Linux, and a start in about two seconds.</li>
<li><strong>A fast start, transfers from any browser, and battery care:</strong> ZyperOS. Forty systems and PortMaster ports, box art and video previews on the handheld, and a charge limit. Version 1.0.1 is out, with ZyperOS Installer.</li>
<li><strong>A fast start, transfers from any browser, and battery care:</strong> ZyperOS. Forty systems and PortMaster ports, box art and video previews on the handheld, and a charge limit. Version 1.0.2 is out, with ZyperOS Installer.</li>
<li><strong>A released system with many Pixel 2 touches:</strong> twigUI. A charging screen while off, side light modes, a list of tested Wi-Fi chips, RetroAchievements with hardcore mode, DraStic and PortMaster.</li>
<li><strong>A big catalogue and a guided tour:</strong> muOS. A web dashboard for files, video previews, and a media player with live TV and radio.</li>
<li><strong>Leave it as it came:</strong> the stock firmware works, with over a hundred system folders and PortMaster preloaded, but no scraper and no resume.</li>
Expand All @@ -29,7 +29,7 @@ <h2>Side by side</h2>
<thead><tr><td></td><th scope="col" class="us">ZyperOS</th><th scope="col">Stock</th><th scope="col">ROCKNIX</th><th scope="col">ROGUE OS</th><th scope="col">TortOS</th><th scope="col">plumOS Pixel2</th></tr></thead>
<tbody>
<tr><th scope="row">License</th><td class="us">GPL-3.0, free</td><td>[unk]</td><td>GPL-2.0 for its own code</td><td>Its changed files, no license named</td><td>GPL-3.0</td><td>MIT for its own code</td></tr>
<tr><th scope="row">Latest</th><td class="us">v1.0.1 (Nov 2026)</td><td>On the card it comes with</td><td>20261101 (Nov 2026)</td><td>1.22 (Aug 2025)</td><td>v2.1.1 (Oct 2026)</td><td>v0.1.4 (Aug 2026), in testing</td></tr>
<tr><th scope="row">Latest</th><td class="us">v1.0.2 (Nov 2026)</td><td>On the card it comes with</td><td>20261101 (Nov 2026)</td><td>1.22 (Aug 2025)</td><td>v2.1.1 (Oct 2026)</td><td>v0.1.4 (Aug 2026), in testing</td></tr>
<tr><th scope="row">Systems</th><td class="us">40, and Ports</td><td>Over 100 folders</td><td>120</td><td>117</td><td>11</td><td>86</td></tr>
<tr><th scope="row">Games without taking the card out</th><td class="us">[yes: A web page over Wi-Fi or the USB cable, its own hotspot, and SSH] Web page, Wi-Fi or USB</td><td>[yes: Samba file sharing over Wi-Fi] Samba</td><td>[yes: A web server, Samba, SFTP and the USB cable] Samba, SFTP, USB</td><td>[yes: The USB cable, and SSH] USB, SSH</td><td>[yes: A web page over Wi-Fi or the USB cable] Web page, Wi-Fi or USB</td><td>[yes: Samba, SFTP and FTP] Samba, SFTP, FTP</td></tr>
<tr><th scope="row">Box art on the device</th><td class="us">[yes: libretro, ScreenScraper, SteamGridDB] Yes</td><td>[no: Not on the handheld: covers are scraped on a computer, with Skraper] No</td><td>[yes: ScreenScraper] Yes</td><td>[yes: ScreenScraper, with your account] Yes</td><td>[yes: libretro and ScreenScraper] Yes</td><td>[yes: libretro's thumbnails] Yes</td></tr>
Expand All @@ -44,7 +44,7 @@ <h2>Side by side</h2>
<p class="meta">The table scrolls sideways; the row names stay put. A tick means it has it, a cross that it does not, and a dash that no source we read says either way. Hover over or tap a mark for more. The stock column is from Retro Game Corps' guide of February 2025. A system count is the systems in each project's own list, without tools, media players and ports.</p>

<h2>ZyperOS</h2>
<p>ZyperOS is made for the Pixel 2 alone. Its emulator stays running, so a game starts the moment you press <kbd>A</kbd> and picks up where you left it. It sends games from any browser over Wi-Fi or the USB cable, fetches box art and video previews on the handheld, signs in to RetroAchievements, and looks after the battery with a charge limit and a charging screen while off. It covers forty systems and runs PortMaster ports. It is free and open source, under the GPL-3.0 license, and version 1.0.1 is out, as a card image or with ZyperOS Installer.</p>
<p>ZyperOS is made for the Pixel 2 alone. Its emulator stays running, so a game starts the moment you press <kbd>A</kbd> and picks up where you left it. It sends games from any browser over Wi-Fi or the USB cable, fetches box art and video previews on the handheld, signs in to RetroAchievements, and looks after the battery with a charge limit and a charging screen while off. It covers forty systems and runs PortMaster ports. It is free and open source, under the GPL-3.0 license, and version 1.0.2 is out, as a card image or with ZyperOS Installer.</p>

<h2>The stock firmware</h2>
<p>The Pixel 2 ships with a fork of ROCKNIX, with GKD's IUX menu and EmulationStation, and over a hundred system folders on its card. Retro Game Corps found it serviceable, with PortMaster working, but with no scraper, no quick resume and an unconfigured Pico-8. <a href="/blog/gkd-pixel-2-stock-firmware/">More on the stock firmware</a>.</p>
Expand All @@ -68,7 +68,7 @@ <h2>The others: Knulli, muOS, twigUI and MinUI</h2>
<thead><tr><td></td><th scope="col">Knulli</th><th scope="col">muOS</th><th scope="col">twigUI</th><th scope="col">MinUI for the Pixel 2</th></tr></thead>
<tbody>
<tr><th scope="row">License</th><td>Buildroot's GPL-2.0-or-later, none of its own</td><td>GPL-3.0</td><td>ROCKNIX's GPL-2.0 with non-commercial parts; its spruceOS layer CC BY-NC 4.0</td><td>MIT</td></tr>
<tr><th scope="row">Latest</th><td>20260511 (May 2026), stable</td><td>2606.0 (Oct 2026)</td><td>v1.1.0 (Oct 2026)</td><td>v1.0.1 (May 2026)</td></tr>
<tr><th scope="row">Latest</th><td>20260511 (May 2026), stable</td><td>2606.0 (Oct 2026)</td><td>v1.1.0 (Oct 2026)</td><td>v1.0.2 (May 2026)</td></tr>
<tr><th scope="row">Systems</th><td>[unk]</td><td>112 in its catalogue</td><td>86 system folders</td><td>16</td></tr>
<tr><th scope="row">Wi-Fi on the Pixel 2</th><td>[unk]</td><td>[yes: Its Pixel 2 config loads the RTL8188EU driver] RTL8188EU</td><td>[yes: Seven chipsets listed, the TL-WN725N confirmed] Seven chipsets</td><td>[unk]</td></tr>
<tr><th scope="row">Games without taking the card out</th><td>[yes: Samba and SFTP, and ADB over USB] Samba, SFTP, ADB</td><td>[yes: A Web Dashboard, SFTP and Syncthing] Web Dashboard, SFTP</td><td>[yes: Samba, SSH, Syncthing, a web page, and USB storage mode] Samba, web page, USB</td><td>[unk]</td></tr>
Expand Down
4 changes: 2 additions & 2 deletions site/blog/install-custom-firmware-gkd-pixel-2.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ <h2>Step 2: download the image for the Pixel 2</h2>
<table>
<thead><tr><th scope="col">System</th><th scope="col">The file</th><th scope="col">Notes</th></tr></thead>
<tbody>
<tr><th scope="row" class="us">ZyperOS</th><td class="us"><code>ZyperOS-v1.0.1-pixel2.img.xz</code></td><td class="us">Or ZyperOS Installer, for macOS, Windows and Linux, which downloads and writes it for you.</td></tr>
<tr><th scope="row" class="us">ZyperOS</th><td class="us"><code>ZyperOS-v1.0.2-pixel2.img.xz</code></td><td class="us">Or ZyperOS Installer, for macOS, Windows and Linux, which downloads and writes it for you.</td></tr>
<tr><th scope="row">ROCKNIX</th><td><code>ROCKNIX-RK3326.aarch64-20261101-b.img.gz</code></td><td>The RK3326 "b" image is the Pixel 2's. Windows users can use the ROCKNIX Image Burner instead.</td></tr>
<tr><th scope="row">TortOS</th><td><code>TortOS-v2.1.1-pixel2.img.xz</code></td><td>Or TortOS Installer, for macOS, Windows and Linux, which downloads and writes it for you.</td></tr>
<tr><th scope="row">plumOS Pixel2</th><td><code>plumOS-Pixel2-v0.1.4-sd-image.7z</code></td><td>Extract the <code>.img</code> from the <code>.7z</code> first. The project says this fresh image has not had its final boot test.</td></tr>
Expand Down Expand Up @@ -67,7 +67,7 @@ <h2>Step 5: add your games</h2>
<p>Every system has its own folder names. On ZyperOS games go in <code>Roms/&lt;console&gt;</code>, and you can send them over Wi-Fi or the USB cable as well as with the card in a computer. <a href="/blog/add-games-gkd-pixel-2/">The adding games guide</a> shows how.</p>

<h2>Installing ZyperOS</h2>
<p>ZyperOS 1.0.1 is out for the Pixel 2, released in November 2026. Each release on GitHub has the card image and ZyperOS Installer for macOS, Windows and Linux. To install it:</p>
<p>ZyperOS 1.0.2 is out for the Pixel 2, released in November 2026. Each release on GitHub has the card image and ZyperOS Installer for macOS, Windows and Linux. To install it:</p>
<ol>
<li>Download ZyperOS Installer for your computer from <a href="https://github.com/tarikbc/ZyperOS/releases/latest">the latest release</a>.</li>
<li>Put the microSD card in the computer, then pick the GKD Pixel 2, the latest release and the card. Choose <strong>Fresh install</strong>, which erases the card. Or write the card image with any program that writes disk images, like Raspberry Pi Imager.</li>
Expand Down
Loading
Loading