◉ Pulse
rmrf404 avatar
#65 today ▲ 6

rmrf404/green-nx

C++ Library #game-streaming #homebrew #nintendo-switch #webrtc

Xbox Cloud Gaming (xCloud) client for the Nintendo Switch — standalone homebrew with native WebRTC streaming, hardware H.264 decoding and zero-copy GPU rendering

Created Jul 22, 2026
Stars
26
Today
+3
Forks
1
Quality
100/100
Momentum
23

README

Fetched from GitHub on Oct 30, 2026, 11:07 PM UTC · README.md

View original on GitHub

Third-party content — Open Source Pulse is not the owner of this repository.

This README belongs to rmrf404/green-nx and its contributors. We fetch it directly from the project’s public GitHub repository and display it for reference only. All text, code, images and trademarks remain the property of their respective authors. See the repository for its license terms. Copyright / takedown policy.

green-nx

A standalone, open-source Xbox Cloud Gaming (xCloud) client for the Nintendo Switch (homebrew). Sign in with your Microsoft account and stream your Game Pass library natively — WebRTC connection, hardware H.264 decoding and GPU rendering are all done on the console, with no companion apps or PCs involved.

Fully working: sign-in, game library with box art and search, and smooth 720p / 1080p / 1080p HQ streaming with audio and full controller input.

Features

  • Microsoft device-code sign-in (no password typed on console); tokens cached on SD
  • Game library with box-art covers, quality settings, and search that covers the whole xCloud catalog — titles you cannot stream yet are flagged with what they need (Game Pass, ad-supported), and a game that is not on xCloud at all says so instead of "nothing found"
  • Native WebRTC streaming: ICE (Teredo), DTLS-SRTP, SCTP data channels, RTP video/audio, NACK/PLI recovery — implemented on-console
  • Hardware H.264 decoding (NVDEC via FFmpeg's NVTEGRA hwaccel) with zero-copy GPU rendering (deko3d) — the decoded surface goes straight from the decoder to the screen
  • Opus audio, 60 fps video, three quality tiers (720p / 1080p / 1080p HQ)
  • Ad-supported streaming for free-to-play titles: no subscription needed, streamed from Microsoft's ad-supported offering (sessions are capped by the server, and the console tells you before you start)

Requirements

  • A Nintendo Switch running the Atmosphère custom firmware
  • An Xbox Game Pass subscription for the subscription catalog — every tier (Essential, Premium, Ultimate) includes Cloud Gaming; Ultimate streams the largest catalog at the highest quality. Games you already own stream without one, and so do free-to-play titles offered with ads
  • A 5 GHz Wi-Fi connection is recommended

Install

  1. Copy green-nx.nro to sdmc:/switch/ on your SD card.
  2. Launch in title mode — hold R while starting an installed game. (Applet mode does not have enough memory for hardware video decoding.)
  3. Sign in once with the device code shown on screen (microsoft.com/link). Tokens and the game list are cached in sdmc:/switch/green-nx/.

Controls

Context Buttons
Library Left stick / d-pad move · A play · Y search · X refresh · ZL settings · - sign out · + exit
Settings Stream quality (720p / 1080p / 1080p HQ) · button layout (positional / labels)
In stream Xbox controls mapped from the Switch pad · hold - + + to quit

Build

No local toolchain needed — everything builds inside the devkitpro/devkita64 Docker image:

# 1. Build the WebRTC dependencies once (libpeer, libsrtp, usrsctp, mbedTLS)
bash deps/build-switch.sh

# 2. Build the app
docker run --rm -v "$PWD":/src -w /src devkitpro/devkita64 make

The result is green-nx.nro. A small desktop harness (make -f Makefile.pc) builds the core (auth/catalog/signaling) for development on a PC:

./build/pc/greennx login            # device-code sign-in
./build/pc/greennx games            # the playable library, with names
./build/pc/greennx search cyberpunk # the whole catalog, with availability
./build/pc/greennx stream-test FORTNITE --ads   # ad-supported offering

Layout

src/core/            auth, catalog, HTTP, xCloud session + protocol
src/switch/          UI (SDL2), covers, input
src/switch/stream/   streaming engine: WebRTC glue, RTP jitter buffer,
                     NVDEC decoder, deko3d zero-copy renderer, Opus audio
shaders/             deko3d video shaders (compiled by uam during make)
deps/                build script + patches for the WebRTC stack

Third-party software

green-nx builds on these open-source projects:

Project License Use
libpeer (patched) MIT WebRTC: ICE / DTLS-SRTP / SCTP
libsrtp BSD-3 SRTP encryption
usrsctp BSD-3 SCTP data channels
mbedTLS Apache-2.0 TLS / DTLS crypto
FFmpeg (devkitPro build with averne's NVTEGRA hwaccel) LGPL-2.1+ H.264 hardware decoding
deko3d zlib GPU rendering
SDL2, SDL2_ttf, SDL2_image zlib UI rendering, input
Opus BSD-3 Audio decoding
libcurl curl HTTPS
nlohmann/json MIT JSON
devkitPro / libnx various Switch toolchain and OS interface

The patches applied to libpeer (keyframe requests, NACK, receiver reports, REMB, data-channel fixes, Switch port) are in deps/patches/.

Disclaimer

green-nx is a fun, experimental, non-commercial hobby project, provided as-is for personal use. It is not affiliated with, endorsed by, or supported by Microsoft or Nintendo in any way. Xbox, Xbox Cloud Gaming and Game Pass are trademarks of Microsoft. Nintendo Switch is a trademark of Nintendo. You need your own valid Game Pass subscription; this project only implements a client for a service you already pay for.

License

GPL-3.0

Rendered by GitHub from the repository’s README. Scroll to read the full file.
First trending

Jul 22, 2026

first spotted on the list

Best rank

#16

highest position reached

Appearances

3

times on the trending list

Quality score

100

out of 100

Momentum

23

trend strength indicator

Star velocity

0.26

stars per day since creation

Activity — last 60 days

daily counts, collected every 6 hours
  • Stars
  • Forks
  • Merged PRs
  • Issues
  • Closed issues

Collecting activity data since launch — check back in a few days.

Star history

total stars per snapshot
1015202530rmrf404/green-nx · Jul 22, 7 PM UTC: 12 starsrmrf404/green-nx · Jul 23, 3 AM UTC: 23 starsrmrf404/green-nx · Jul 23, 8 AM UTC: 26 stars7 PM2 AM8 AM

Rank history

position on trending · lower is better
#1#10#20#30#40#50#60#70Jul 22, 7 PM UTC: rank #16Jul 23, 3 AM UTC: rank #23Jul 23, 8 AM UTC: rank #657 PM2 AM8 AM

3D card for your website

Live HTML card with a glass surface and pointer tilt. Paste the iframe on any website.

<iframe src="https://www.notionpulse.cc/embed/rmrf404/green-nx" width="420" height="240" style="border:0;max-width:100%;background:transparent" loading="lazy" title="rmrf404/green-nx — trending on Open Source Pulse"></iframe>

Stars badge

Show current stars in your README or profile. Auto-updates every 6 hours.

rmrf404/green-nx stars badge
Markdown
[![rmrf404/green-nx](https://www.notionpulse.cc/api/badge/rmrf404/green-nx.svg)](https://www.notionpulse.cc/repo/rmrf404/green-nx)
HTML
<a href="https://www.notionpulse.cc/repo/rmrf404/green-nx"><img src="https://www.notionpulse.cc/api/badge/rmrf404/green-nx.svg" alt="rmrf404/green-nx stars badge" /></a>

Repository of the Day

#16 Repository of the Day

Repository of the Week

#16 Repository of the Week

Repository of the Month

#16 Repository of the Month