GreenOvercast is a native Xbox Cloud Gaming and GeForce NOW client for small ARM64 Linux handhelds, with hardware video decoding on supported H700 and Rockchip firmware.
This independent project is not affiliated with Microsoft or NVIDIA.
You need internet access and an account for your chosen service:
- Xbox: an Xbox Game Pass plan that includes cloud gaming.
- GeForce NOW: a membership and access to the games you want to play.
Copy greenovercast.zip to PortMaster's autoinstall folder, then open
PortMaster to install it. The folder location for each firmware is listed in
the PortMaster FAQ.
When the installation finishes, return to the device frontend and launch GreenOvercast from Ports.
Choose Xbox or GeForce NOW, then open the sign-in link shown on screen on another device and enter the code. Your login is saved. You can switch services from Settings without closing the app.
GreenOvercast is experimental.
| Button | Library / menus | In game |
|---|---|---|
| D-pad / Left Stick | Navigate; hold to scroll faster | Movement |
| A | Select, play, or type | Xbox A |
| B | Back or cancel | Xbox B |
| X | Search or delete a letter | Xbox X |
| Y | Favorite a game or clear search | Xbox Y |
| L1 / R1 | Switch All / Favorites | Xbox LB / RB |
| L2 / R2 | Jump by first letter | Xbox LT / RT |
| Start | Settings or apply search | Xbox Menu |
| Select | — | Xbox View |
| L3 + R3 | — | Xbox Guide |
| Select + Start | Exit after holding for one second | Exit after holding for one second |
Settings include Xbox/Nintendo face-button layouts, game artwork, and Sign out. Games that return a 16:9 stream remain letterboxed on 4:3 displays.
GeForce NOW uses the same gamepad controls. For store dialogs and game launchers, press Select + Y to toggle mouse mode: D-pad or left stick moves the pointer, A clicks, B right-clicks, and L1 / R1 scroll. Store sign-in may still be required inside the stream.
GeForce NOW Free sessions may show ads before the game. Start opens ad information when an icon is shown; B returns to the ad or cancels playback.
| Device | SoC | OS | Status |
|---|---|---|---|
| RG35XX-H | Allwinner H700 | muOS 2508.4 | Tested |
| RG40XX-H | Allwinner H700 | Knulli (Batocera 42) | Tested |
| RG40XX-H | Allwinner H700 | ROCKNIX 20260801 | Tested |
| Miyoo Flip | Rockchip RK3566 | SpruceOS 4.3.3 | Tested |
| R36S | Rockchip RK3326 | AmberELEC prerelease-20250515 | Tested |
Hardware decoding is verified on the configurations above. H700 uses CedarX on muOS and Knulli, and Cedrus on ROCKNIX. RK3566 and RK3326 use Rockchip MPP. Other devices fall back to software decoding, which is too slow for normal gameplay.
GeForce NOW playback has been tested on muOS, Knulli, SpruceOS, and the R36S running dArkOS 02012026. R36S frame pacing still needs work. The ROCKNIX and AmberELEC rows above currently cover Xbox playback.
The release requires glibc 2.38 or newer. ArkOS (glibc 2.30) is not supported; the tested dArkOS fork uses glibc 2.41.
You need a Linux or macOS host with CMake 3.24+, curl, git, make, patch,
perl, pkg-config, python3, and tar.
Build validation also needs llvm-readelf or GNU readelf (binutils on
Debian/Ubuntu, or llvm with its bin directory on PATH on macOS).
Host tests also need SDL2, curl and Expat development files: install
libsdl2-dev libcurl4-openssl-dev libexpat1-dev pkg-config on Debian/Ubuntu or
sdl2 curl expat pkg-config with Homebrew.
tools/bootstrap.sh
tools/zig.sh build
tools/zig.sh build test
tools/zig.sh build fmt-checkBuild the PortMaster package with:
PORTMASTER_NEW=/path/to/PortMaster-New tools/zig.sh build packagePortMaster-New is large. JeodC's sparse-checkout guide shows how to fetch only the files needed for packaging.
The package build runs the current PortMaster checks and archive builder. To queue the finished archive for PortMaster's supported autoinstall flow:
tools/deploy.sh <ssh-host> zig-out/greenovercast.zipLaunch PortMaster from the device frontend to install it. Then launch GreenOvercast from Ports so the frontend owns the display handoff.
MPL-2.0. See LICENSE. The Cedar H.264 decoder is LGPLv2.1 and dynamically linked. Third-party licenses are listed in THIRDPARTY.md.
