Nvidia dGPU constantly crashing on Asus X550VX when switching to Intel HD 630 integrated one

_Flyer_

Honorable
Sep 4, 2012
18
0
10,510
Got this new laptop few days ago. Installed everything nicely (screw you MS and that shady tactic of increasing W10 market share forcibly though) but I'm getting "The Nvidia Geforce GTX 950M device is not removable and cannot be ejected or unplugged.", mostly when I switch from something that uses dGPU to the desktop (which uses integrated). After that, GTX950M disappears from device manager and unknown 3D accelerator which fails to install appears. Nothing can be done about this unless I reboot. Then it appears, and crashes again and so on. I've tried these common things about preferences and power management and nothing seems to help. Can't really turn off integrated one either. I'm at my wits end. How can I fix this?

Model: ASUS X550VX-DM561/X550VXK (Laptop)
GPU: GTX950M, no overclock
CPU: Intel Core i5 7300HQ (with Intel(R) HD Graphics 630), no overclock
Motherboard: Aida64 doesn't seem to know, bios is latest
RAM: 8Gb @ 2400
OS: Win 7 with SP1 x64, clean install with all updates
GPU Drivers: 388.13 (Latest for Nvidia) + 21.20.16.48 for integrated one (last installable drivers without .inf modifications, downloaded from MS update catalog/.cab )
 
Laptops which use Nvidia Optimus (switchable graphics) have to use vendor-provided graphics drivers. You cannot install the "latest" drivers from Nvidia or Intel.

The way Optimus works is that the Intel GPU is connected to the screen and always drives the screen (and usually the HDMI port). The Nvidia GPU shows up as a coprocessor. If you assign a game to use the Nvidia GPU, it uses it to generate a frame. The Optimus drivers then send that frame to the Intel GPU for display (basically vsync is always on using the two GPUs as the two display buffers).

Since the process is completely dependent on Optimus drivers, the GPU drivers you install have to be Optimus-aware. The regular drivers you download from the Nvidia or Intel site are not. So you have to stick with the latest drivers from your laptop vendor's support site.

Windows 10 in particular will auto-update drivers (MS removed the ability to prevent driver updates with the Oct 2016 update). If you upgraded from Win 7/8 to 10 and still have legacy drivers, Win 10 considers any Win 10 drivers "better" than your legacy drivers. So it'll even overwrite your vendor-provided drivers with generic Microsoft drivers which frequently don't work. You have to go to your laptop vendor's website and download the newest Win 10 drivers to block this behavior. If your vendor hasn't properly flagged their drivers as Win 10 drivers (mine hasn't for my graphics drivers on my gaming laptop), then Windows 10 will constantly try to overwrite your drivers with non-functional Win 10 drivers. I have to let Win 10 update, disable the Windows Update service, then manually install my vendor-provided Nvidia and Intel drivers to get Optimus working again. Once a month I re-enable Windows Update so it can update, then I repeat this process.
 
Hi, thanks for taking time to reply. This sounds interesting. I checked nvidia driver from their website and and it seems to contain some stuff for Optimus. If I we take into account what you've said, the problem might be caused by Intel drivers. But there is a problem. The only available driver for Intel iGPU on Asus site is for Win10. I have win 7 and I'd honestly prefer to stay at it, due to various reason, including one you've mentioned (complete lack of control of what gets installed). Do you think there is another way around this? Or perhaps I could find Optimus aware drives for intel for win 7?