Windows 7 + UEFI Class 3 = no support for dedicated NVidia GPU?

Hi everyone!

I need an advice/help on my situation.



A bit of background:

I’ve successfully and smoothly installed Windows 7 and all GPU drivers on a number of my laptops.

I’ve had a laptop with an 8th-gen CPU, GTX-1080-Mobile and removed Intel iGPU.
The only issue was the NVidia driver for win-7-8, which I solved by modifying the inf files (adding the corresponding strings with the HW ID of the device).

I’ve had a laptop with a 9th-gen CPU, RTX-2080-Mobile and removed Intel iGPU.
The situation was the same as above.
Got modified NVidia driver 436 installed, then some years later repeated the modification and installation but this time with version 475, to get the final driver upgrade.

I’ve had a ThinkPad T490 with i7-8665U, Intel UHD 620 and NVidia MX250 (where MX250 doesn’t work without UHD 620).
The UHD 620 was covered by the modded Intel GPU driver, and for the MX250 I did the same stuff as above.

I’ve had a laptop with i5-8265U and Intel UHD 620.
The UHD 620 was covered by the modded Intel GPU driver.

And other.

And everything has always been fine and smooth.

But, they all had UEFI with Legacy and CSM support.



Now, I got a Dell Latitude 5401 with i7-9850H, Intel UHD 630 and NVidia MX150 (where MX150 doesn’t work without UHD 630).
Unlike all laptops I’ve dealt with before, this one is the first one with UEFI class 3, so no Legacy/CSM.
Still I haven’t expected anything wrong to happen.

So I partitioned the GPT disk, created and initialized the EFI volume, replaced the default bootmgfw.efi with the one provided by UefiSeven.
(I ignored the creation of the MSR volume as it is useless and unneeded).
Installed Windows 7, started it, installed the chipset and USB-Universal-Win8 drivers.
Installed the modified Intel UDH 630 driver, rebooted and turned on Aero.
Everything looks cool so far.

Now the last step is to get the MX150 covered by the modified NVidia driver.
I did the same stuff as before - took the vanilla v475 driver, added the strings with the HW ID of the MX250, successfully launched the installator and got the driver installed.
And after reboot I see the “great news” - it didn’t work.
And this is still unresolved.

Whatever I do, whatever I try, the result is always the sameandthe OS just doesn’t recognise the GPU after the driver installation:

  • In Device Maganer, it is shown as “3D Video Controller”, with the status “The drivers for this device are not installed (Code 28). There is no driver selected for the device information set or element”.
  • Device Maganer → Update Driver, trying to manually select the installed driver from the list via: “Windows found driver software for your device but encountered an error while appempting to install it”, “The driver for this device does not support this version of Windows” (which is not true, as the driver is for win-7-8and not win10+).
  • Clicking on the NVIDIA control panel tray icon, getting an error window: “NVIDIA Display settings are not available”, “A NVIDIA graphics card was not detected in your system”.
  • Many installation attempts, several nvidia driver versions tested (445, 475), different modding approaches = always the same result.
  • I’ve also tried different bootmgfw.efi for loading Windows 7 in UEFI class 3 - UefiSeven and generated by FlashBootPro v3.3q.

Now I’m trying to find out what’s going on.
Out of my previous experience with a number of laptops, when I haven’t had any issues with Win7 running in Legacy/CMS mode with all GPU drivers installed, I can assume that the reason is something that is new and hasn’t been the case before - something related to UEFI class 3 / no CSM:

  • Maybe UefiSeven and FlashBootPro are the reason.
  • Or maybe it’s the reaction of the NVidia driver that is “surprised” about being launched in the OS that is based on legacy-VGA, with BIOS interrupt 10 Int10h from legacy-VGA being emulated (by the bootmgfw.efi MOD), and is booted in UEFI class 3 (where legacy-VGA is just non-existent and the OS just didn’t supposed to be booted).
  • Or any other reason related to UEFI class 3, or bootmgfw.efi, or the NVidia driver’s reaction on the environment where the OS didn’t suppose to be booted.

I’ve been messing around with all this for a number of days, but still haven’t found any solution for getting the last piece, MX150, to work.

I’m especially unhappy about all this because I’ve been planning to get a Latitude 5411 (i7-10850H, Intel UHD, NVidia MX250) as a compact-yet-powerful travel laptop, and now these plans got a big question mark.



So I would like to ask those who are more experienced in all this stuff, and maybe have even encountered (and resolved) a similar situation.

Do you have any ideas what’s going on?
Where should I dig? What could be the reason for the MX150 driver to not work?
What should I do/try to get it fixed and the MX150 running?

Thanks beforehand.

@Dorian-999 Maybe you could try 471.11 WHQL?

Although older (Jun 22, 2021) it is WHQL signed and says it supports the MX150 on Windows 7.

[Edit] nvaci.inf had these Device ID’s for MX150:

NVIDIA_DEV.1D10.118D.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.118E.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.119A.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.1218.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.121A.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.121D.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.121F.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.1220.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.126B.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.1273.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.127F.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.1282.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.1329.1025 = “NVIDIA GeForce MX150”
NVIDIA_DEV.1D10.132C.1025 = “NVIDIA GeForce MX150”

It’s more complicated than that.
In short - no, the HW ID for my MX150 is not there and I as usually had to add it. All already-present MX150 strings have different HW IDs.
As mentioned, already checked with versions 445 and 475 WHQL.

In any case I doubt that the situation has something to do with adding my VGA’s HW ID to the driver (which I’ve done a number of times before).


PS:

says it supports the MX150 on Windows 7

NVidia says a lot of bullshit. :slight_smile:

@Dorian-999 Well, the driver supports 14 variants so not a total lie.

What is the Device ID for your MX150? You haven’t stated it, which makes it difficult to find any info about.

The ID of the MX150 in Dell 5401 is DEV_1D10 & SUBSYS_09181028

(I’ve already searched, found nothing helpful for resolving the issue)

1 Like

@Dorian-999 Did you install KB4490628 and KB4474419?

@chinobino,

I downloaded and installed them - no effect.

After a few more days of experiments, even though the solution hasn’t been found, there have been interesting and weird findings.

Here is what is happening and what I’ve seen so far.




DRIVER INSTALLATION:

Before the NVidia driver with added DEV_1D10&SUBSYS_09181028 strings is installed:

There is one MX150 entry in the Device Manager.
According to it, the OS sees the MX150 as “3D Video Controller” with question mark, with the ID “VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1”.

After the NVidia driver is installed, but before the OS is rebooted:

There is one MX150 entry in the Device Manager.
According to it, the OS sees the MX150 as “NVIDIA GeForce MX150” with yellow exclamation mark, with the ID “VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1”.
Device status: “You need to restart your computer before the changes you made to this device will take effect”.

After the NVidia driver is installed, and after the OS is rebooted:

On startup, the OS shows a small error window: “Problem Ejecting NVIDIA GeForce MX150”, “The ‘NVIDIA GeForce MX150’ device is not removable and cannot be ejected or unplugged”.
Pressing “OK”.

Opening the Device Manager, enabling “Show hidden devices”, and what I see:
There are TWO (!!!) entries related to the MX150!
Entry 1:
“NVIDIA GeForce MX150”, with the ID “VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1” - it’s dimmed / hidden / not connected.
Thus, the OS sees this device as disconnected.
This is the entry that supposed to be active and functional, for the MX150 to work and function - DEV_1D10&SUBSYS_09181028!
Entry 2:
“3D Video Controller” with question mark, with the ID “VEN_10DE&DEV_1D10&SUBSYS_00000000&REV_A1” - it’s active and connected.
SUBSYS_00000000 - WTF is this at all??

So, since the OS now sees the MX150 connected as DEV_1D10&SUBSYS_00000000 (while the actual device DEV_1D10&SUBSYS_09181028 as disconnected), and there’s no driver for the device DEV_1D10&SUBSYS_00000000, the “New Device Found” of Windows fails to find a driver for it, and it remains “3D Video Controller” with question mark in the Device Manager.

Conclusion:

After the driver installation and the OS restart,
The OS sees the actual device, DEV_1D10&SUBSYS_09181028, the device that supposed to be active and represent the functioning MX150 - as now-disconnected!
And instead, it starts seeing the MX150 as some mysterious device with the ID “DEV_1D10&SUBSYS_00000000”, with the corresponding second entry in the Device Manager.

I’ve done plenty of Windows 7 installations with all drivers on laptops (all of which were in Legacy/CSM mode), but I have never seen smth like this.
The word “weird” is a very soft word to describe what I’ve seen.

And given the fact that there is only one major difference between all previous laptops and the Dell 5401 in question - the use of UEFI class 3 without Legacy/CSM mode,
I continue thinking that the reason why all this is happening, is related to UEFI class 3 without Legacy/CSM mode.
Maybe this is the effect/outcome of the reaction of the UHD-630 driver or the MX150 driver on the exotic environment (which is Windows 7 used in UEFI class 3 without Legacy/CSM mode and with UefiSeven’s bootmgfw.efi).
Maybe something else caused by something related to being in UEFI class 3 without Legacy/CSM mode.
In any case I have no idea what’s going on.
And don’t know where else I need to dig.




EXPERIMENT:

So, I thought, why not adding another entry to the driver’s inf files, the entries with DEV_1D10&SUBSYS_00000000, get the driver for DEV_1D10&SUBSYS_00000000 installed and see what happens?
Maybe MX150 will function via the “device” this weird ID?

So, I made another driver modification, now with both “DEV_1D10&SUBSYS_09181028” and “DEV_1D10&SUBSYS_00000000” added entries, and repeated the experiment.

Before the NVidia driver is installed:

[same as before].

After the NVidia driver is installed, but before the OS is rebooted:

[same as before].

After the NVidia driver is installed, and after the OS is rebooted:

On startup, the OS starts the “New Device Found” thing.
With the new device being “DEV_1D10&SUBSYS_00000000”.
It finishes with a success: “NVIDIA GeForce MX150 installed”, “restart required”.

Opening the Device Manager, enabling “Show hidden devices”, and what I see there:
There are TWO entries related to the MX150.
Entry 1:
“NVIDIA GeForce MX150”, with the ID “VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1” - it’s dimmed / hidden / not connected.
Thus, the OS sees this device as disconnected.
This is the entry that supposed to be active and functional, for the MX150 to work and function - DEV_1D10&SUBSYS_09181028!
Entry 2:
“NVIDIA GeForce MX150” with yellow exclamation mark, with the ID “VEN_10DE&DEV_1D10&SUBSYS_00000000&REV_A1”.
Device status: “You need to restart your computer before the changes you made to this device will take effect”.

Restarting the OS.
While being very curious about what happens next.

After the NVidia driver is installed, and after the OS is rebooted for the 2nd time:

So, the OS loads.
The driver for the “device” DEV_1D10&SUBSYS_00000000 was installed successfully.
There is “NVIDIA Control Panel” both in the context menu and in tray!
Launching and minimizing various system monitor and process monitor software to track the newly installed device in the background.

Opening the Device Manager, enabling “Show hidden devices”, and what I see there:
There are TWO entries under “Display adapters” related to the MX150.
Entry 1:
“NVIDIA GeForce MX150”, with the ID “VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1” - it’s dimmed / hidden / not connected.
Thus, the OS sees this device as disconnected.
Again, this is the exact entry that supposed to be active and functional, for the MX150 to work and function properly.
Entry 2:
“NVIDIA GeForce MX150”, with the ID “VEN_10DE&DEV_1D10&SUBSYS_00000000&REV_A1”.
Device Manager shows it as a normal active device without any question/exclamation mark or errors.
Device status: “The device is working properly”.

Opening the NVIDIA Control Panel:
In “Adjust image settings with preview”, where the animated rotating NVidia’s 3D logo supposed to be, there is nothing.

Launching Rainmeter via context menu with manually chosen “High-performance graphics processor” (thus the MX150):
Process Hacker shows that the Intel’s iGPU is busy with Rainmeter, instead of dGPU.

Launching a test game via context menu with manually chosen “High-performance graphics processor” (thus the MX150):
The intro-video starts playing.
Pressing ESC.
The game closes.
Launching a test game via context menu with manually chosen “Integrated graphics processor” (thus the Intel UHD 630):
The intro-video starts playing.
Pressing ESC.
The game and its menu loads, saved game loads and I can continue playing.

Checking the system and process monitor software, and what I see:
The MX150’s load has never been higher than 0% and has been 0 at all times.

Conclusion, additional:
The DEV_1D10&SUBSYS_00000000 device that the OS sees after the driver installation - is a ghost device that is allright according to the OS, but in fact it doesn’t do anything and doesn’t work.
Despite the hacky driver installation for the device DEV_1D10&SUBSYS_00000000.




ADDITIONAL EXPERIMENT:

I uninstalled all GPU drivers (both dGPU and iGPU), and installed dGPU/MX150 drivers only.
After reboot, the MX150 is not used by the OS, which is kinda expected, since dGPU is usually dependent on iGPU.

Opening the Device Manager, enabling “Show hidden devices”, and what I see there:
There is only one entry representing MX150:
“NVIDIA GeForce MX150”, with its normal ID (“VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1”).
Device Manager shows it as a normal active device without any question/exclamation mark or errors.
Device status: “The device is working properly”.

Now, with the installed dGPU and non-installed iGPU, I decided to try to install the iGPU driver. (So, the reverse installation order - iGPU after dGPU).
Installed, rebooted the OS, and ended up with the same SUBSYS_00000000-crap as in the previous experiment:

On startup, the OS starts the “New Device Found” thing.
With the new device being “DEV_1D10&SUBSYS_00000000”.
It finishes with a success: “NVIDIA GeForce MX150 installed”, “restart required”.

Opening the Device Manager, enabling “Show hidden devices”, and what I see there:
There are TWO entries related to the MX150.
Entry 1:
“NVIDIA GeForce MX150”, with the ID “VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1” - it’s dimmed / hidden / not connected.
Thus, the OS sees this device as disconnected.
This is the entry that supposed to be active and functional, for the MX150 to work and function - DEV_1D10&SUBSYS_09181028!
Entry 2:
“NVIDIA GeForce MX150” with yellow exclamation mark, with the ID “VEN_10DE&DEV_1D10&SUBSYS_00000000&REV_A1”.
Device status: “You need to restart your computer before the changes you made to this device will take effect”.

Restarting the OS.
While being very curious about what happens next.

After the NVidia driver is installed, and after the OS is rebooted for the 2nd time:

So, the OS loads.
The driver for the “device” DEV_1D10&SUBSYS_00000000 was installed successfully.
There is “NVIDIA Control Panel” both in the context menu and in tray!
Launching and minimizing various system monitor and process monitor software to track the newly installed device in the background.

Opening the Device Manager, enabling “Show hidden devices”, and what I see there:
There are TWO entries under “Display adapters” related to the MX150.
Entry 1:
“NVIDIA GeForce MX150”, with the ID “VEN_10DE&DEV_1D10&SUBSYS_09181028&REV_A1” - it’s dimmed / hidden / not connected.
Thus, the OS sees this device as disconnected.
Again, this is the exact entry that supposed to be active and functional, for the MX150 to work and function properly.
Entry 2:
“NVIDIA GeForce MX150”, with the ID “VEN_10DE&DEV_1D10&SUBSYS_00000000&REV_A1”.
Device Manager shows it as a normal active device without any question/exclamation mark or errors.
Device status: “The device is working properly”.




Does anyone have any idea what the hell is going on? :laughing:

@Dorian-999 The Dell Latitude 5401 uses NVIDIA’s “Optimus technology”, are there any BIOS options related to it?

There is a post on Dell’s community forum that sounds similar to what you are describing i.e. “device not connected

I edited the registry in order to get the Link State Power Management under PCI Express back in the Windows Advanced Power Options. It was set to ‘maximum power savings’. When i changed that to ‘off’ i did not get any crashes anymore in the Nvidia Control Panel preview window. Even when i changed it back to maximum power savings later.