Wanted to share something I figured out, and that is how to load a different nvidia driver for different GPUs. Not sure if this is already known, but I couldn't find anything on it. Ever since nvidia made unified drivers, seemed like it wasnt possible to load different drivers for different GPUs.
I was having an issue where every driver after 398.11 would stop responding and reinitialize whenever I didnt have the 3d application as the active window or application. This only happens on my internal gpu and not for the gpu in my AGA, and made it borderline unusable. So this would be ideal for AGA users that are having driver issues that only affect one of their GPUs. Not really sure how this would work for TB3 eGPUs, as they can hotswap without restarting. It may also have suitable use for desktop setups with multiple nvidia GPUs, as long as you have one disabled. Please feel free to share this. This is based on Win10, but could be applied other versions.
What you need:
2 different nvidia driver installer packages (one for each GPU)
DriverStoreExplorer (RAPR)
1. First, turn off automatic driver updates by windows update. Check out https://www.tenforums.com/tutorials...iver-updates-windows-update-windows-10-a.html
Even though I turned it off, it still auto installs nvidia drivers off windows update for me whenever theres an unknown device and no drivers. And in a few occurrences, windows still installed the driver off windows update instead of using the newer drivers I installed for that specific GPU. I found this tool {wushowhide.diagcab) here to resolve that issue by hiding those pesky nvidia drivers from being applied by windows update.
https://support.microsoft.com/en-us...t-a-driver-update-from-reinstalling-in-window
2. Extract the two nvidia driver installer packages to separate folders (use 7zip). We will have to INF edit the nvidia driver to remove compatibility for the GPU you don't want that driver to load. Lets say you want Driver A for GPU A, and driver B for GPU B. So remove GPU B from INF file in driver A and vice versa.
To do this, look up the hardware ID of each of your GPUs in device manager. Hardware ID will be in the format of "DEV_XXXX&SUBSYS_XXXXXXXX". In the root folder of your nvidia driver extraction, open "ListDevices.txt" and search for your GPUs hardware ID. It will be in a table and scroll up to find out which INF file it is located in. Go to the subfolder "Display.Driver" and open the INF file in a text editor. There will be an extra "i" in the INF filename.
Within the INF file, search for all instances of "DEV_XXXX". You'll find several lines where they appear. Delete all the lines where the hardware ID appears. Scroll down to the bottom of the INF and you'll find a table that shows "DEV.XXXX = [your GPU product name]". Delete all lines here that apply to the GPU you want to remove. Save the INF file changes.
3. DDU remove all your old nvidia drivers if you have any. Boot back into windows, but you will need to boot with Driver Signing Enforcement Disabled mode. Since we edited the INF files, they will not pass driver signing and fail installation otherwise.
4. If you followed step 1 completely, windows should not be installing any drivers automatically. If it still does, let it install. Then uninstall the device through device manager and have "uninstall driver" checkbox enabled. Run DriverStoreExplorer as admin and check that there are no unwanted nvidia drivers under DisplayAdapters. You can also check for nvidia audio drivers under Sound devices. If there are, delete them through DriverStoreExplorer.
5. Now you can install the driver you want for that GPU. You can do so either through device manager or running Setup.exe in the extracted driver root folder.
If installing through device manager, click Update Driver -> Browse -> Let Me Pick -> Display Adapters -> Have Disk -> Select the INF file you editted.
If installing through nvidia Setup.exe, I advise to install the bare minimum of driver options you need for that GPU. Use Custom option and not Express install. You can install GFE or Physx standalone after you installed all the drivers you need for all GPUs.
If the driver installation failed, it could be that you are not in Driver Signing Enforcement Disabled mode. Make sure you boot into windows with that.
After driver successfully installed, attach your other GPU and reboot. Repeat steps 4 and 5 for the other GPU.
Now when you load into windows when switching from one GPU to the other, it should load the the appropriate driver you have designated. This may take a few minutes to initialize after windows startup. The INF editing makes windows think that the driver is not compatible with the other GPU.
Check using DriverStoreExplorer that there are no unwanted nvidia drivers in windows driver store. Remove them if there are. There should only be the drivers that you designated for each GPU.
Note: Saved Nvidia application/game profile settings get lost when switching between GPU/drivers. Hopefully you don't have too many customized profile settings. Use NvidiaProfileInspector to quickly load saved profiles after every GPU switch.
I found that custom resolution, monitor scaling or color settings, or other control panel driver settings did get saved after GPU switches.
-
kakashisensei Notebook Consultant
-
You can install new drivers INF using latest versions of driver store explorer.
Nice work there! -
This seems complicated, is there not a simpler solution?
Did you try disabling GeForce experience and using standalone drivers to install the AGA card through W10 Device Manager as this Reddit user endorses: https://www.reddit.com/r/Alienware/...amplifier_and_13r3_need_constant_gpu/dxzjcoc/Vasudev likes this. -
NB_Neenja likes this.
-
You are creating some form of mutant frankenstein drivers like this. A large part of the driver set lives outside of the windows driver folder and the usual driver framework. The whole nvidia framework lives in the program files installation folder which can only hold 1 driver at a time. That can cause major issues.
-
-
Once you connect AGA, install your preferred nvidia driver say latest generic WHQL or Hotfix beta driver and you're good to go! -
People that fool around with multiple driver versions are the ones with connection issues for the reason I mentioned earlier.0lok likes this. -
I remember fiddling with driver store when I put my old Radeon GPU as a test and W10 was detecting constant connecting and disconnecting sounds where I had to clean install GPU drivers using Wagnard for them to work almost every time and axed the AGA. -
But the Radeon GPU's where incredibly problematic always. AMD drivers just dont like to be on the same system as Nvidia drivers. both use very complex frameworks that alter many parts of WIndows itself.Vasudev likes this. -
-
kakashisensei Notebook Consultant
I have been using this for a few weeks now and I haven't seen any issues other than a few minor ones. One issue was that the pci-express device in device manager had some issue initializing before I got to install the driver for the other gpu. This prevented the gpu from showing up in the system. I just uninstalled the pci-express device in device manager, rescan devices, and it initializes correctly and the gpu device shows up. Once I have the drivers set for both gpus, I stop getting this pci-express issue.
I do not need to manually re-install drivers after gpu switches, windows will do this automatically from its driverstore at startup after I switch gpus. I do not use GFE to install drivers and any automatic driver updating is disabled from any source.
If I boot with my 970m and its the first load after switching gpus, it will take 1-2 mins to load up 398.11 driver at windows startup. If its consecutive booting on the same gpu, it will not need to take 1-2 mins to load up the driver, its already set. Vice versa for my 980 ti, it will load 425.31 driver at windows startup.
One driver issue I've encountered is that nvidia application profiles will get reset after every gpu switch. Custom resolutions, control panel settings like monitor settings, however get saved and are still there after I switched gpu's multiple times.
I have to do this since my 970m is borderline unusable on any driver after 398.11. For any driver after that, the nvidia driver crashes any time I alt tab out of the 3d application, and it only behaves this way on the 970m. I thought it could have been the prema vbios (totally forgot I even had it flashed). I retried stock vbios but same issue. I am upgrading to a 2080 ti in my AGA and 398.11 doesn't support that.
I had tried @judyal57 method to get the dell driver to load for the dgpu and newer nvidia driver for the aga gpu. But I could never get it to work. The latter driver install would load the driver for both gpus.
Now that I think about it, I think @judyal57 method could be the same concept as what I proposed here. Perhaps the dell driver he is using for the dgpu is old and doesn't have the gpu compatibility in the INF file for his AGA gpu. So windows and dell driver can't load for the AGA gpu since the INF says it doesn't support it.Last edited by a moderator: Aug 13, 2019Vasudev likes this.
[How To] Load different Nvidia Drivers for different GPUs
Discussion in '2015+ Alienware 13 / 15 / 17' started by kakashisensei, Aug 4, 2019.