# Getting Started (/docs/guides/getting-started)





OpenNOW is an open-source desktop client for GeForce NOW. The current app is the Electron client in `opennow-stable/`.

## Download a release [#download-a-release]

Grab the latest build from [GitHub Releases](https://github.com/OpenCloudGaming/OpenNOW/releases).

| Platform          | Formats                                                       | Notes                                                                                                                                                                             |
| ----------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Windows x64       | NSIS installer, portable `.exe`, updater metadata             | Experimental native streamer is available and bundles a private GStreamer runtime                                                                                                 |
| Windows ARM64     | NSIS installer, portable `.exe`                               | Release download only; no native streamer build in the release matrix                                                                                                             |
| macOS x64 / arm64 | `.dmg`, `.zip`                                                | Web streamer remains the default; experimental native streamer builds can use the bundled GStreamer runtime                                                                       |
| Linux x64 / arm64 | `.AppImage`, `.deb`                                           | Web streamer remains the default; experimental native mode uses host distro GStreamer packages, and auto-updates are supported for AppImage and Debian-compatible `.deb` installs |
| iOS               | [TestFlight beta](https://testflight.apple.com/join/u1XPJKH2) | Install through Apple's TestFlight while the iOS build is in beta                                                                                                                 |

Desktop artifact names use the app version, platform, and architecture, such as `OpenNOW-v{version}-setup-x64.exe`, `OpenNOW-v{version}-mac-arm64.dmg`, or `OpenNOW-v{version}-linux-x64.AppImage`.

## First launch [#first-launch]

1. Open OpenNOW.
2. Choose a provider if prompted.
3. Sign in through the browser-based NVIDIA OAuth flow, or use **Sign in with QR** to authorize from another device.
4. Browse your library or the public catalog, and use Settings to link/resync supported store accounts when GFN requires account connections for owned games.
5. Open Settings to choose bitrate, codec, region, app language, controller mode, and other preferences. Resolution and FPS choices are filtered to the profiles reported by your current GFN subscription.
6. Launch a game. Queue and server-selection screens appear when GFN requires them.

Some GFN catalog entries require a specific membership tier. When NVIDIA reports `INSUFFICIENT_PLAYABILITY`, OpenNOW shows a membership-upgrade launch error instead of treating it as a duplicate-session conflict. If the catalog provides SKU-specific text or a minimum membership label, that text is used in the launch-error panel.

By default OpenNOW streams through Chromium/WebRTC in the renderer. The optional native streamer mode is experimental on supported desktop platforms and uses a Rust child process with a GStreamer backend for video decode/rendering while Electron still owns session lifecycle and signaling. Native mode may have platform-specific bugs or missing media capabilities; if the platform, native executable, backend, protocol, runtime, or media capability is unavailable, OpenNOW reports the reason and falls back to the web streamer path. Report native-streamer issues on [GitHub Issues](https://github.com/OpenCloudGaming/OpenNOW/issues) or [Discord](https://discord.gg/8EJYaJcNfD).

On Linux, native mode uses system GStreamer libraries and plugins rather than a bundled private runtime. Install base/good/bad/ugly/libav plugins plus VAAPI, V4L2, GL, Vulkan, and driver packages where your distro provides them.

## Build from source [#build-from-source]

Prerequisites:

* Node.js 22
* npm
* Git
* Rust/Cargo for native streamer work
* GStreamer development packages when building the native `gstreamer` backend

```bash
git clone https://github.com/OpenCloudGaming/OpenNOW.git
cd OpenNOW/opennow-stable
npm install
cd ..
npm run dev
```

Common root scripts:

| Command                | Description                                      |
| ---------------------- | ------------------------------------------------ |
| `npm run dev`          | Start development mode                           |
| `npm run build`        | Build production bundles                         |
| `npm run native:check` | Check the Rust native streamer crate             |
| `npm run native:build` | Build the Rust native streamer                   |
| `npm run typecheck`    | Run TypeScript checks                            |
| `npm run dist`         | Build unsigned packages                          |
| `npm run dist:signed`  | Build signed packages when signing is configured |

Packaged output is written under `opennow-stable/dist-release/`.

## Local data [#local-data]

<LocalDataLocationsTable />

Close the app before deleting these files to reset local state.
