Automatically detect GPU #7

Closed
opened 2020-05-29 11:23:21 +02:00 by fyr77 · 4 comments
fyr77 commented 2020-05-29 11:23:21 +02:00 (Migrated from github.com)

Automatic GPU detection would be preferable over the current manual method using the website.
This probably needs a database to translate the GPU names reported by the system to the seemingly arbitrary GPUIDs used by Nvidia.

Automatic GPU detection would be preferable over the current manual method using the website. This probably needs a database to translate the GPU names reported by the system to the seemingly arbitrary GPUIDs used by Nvidia.
fyr77 commented 2020-07-02 10:37:13 +02:00 (Migrated from github.com)

I could not find an existing database with Nvidia's PFIDs online, so I will have to create my own.
Now I just need to find a reliable way of identifying the GPU within Windows in the first place. The reported name of the GPU itself may not be accurate enough as some special versions and differing manifacturers may report different names. So I need to check for some ID that is unique to the GPU.

I could not find an existing database with Nvidia's PFIDs online, so I will have to create my own. Now I just need to find a reliable way of identifying the GPU within Windows in the first place. The reported name of the GPU itself may not be accurate enough as some special versions and differing manifacturers may report different names. So I need to check for some ID that is unique to the GPU.
fyr77 commented 2020-07-23 15:47:26 +02:00 (Migrated from github.com)

I found out how Nvidia looks up their internal IDs and experimented with the API a bit. A few things I found out:

Some GPUs exist twice in the first list. That's because of the mobile variants of some GPUs haing the same name as the desktop variant. I tried a few models and found that the desktop product is always the first model in that list, the mobile version being the second occurence.

I found out how Nvidia looks up their internal IDs and experimented with the API a bit. A few things I found out: - URL to get all GPUs with their pfid and psid: https://www.nvidia.com/Download/API/lookupValueSearch.aspx?TypeID=3 - URL for all OS IDs: https://www.nvidia.com/Download/API/lookupValueSearch.aspx?TypeID=4 - URL for all Language IDs: https://www.nvidia.com/Download/API/lookupValueSearch.aspx?TypeID=5 Some GPUs exist twice in the first list. That's because of the mobile variants of some GPUs haing the same name as the desktop variant. I tried a few models and found that the desktop product is always the first model in that list, the mobile version being the second occurence.
fyr77 commented 2020-07-23 15:49:10 +02:00 (Migrated from github.com)

This means I can now work on automatically populating the download API call I was already using all the time.

https://www.nvidia.com/Download/processDriver.aspx?psid=<ProductSeries>&pfid=<ProductType>&osid=<OperatingSystem>&lid=<Language>

This means I can now work on automatically populating the download API call I was already using all the time. `https://www.nvidia.com/Download/processDriver.aspx?psid=<ProductSeries>&pfid=<ProductType>&osid=<OperatingSystem>&lid=<Language>`
fyr77 commented 2020-07-31 15:37:04 +02:00 (Migrated from github.com)

Implementation started in bf9814cfd0.

Implementation started in bf9814cfd09a62dedf7604b3fa5683cb43ebfd09.
This repository is archived. You cannot comment on issues.
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: fyr77/EnvyUpdate#7
No description provided.