A Decky Loader plugin that shows GeForce NOW game availability directly on your Steam Deck game pages with a visual indicator.
- Visual Indicator: Shows a green GFN logo when a game is available on GeForce NOW, greyed out when it's not
- Hide Unavailable: Option to only show the badge when a game is on GFN — no clutter for unsupported games
- Customizable Display: Adjust logo size, glow intensity, and position on the screen
- Smart Caching: Results are cached for 2 hours to reduce lookups and improve performance
- Auto-Refresh: Database automatically refreshes in the background on startup if empty or older than 7 days
- Database Refresh: Manually update the game list directly from your Steam Deck without reinstalling
- Comprehensive Database: 2,100+ games sourced from Steam curator pages
- Lightweight: Minimal impact on system resources
- Steam Deck with Decky Loader installed
- Internet connection for database refreshes
- Open Decky Loader on your Steam Deck (press ... button > Plugin icon)
- Go to the Plugin Store
- Search for "GeForce NOW for Deck"
- Click Install
- Download the latest release from the Releases page
- Extract the zip file to your Steam Deck
- Copy the plugin folder to
~/homebrew/plugins/ - Restart Decky Loader
- Navigate to any game page in your Steam library
- Look for the GFN logo indicator in the corner (default: top-right)
- Green logo = Game is available on GeForce NOW
- Greyed out logo = Game is not available on GeForce NOW
- Enable Hide Unavailable Games in settings to only show the badge for supported games
Access settings via the Decky Loader Quick Access Menu:
- Enable GFN Indicator: Toggle the indicator on/off
- Hide Unavailable Games: Only show the badge when a game is on GeForce NOW
- Logo Size: Adjust from 32px to 128px (default: 64px)
- Glow Intensity: Control the green glow effect from 0% to 100% (default: 50%)
- Position: Choose from 9 positions including corners, centers, and custom X/Y coordinates
- Top Left, Top Right, Top Center
- Bottom Left, Bottom Right, Bottom Center
- Center Left, Center Right
- Custom (X/Y) — set exact pixel position with sliders
- Refresh Database: Update the game list from Steam curators (takes 30–60 seconds)
- Clear Cache: Clear cached game availability data
The plugin checks game availability against a local database of 2,100+ GeForce NOW games:
-
Data Source: Game list is sourced from Steam curator pages:
- Geforce Now Friendly (curator ID: 38115929)
- Geforce Now Friendly Part 2 (curator ID: 45481916)
-
Local Database: Games are stored locally in
defaults/gfn_games.jsonfor instant lookups -
Auto-Refresh: On startup the plugin checks if the database is missing or older than 7 days and refreshes it automatically in the background
-
Smart Caching: Results are cached for 2 hours to improve performance
-
Manual Updates: Use the "Refresh Database" button in settings to fetch the latest game list at any time
# Clone the repository
git clone https://github.com/paul-PKH/gfn-for-deck.git
cd gfn-for-deck
# Install dependencies
pnpm install
# Build the plugin
pnpm run build
# Watch mode for development
pnpm run watchgfn-for-deck/
├── src/
│ ├── components/
│ │ ├── GFNLogo.tsx # Logo overlay component
│ │ └── SettingsPanel.tsx # Settings UI
│ ├── patches/
│ │ └── GamePagePatch.tsx # Game page injection
│ ├── types.ts # TypeScript interfaces
│ └── index.tsx # Main plugin entry
├── scripts/
│ └── update_games_db.py # Standalone DB update script
├── main.py # Python backend
├── plugin.json # Plugin metadata
├── package.json # Node dependencies
└── README.md
The Python backend (main.py) exposes these methods to the frontend:
| Method | Description |
|---|---|
check_gfn_availability(appid) |
Check if a game is on GFN (uses cache) |
refresh_database() |
Fetch fresh game list from Steam curators |
get_settings() |
Retrieve current settings |
save_settings(settings) |
Persist settings to disk |
get_cache_stats() |
Get cache hit/miss statistics |
get_db_info() |
Get DB size, path, and last-updated timestamp |
clear_cache() |
Clear the in-memory availability cache |
- Build the plugin with
pnpm run build - Copy to your Steam Deck's plugin directory (
~/homebrew/plugins/) - Restart Decky Loader
- Check logs at
~/homebrew/logs/
NVIDIA does not provide a public API for GeForce NOW game availability. This plugin relies on:
- Steam Curator Data: Community-maintained game lists from "Geforce Now Friendly" and "Geforce Now Friendly Part 2" curator pages
- Local Storage: Games stored in
defaults/gfn_games.jsonfor instant offline lookups - Auto + Manual Updates: Database refreshes automatically on startup when stale, or manually via the settings panel
Note: Game availability data is maintained by the Steam curator community and may not be 100% up-to-date. Always verify on the official GeForce NOW website.
- All game availability checks run against the local database — no external calls during normal use
- The "Refresh Database" feature fetches from public Steam curator pages only
- No personal data is collected or transmitted
- Cache is stored locally on your device only
- Check that the plugin is enabled in settings
- If "Hide Unavailable Games" is on, the badge won't show for unsupported games — that's expected
- Try clearing the cache and navigating back to the game page
- Check Decky Loader logs for errors
- Use "Refresh Database" in settings to pull the latest game list
- Clear the cache so the next lookup reads from the fresh database
- Verify on the official GeForce NOW website
- Check your internet connection
- Wait a few minutes and try again (Steam may rate-limit requests)
- Check Decky Loader logs for specific error messages
- Try disabling the glow effect (set intensity to 0%)
- Reduce the logo size
- Clear the cache if it has grown large
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request on GitHub
This project is licensed under the BSD 3-Clause License — see the LICENSE file for details.
- Inspired by the HLTB for Deck plugin
- Built with Decky Loader
- Game data from the community-maintained Geforce Now Friendly Steam curator pages
This plugin is not affiliated with, endorsed by, or sponsored by NVIDIA Corporation or Valve Corporation. GeForce NOW is a trademark of NVIDIA Corporation. Steam and Steam Deck are trademarks of Valve Corporation.