Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

hmlendea/gfn-electron

Open more actions menu

Repository files navigation

Donate Latest Release Build Status License: GPL v3

GFN Electron

Unofficial client for Nvidia's GeForce NOW game streaming service, providing a native Linux desktop experience with Wayland support, Steam Deck integration, and Discord rich presence.

Screenshot

Table of Contents

Disclaimers

Affiliation

This project and its contributors are not affiliated with Nvidia, nor its GeForce NOW product. This repository does not contain any Nvidia / GeForce NOW software. It is simply an Electron wrapper that loads the official GFN web application page, just as it would in a regular web browser.

Expectations

This is a free and open-source project. Everyone who has contributed to it has done so voluntarily, out of their own free time and goodwill. Contributors are under no obligation to keep working on or maintaining the project, and cannot be expected to do so when life does not afford them that luxury.

If things slow down or go quiet for a while, please be understanding. Documentation may occasionally fall behind, and some issues may linger without an immediate fix — we ask for your patience. If you find the project useful and have some time and development experience, please consider contributing yourself.

Installation

Get it from the AUR Get it from FlatHub

Note: The main version of this project, which receives the most support, is the flatpak version hosted on FlatHub!

Manual Installation

  • Go to the latest release.
  • Download the specific file that best fits your distro.

Note: Manual installations are possible but not supported. Please use the flatpak version if you have any trouble with the manual installation!

Features

  • Native Wayland support — runs as a native Wayland client when a Wayland compositor is detected, avoiding XWayland overhead and enabling proper compositor overlays
  • Steam Deck integration — automatically launches in fullscreen and enables the virtual keyboard overlay when running on Steam Deck
  • Discord rich presence — shows what you're playing via Discord RPC (disable with --disable-rpc or GFN_DISABLE_RPC=1)
  • Hardware-accelerated video — enables VA-API, GPU rasterisation, and zero-copy video decode for smooth streaming
  • Stability fallback — automatically recovers from GPU crashes by retrying with a different OpenGL backend, falling back to software rendering if needed
  • Keyboard shortcuts — fullscreen toggle (F11 / Super+F), home (Alt+Home), quit (Alt+F4), devtools (Ctrl+Shift+I), create desktop shortcut (Ctrl+Shift+P)
  • Direct game launch — supports --direct-start <cmsId> (or GFN_DIRECT_START_ID=<cmsId>) to jump straight into a game
  • Stream quality override — intercepts session requests to report your true physical resolution and a configurable refresh rate, overcoming the web client's defaults (GFN_RESOLUTION_WIDTH, GFN_RESOLUTION_HEIGHT, GFN_REFRESH_RATE)

Usage

Keyboard Shortcuts

Shortcut Action
F11 / Super+F Toggle fullscreen
Alt+Home Go to home page
Alt+F4 Quit
Ctrl+Shift+I Toggle developer tools
Ctrl+Shift+P Create a desktop shortcut for the currently running game

Command-line Arguments & Environment Variables

Argument Env var Description
--direct-start <cmsId> GFN_DIRECT_START_ID=<cmsId> Launch directly into a game by its CMS ID
--disable-rpc GFN_DISABLE_RPC=1 Disable Discord rich presence
GFN_RESOLUTION_WIDTH=<px> Override reported stream width in pixels (default: physical screen width)
GFN_RESOLUTION_HEIGHT=<px> Override reported stream height in pixels (default: physical screen height)
GFN_REFRESH_RATE=<hz> Override reported refresh rate in Hz (default: 60)

More

Development

Requirements

You will need Node.js 20 or later and npm (bundled with Node.js). On most distributions, installing the nodejs and npm packages is sufficient.

Clone

Once you have npm, clone the wrapper to a convenient location:

git clone https://github.com/hmlendea/gfn-electron.git

Build

npm install
npm start

On subsequent runs, npm start will be all that's required.

Update

Simply pull the latest version of master and install any changed dependencies:

git checkout master
git pull
npm install

Contributing

Contributions are welcome.

Please:

  • keep the pull requests focused and consistent with the existing style
  • update the documentation when the behaviour changes

Links

License

Licensed under the GNU General Public License v3.0 or later. See LICENSE for details.

About

Linux Desktop client for Nvidia's GeForce NOW game streaming service

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

Generated from electron/minimal-repro
Morty Proxy This is a proxified and sanitized view of the page, visit original site.