ElPumpo / TinyNvidiaUpdateChecker

Open sourced tool for keeping NVIDIA GPUs updated, featuring fully customizable driver installs for complete control, multi-GPU support, and more!
GNU General Public License v3.0
1.41k stars 56 forks source link

GPUs with 'different' PNP ID crashes with IndexOutOfRangeException #219

Closed harjeevan closed 3 months ago

harjeevan commented 3 months ago

Running the program after installing .NET 8.0.6 x86 is throwing an error.

Retrieving GPU information . . . Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array. at TinyNvidiaUpdateChecker.MainConsole.GetDriverMetadata() in C:\Users\Samuel\Documents\GitHub\TinyNvidiaUpdateChecker\TinyNvidiaUpdateChecker\MainConsole.cs:line 422 at TinyNvidiaUpdateChecker.MainConsole.Main(String[] args) in C:\Users\Samuel\Documents\GitHub\TinyNvidiaUpdateChecker\TinyNvidiaUpdateChecker\MainConsole.cs:line 151

I'm on Win 11 Pro 23H2 22631.3672. I'm trying to run the newest version (1.18.1)

cyrilschreiber3 commented 3 months ago

Same problem for me on Win 10 Pro 22H2 19045.4412

ElPumpo commented 3 months ago

Hi I will investigate this issue. Can you show a screenshot of your GPU in device Manager?

cyrilschreiber3 commented 3 months ago

Here is the driver properties page for my GPU image

ElPumpo commented 3 months ago

Good. Is that your only GPU?

harjeevan commented 3 months ago

I have 1 Nvidia GPU, an RTX 4090, however, there are 2 more in device manager. (AMD Radeon iGPU from my 7900x and Virtual Desktop Monitor from Virtual Desktop)

Do you need the device instance path? nv

Edit: I have also tried with both non-nvidia display adaptors disabled. This did not fix the issue.

ElPumpo commented 3 months ago

image No guys I need you to show your GPUs in this list

ElPumpo commented 3 months ago

Or wait do this instead: Get-CIMInstance -Query "SELECT Name, Caption, PNPDeviceID from Win32_VideoController" run this in PowerShell and post the output

harjeevan commented 3 months ago

Here's both Untitled display.txt

ElPumpo commented 3 months ago

Thanks, yes I found the issue. The virtual driver "Virtual Desktop Monitor" PNP Device ID is ROOT\DISPLAY\0000. I'll work on a fix for this

ElPumpo commented 3 months ago

-del-

please try this dev build

harjeevan commented 3 months ago

same error, different line System.IndexOutOfRangeException: Index was outside the bounds of the array. at TinyNvidiaUpdateChecker.MainConsole.GetDriverMetadata() in C:\Users\Samuel\Documents\GitHub\TinyNvidiaUpdateChecker\TinyNvidiaUpdateChecker\MainConsole.cs:line 388 at TinyNvidiaUpdateChecker.MainConsole.Main(String[] args) in C:\Users\Samuel\Documents\GitHub\TinyNvidiaUpdateChecker\TinyNvidiaUpdateChecker\MainConsole.cs:line 157

ElPumpo commented 3 months ago

:-del-

ok please try this one

harjeevan commented 3 months ago

works for me

ElPumpo commented 3 months ago

What? I didn't change anything I just added more debug stuff

harjeevan commented 3 months ago

Yeah, I've downloaded both and run them in powershell (non-admin)

PS C:\Users\Harjeevan\Downloads> & '.\TinyNvidiaUpdateChecker v1.18.2 dev.exe' TinyNvidiaUpdateChecker v1.18.1

Verifying internet connection . . . OK!

Searching for Update . . . OK!

Retrieving GPU information . . . Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array. at TinyNvidiaUpdateChecker.MainConsole.GetDriverMetadata() in C:\Users\Samuel\Documents\GitHub\TinyNvidiaUpdateChecker\TinyNvidiaUpdateChecker\MainConsole.cs:line 388 at TinyNvidiaUpdateChecker.MainConsole.Main(String[] args) in C:\Users\Samuel\Documents\GitHub\TinyNvidiaUpdateChecker\TinyNvidiaUpdateChecker\MainConsole.cs:line 157 PS C:\Users\Harjeevan\Downloads> & '.\TinyNvidiaUpdateChecker v1.18.2 dev 2.exe' TinyNvidiaUpdateChecker v1.18.1

Verifying internet connection . . . OK!

Searching for Update . . . OK!

Retrieving GPU information . . . OK! There is no new GPU driver available, you are up to date.

Press any key to exit...

I've run each multiple times to verify, dev 2 isn't giving any errors whilst dev is.... good luck 😂

ElPumpo commented 3 months ago

Wait perhaps something went wrong. Please try this version again:-del-

harjeevan commented 3 months ago

works too;

TinyNvidiaUpdateChecker v1.18.1

Verifying internet connection . . . OK!

Searching for Update . . . OK!

Retrieving GPU information . . . Ignoring weird device: ROOT\DISPLAY\0000 OK! There is no new GPU driver available, you are up to date.

Press any key to exit...

ElPumpo commented 3 months ago

Exactly. So dev 2 was essentially dev 1 but I accidently sent you the wrong exe woops.

ElPumpo commented 3 months ago

Thanks for your help v1.18.2 will be released shortly