Skip to content

luisbrn/gfn-electron

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 82.5%
  • Shell 9.6%
  • HTML 7.9%