Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

License

luisbrn/gfn-electron

ย 
ย 

Repository files navigation

GeForce NOW Electron

CI coverage (steam-rpc-feature) Latest release license node

๐ŸŽฎ About

An unofficial Electron client for NVIDIA's GeForce NOW game streaming service, providing a native Linux desktop experience with enhanced features including Discord Rich Presence integration and interactive settings interface.

โœจ Key Features

  • ๐Ÿ–ฅ๏ธ Native Linux Desktop Experience - Optimized for Linux with hardware acceleration
  • ๐ŸŽฏ Discord Rich Presence - Show what you're playing on Discord with game artwork
  • โš™๏ธ Interactive Settings - Built-in Discord Client ID configuration
  • ๐ŸŽฎ Game Detection - Automatic Steam game lookup and artwork
  • ๐Ÿš€ Hardware Acceleration - VAAPI, GPU rasterization, and zero-copy support
  • โŒจ๏ธ Keyboard Shortcuts - Fullscreen, settings, and navigation shortcuts

๐Ÿš€ Quick Start

Installation

From Source (Recommended)

git clone https://github.com/luisbrn/gfn-electron.git
cd gfn-electron
npm install
npm start

From Releases

  • Download from Releases page
  • Extract and run the executable for your distribution

First Time Setup

  1. Start the application: npm start
  2. Configure Discord Rich Presence (optional):
    • Look for the green "โš™๏ธ Discord Settings" button in the top-right corner
    • Click it to open the settings modal
    • Follow the step-by-step instructions to get your Discord Client ID
    • Test the connection and save your settings

๐ŸŽฏ Discord Rich Presence

Discord Rich Presence integration with automatic game detection and Steam artwork support.

๐Ÿ“– Complete Discord Setup Guide: See scripts/README.md for detailed Discord Rich Presence configuration, asset management, and troubleshooting.

โŒจ๏ธ Keyboard Shortcuts

Shortcut Action
F11 or Super+F Toggle fullscreen
Ctrl+, Open Discord settings
Ctrl+Shift+I Toggle developer tools
Alt+Home Go to GeForce NOW homepage
Alt+F4 Quit application

๐Ÿ› ๏ธ Development

Prerequisites

  • Node.js โ‰ฅ 20
  • npm

Development Setup

git clone https://github.com/luisbrn/gfn-electron.git
cd gfn-electron
npm install
npm start

Available Scripts

npm start          # Start the application
npm run lint       # Run ESLint
npm run format     # Format code with Prettier
npm run format:check # Check formatting
npm test           # Run tests
npm run gen-changelog # Generate changelog

Testing

# Run unit tests
npm test

# Run with coverage
npx jest --coverage --runInBand

๐Ÿ“ Project Structure

scripts/
โ”œโ”€โ”€ main.js                 # Main Electron process
โ”œโ”€โ”€ rpc.js                  # Discord Rich Presence integration
โ”œโ”€โ”€ settings.js             # Settings management
โ”œโ”€โ”€ gfn-settings-injector.js # UI injection script
โ”œโ”€โ”€ preload.js              # Preload script
โ”œโ”€โ”€ windowManager.js        # Window management
โ”œโ”€โ”€ download_poster.js      # Download Steam game posters (512x512)
โ”œโ”€โ”€ download_gfn_capsule.js # Download GFN capsules (1024x1024)
โ”œโ”€โ”€ inspect_posters.js      # Check downloaded image dimensions
โ”œโ”€โ”€ test-steam-scraper.js   # Test Steam App ID detection
โ””โ”€โ”€ Poster game images/     # 240+ pre-made game assets

Documentation

  • scripts/README.md - Complete Discord Rich Presence setup guide
  • Asset Management - How to download and upload game artwork
  • Steam Integration - Game detection and App ID lookup
  • Troubleshooting - Common issues and debug information

๐Ÿค Contributing

This is a maintained fork of the original project. Contributions are welcome!

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a pull request

See docs/non-pr-fork-workflow.md for detailed contribution guidelines.

๐Ÿ“œ Credits

Original Author: Horaศ›iu Mlendea
Previous Maintainer: Goldy Yan
Current Maintainer: luisbrn

โš–๏ธ Disclaimer

This project and its contributors are not affiliated with NVIDIA or 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, just as it would in a regular web browser.

๐Ÿ“„ License

This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details.

๐Ÿ”— Links


Made with โค๏ธ for the Linux gaming community

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 87.3%
  • HTML 11.5%
  • Shell 1.2%