中文 / English
A lightweight Windows application to check and update NVIDIA GPU drivers without installing NVIDIA App.
- Automatic GPU Detection - Detects your NVIDIA GPU via WMI
- Official NVIDIA API - Uses the same API as nvidia.com/Download
- Driver Type Selection - Choose between Game Ready Driver and Studio Driver
- Windows Notifications - Get notified when updates are available
- Periodic Update Checks - Automatic background checking
- Modern UI - Built with WinUI 3 and Fluent Design
- Windows 10 version 1809 or later / Windows 11
- NVIDIA GeForce GPU
- .NET 8.0 Runtime
- Download the latest release from Releases
- Download setup file
- Run setup(or use portable version)
# Clone the repository
git clone https://github.com/zlicdt/nvwupd.git
cd nvwupd
# Build the project
dotnet build NvwUpd.csproj -c Release -p:Platform=x64
- Launch NvwUpd
- The app will automatically detect your GPU and current driver version
- Click "Check for Updates" to check for the latest driver
- Select your preferred driver type (Game Ready or Studio)
- Click "Download & Install" to update your driver
NvwUpd uses NVIDIA's official download API to fetch driver information:
- GPU Detection - Uses WMI to detect installed NVIDIA GPU
- Product Lookup - Queries NVIDIA API to get product series ID (psid) and product ID (pfid)
- Driver Fetch - Requests driver list from
processFind.aspxendpoint - Download - Downloads driver from NVIDIA's CDN
- Installation - Runs silent installation with
-s -norebootflags
For technical details, see Fetch API Documentation.
NvwUpd/
├── Assets/ # Application assets
│ ├── nvidia.ico # Application icon
│ └── nvidia.png # Application image
├── Core/ # Core business logic
│ ├── Interfaces.cs # Core interfaces
│ ├── GpuDetector.cs # GPU detection via WMI
│ ├── DriverFetcher.cs # NVIDIA API integration
│ ├── DriverDownloader.cs # Download with progress
│ └── DriverInstaller.cs # Silent installation
├── Models/ # Data models and settings
│ ├── AppSettings.cs # Application settings
│ └── DriverModels.cs # Driver data models
├── Services/ # Application services
│ ├── IServices.cs # Service interfaces
│ ├── LocalizationService.cs # Localization support
│ ├── NotificationService.cs # Windows notifications
│ ├── SettingsService.cs # Settings management
│ ├── StartupService.cs # Windows startup management
│ ├── TrayIconManager.cs # System tray icon
│ └── UpdateChecker.cs # Periodic update checking
├── Strings/ # Localization resources
│ ├── de/Resources.resw # German
│ ├── en/Resources.resw # English
│ ├── ja/Resources.resw # Japanese
│ ├── zh-CN/Resources.resw # Simplified Chinese
│ └── zh-TW/Resources.resw # Traditional Chinese
├── ViewModels/ # MVVM ViewModels
│ ├── ViewModelBase.cs # Base ViewModel
│ ├── MainViewModel.cs # Main window ViewModel
│ └── UpdateDialogViewModel.cs # Update dialog ViewModel
├── App.xaml / App.xaml.cs # Application entry, DI setup
├── MainWindow.xaml / .cs # Main UI window
└── scripts/ # Helper scripts
├── nvwupd-installer.iss # InnoSetup installer script
└── set-version.ps1 # Version management script
- GPU Detection
- Call API for query
- Download driver and start installation
- Project logo / icons
- Run as a background service
- Autostart during boot
- Periodic Update Checks
- Windows Notifications
- Test on out-of-date cards
- Setup executable
- Localization
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
This project is licensed under the MIT License - see the LICENSE file for details.
This project is not affiliated with, endorsed by, or sponsored by NVIDIA Corporation. NVIDIA, GeForce, and related marks are trademarks of NVIDIA Corporation.
