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.
- ๐ฅ๏ธ 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
git clone https://github.com/luisbrn/gfn-electron.git
cd gfn-electron
npm install
npm start- Download from Releases page
- Extract and run the executable for your distribution
- Start the application:
npm start - 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 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.
| 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 |
- Node.js โฅ 20
- npm
git clone https://github.com/luisbrn/gfn-electron.git
cd gfn-electron
npm install
npm startnpm 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# Run unit tests
npm test
# Run with coverage
npx jest --coverage --runInBandscripts/
โโโ 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
- 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
This is a maintained fork of the original project. Contributions are welcome!
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
See docs/non-pr-fork-workflow.md for detailed contribution guidelines.
Original Author: Horaศiu Mlendea
Previous Maintainer: Goldy Yan
Current Maintainer: luisbrn
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.
This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details.
Made with โค๏ธ for the Linux gaming community