NVidia is killing off mPCIe/NGFF.M2 eGPUs : error 43 with 372.90 or newer driver
here ◄ workaround #3: enable PCIe port hot plug using UEFI variables to toggle hidden BIOS settings by xRay
UPDATE #1: This problem is specific to the GTX10xx series. GTX9xx and older cards are reportedly not be affected.
Worst are GTX1050 and some new GTX1060 cards that are not supported on the 372.70 downgrade workaround driver solution.
NVidia's driver 372.90 and newer is checking if the eGPU hosting port/bridge locked hotplug bit is enabled. If not, the driver fails to initialize with error 43. Below we show how you can check if your mPCIe/NGFF.M2 interface is affected, look at AMD option and suggest the best eGPU interface to invest in.
Those affected are have these two workaround solutions:
1. revert back to 372.70 and (for the time being) , bypass driver version checking in games like BF1.
How to check if the candidate eGPU port is hotplug enabled?
Example below: a Dell E6540 (that I'm currently using). I find the wifi card to identify the mPCIe port that could host an eGPU. Then I click the hosting PCIe bridge to check if hotplugging support is enabled.
Can I enable the hotplug bit?
Not (usually). The PCIe port hotplug bits are read and write-once (R/WO), so we can't change them after the BIOS has set them as shown from Intel's datasheet extract below. I've also confirmed these are write-once by attempting PCI writes to the register and seeing it doesn't change. You either need a factory/hacked BIOS with hotplug enabling settings or identify of UEFI variables that can be altered using a special grub2 bootloader.
Can't I just use an AMD card instead?
Yes, but AMD has no NVIdia Optimus internal LCD acceleration and I found it's DX11/DX10 performance to be inferior over a narrow x1 interface. The poor features and performance makes you wonder why bother? I'd be inclined to build a desktop PC instead.
What eGPU interface should I invest in instead?
Thunderbolt 3. The US$268 AKiTiO Node making this a somewhat financially viable interface. See https://egpu.io/external-gpu-buyers-guide-2017/#tb3-enclosures
What if TB3 is too expensive? I live in a poor country.
Look for older expresscard 2.0 systems. The BIOS should set that port as hotplug enabled as is defined by PCI SIG to be a hotpluggable interface. See details about them at https://egpu.io/forums/pc-setup/expresscard-2-0-egpu-interface-pros-cons-and-a-candidate-notebook-list/
Otherwise you can still go with mPCIe/NGFF.M2, but be aware that future games will need new driver capabilities. Likely you've got about 1-2 years of current gaming use then.
I wonder if the check is intentional, or is that something added inadvertently. I think the latter is more likely, since nVidia does not gain much (if anything, they might lose sales) from blocking such eGPU use.
As for Expresscard, I know that some of the later Lenovos still have Expresscard slots (often occupied by the removable card reader). The T540 should have this port, for example, and it is just one generation back on the Lenovo product list.
Finally, a good laptop alternative for eGPU use is the Lenovo T430s. The i7 version (without an nVidia GPU, and only that model, so be careful when you look for them - All the other models have a mini-DisplayPort instead of the Thunderbolt port) has a Thunderbolt chip and it is (very) easy to get eGPU working on that laptop. Couple that with a DIY setup based on the ThunderTek/PX (140$) and you can have a nice setup for quite cheap. I picked up a T430s for 136$ on ebay to replace my dead NUC, which is an absolute steal for a lightweight, Thunderbolt-capable, 2.9Ghz i7-3520M based laptop with 8GB of RAM.
"Always listen to experts. They'll tell you what can't be done, and why. Then do it."- Robert A. Heinlein, "Time Enough for Love."
T430s with i7 in Poland cost about 300$ but it is interesting option. My Vostro 3460 has "Not-capable" hot plug and i can't do anything with this on bios :/
@survfate what laptop you have?
Also, anyone have idea to workaround about this hot plug?
The hot plug bit is write-once. Has to be done by the BIOS. So would need a BIOS setting, modded bios or UEFI variable to set that bit.
It would serve NVidias interests to ceasing mPCIe/NGFF.M2 eGPUs from an RMA POV. The hosting hacky eGPU adapters leaving the video card exposed to environmental and user damage. Damaged cards cost NVidia replacement costs.
Worth noting too the latest GTX1050 starts at driver 375.63. So no official 372.70 driver downgrade workaround solution for that series.
Strange... Driver 372.54 was released 2016-08-30 and PL community don't talking about this bug... Only way to cheat this "feature" is buy GTX1060,70 and 80 or something from GTX9xx gen... I must make research about eGPU and ATI. Or learn how to mod BIOSes 😀
Polish user juliano reports that y580 running on driver 376.09. Meybe it is 372.90 is broken? Can someone test other drivers?
Did Juliano check if his eGPU hosting PCIe port has hotplugging disabled as shown in the first post? If it's enabled then there will be no issues with 372.90 or newer.
I looked into this, it seems that user posted a screenshot and hotplug is not enabled in bios for Y580
Same as for the Y480 model
A youtuber advised you can uninstall using DDU, reinstall old driver and then upgrade and it works well.
May just be for the lenovo models though?