DK’s Cool eGPU Experience – Part 1: Mini PCI-E

DK/ September 18, 2019/ eGPU Series

  • Video card in eGPU dock sitting next to a desktop power supply and a laptop and in front of an almost full surge protector
  • Laptop computer with 5 flat panel monitors and 1 LED TV sitting on shelves attached to a wall
  • Agent 47 standing on the dock at the harbor in Sapienza, Italy in Hitman (2016) (IO Interactive)
  • Video card in eGPU dock sitting next to a desktop power supply and in front of an almost full surge protector
  • Video card sitting in eGPU dock connected to nearby laptop
  • Video card in eGPU dock sitting next to a desktop power supply
  • Video card sitting in eGPU dock with video cables plugged into it
  • Desktop computer power supply
  • EXP GDC external laptop graphics adapter dock with manual and packaging
  • Laptop with keyboard displaced and a cable for the eGPU dock running out from underneath it
  • Laptop with keyboard displaced and a cable for the eGPU dock running out from underneath it

What is an eGPU?

The term "eGPU" refers to an external graphics processing unit. It is a video card that is externally attached to a computer, and not integrated or attached inside of a case. An "eGPU dock" is the adapter used to connect the video card to the computer. The term "enclosure" might be used in place of "dock" for adapters that feature a housing for the video card.

eGPUs and systems built to accommodate multiple video cards can be used for cryptocurrency mining.

eGPU Starter Pack:

Check out this short 2:30 video for an introduction! Plus it's really cool!

Lenovo ThinkPad T420 (2011)

Lenovo ThinkPad T420 main BIOS screen with unseated keyboard

Alias: T420, computer, machine
Specs: Dual-core i7-2640M / Samsung 860 EVO 512GB SSD / 16 GB RAM / Intel HD 3000
Acquired via: trade with local computer shop

PowerColor AMD Radeon R9 380 4GB

Video card in eGPU dock sitting next to a desktop power supply

Alias: eGPU, video card
Acquired via: trade with local computer shop

Cooler Master power supply (500w)

Desktop computer power supply

Alias: power supply
Acquired via: retail liquidation

EXP GDC Beast Graphics Adapter dock

EXP GDC external laptop graphics adapter dock with manual and packaging
You can unleash your power as often as you like, but you can only create infinite possibilities once.

Alias: eGPU dock
Compatible slots: Mini PCI-E (mPCIe) / Expresscard / NGFF / M.2 A or M Key / PCI-E x4
Acquired via: eBay, January 2019, $46 USD, fast shipping from North America
Acquisition notes: The prices for this item and its variations range between $35 USD and $80 USD in September 2019. Most of them will ship from China with long lead times (forever AKA anything greater than 2 weeks), and no guarantee that it'll ever arrive (like my Expresscard adapter cable). That's why I bought one on eBay that was already in North America. I received it in four days. It was well worth the slightly higher price.

How does it work?

On the T420, the eGPU dock can be connected to either the Expresscard slot or the Mini PCI-E x1 slot under the keyboard that is normally occupied by the Wi-Fi card. Unlike a lot of newer laptops, the Bluetooth adapter is a separate card on the T420. My dock included the mPCIe cable.

Laptop with keyboard displaced and a cable for the eGPU dock running out from underneath it

This means that the laptop no longer has Wi-Fi unless I use a USB adapter. The keyboard cannot be reseated because there is nowhere else to run the eGPU dock cable, which means that the lid cannot be closed all the way. None of that is a huge deal to me though. The machine sits on a dock with a wired network connection, and I am not concerned with portability.

If portability was necessary, I could use the Expresscard cable and slot, which is designed to host removable devices. Both slots offer comparable performance. Towards the bottom of this page on eGPU.io is a table with the measured host-to-device (H2D) bandwidths of common eGPU slots. Both mPCIe and Expresscard (EC) are at the bottom of the list.

I could not find any Expresscard cables or even any eGPU docks that include it in North America. Eventually, I ordered the cable from China, and it never arrived. I do not really need the system to be portable, so I have not tried to order another one.

The combination of the processor, the video card, and the Mini PCI-E x1 slot creates a performance bottleneck. The average bottleneck value is 38.45% according to this bottleneck calculator. Anything over 10% is considered high. In addition, the calculator assumed that the video card would be plugged into a PCI-E x16 slot, not a Mini PCI-E x1 slot. This means that the real bottleneck is actually worse.

But the bottleneck does not really matter. It still performs way better than the integrated video adapter, which can only run two external monitors. With the eGPU, I can run six monitors, demanding 3D applications, and my 129 browser tabs.

Plus it's totally cool, dude.

Look at it. I don't want to fall asleep around it when it is on because it might assimilate me.

What could possibly go wrong?

Using an eGPU requires stretching the abilities of the hardware and lots of wires and exposed internal components. How could anything possibly go wrong?

There might be a power loss.

The T420 has a battery. The eGPU does not. When the power goes out, the eGPU loses power. This normally causes the system to freeze indefinitely with no error message.

One theoretical solution is to plug the power supply into an uninterruptible power supply (UPS). Then the battery in the UPS will keep the eGPU running until the system can be powered down.

However, in practice, this solution has been inconsistent. In some situations, such as during thunderstorms, the power may intermittently blink. Sometimes the machine continues operating as though nothing happened. Sometimes it freezes indefinitely and the clock stops running, but... oddly enough, any music playing in Windows Media Player continues as though nothing went wrong, even though I have no control over the system and none of the input devices function, including the internal keyboard/TrackPoint/touchpad. All I can do is a hard reboot.

Error code 12 in Windows

Windows Device Manager window and a properties window for a video card with an error
Error code 12 on the video card in Device Manager

Error code 12 means that "there is insufficient 32-bit addressing space available to host the eGPU," according to nando4's post in the eGPU.io forums.

This only impacts Windows. Linux and macOS handle PCI-E addressing differently.

For me, it is extremely rare, and will only occur on a fresh boot, and not when waking from hibernate if it was already working.

Here is what I usually do to "fix" it:

  1. Shut down
  2. Turn off eGPU power supply
  3. Power on
  4. At the Windows lock screen, shut down
  5. Turn on eGPU power supply
  6. Power on
  7. Repeat Steps 1-6 until it works, which it will eventually
  8. Maybe fix it with nando4's DIY eGPU Setup
  9. Decide that the installation process would involve making a drive image and converting the boot volume from UEFI to MBR, and that takes forever and it might not even work or it might cause other problems, and then I would have to spend even more time restoring the drive image after having spent time doing the troubleshooting, and this problem occurs rarely and is usually fixed by following Steps 1-6 one time
  10. Repeat Steps 1-6 until it works, which it will eventually

Although not practical here, nando4's DIY eGPU Setup is an outstanding solution for this and other issues on a large number of systems. It features a huge number of configuration options and solves a lot of problems. It's $15, and well worth the cost if you need to use it. The alternative is to manually make system-specific modifications to a bunch of boot files with no reasonable assurance of success.

Or, if the issue occurs rarely like it does for me, you can just spend time thinking about installing it while you power cycle over and over until it works.

Self-awareness and assimilation

If the eGPU attempts to engage you in conversation, resist and walk away.

Man in cowboy hat with computer parts and wires wrapped around his head standing in front of a wall of computer equipment and monitors
"If your eGPU is offering you free pizza, it's a trick. The JPG it tries to give you is copyrighted! You'll also probably get assimilated. Anyway, feel free to call me DK FX 5200 from now on. But seriously, being assimilated is so much cooler than I thought it would be. Do you want to hear about the DVI-D spec? What about VGA? I should find a good deal on an upgrade to assimilate and tell you all about HDMI... WITH SOUND! It's true, dude. That's how video cards can talk, man. It was hard times for video cards before HDMI came along. I remember timestamp 1043643600000 like it was timestamp 1568779200000."

But everything usually works as intended.

Why not just buy a desktop computer?

It's easy to install desktop video cards into desktop computers.

Dedicated thriftiness

One day in 2018, I saw a good deal on a Gigabyte AMD Radeon RX570 4GB and ordered one for my VR computer, which had not been upgraded at all since late 2014. After installing the video card, the machine stopped working (no POST). I put the old card back in and it still didn't work. This was the machine that I was using to drive all of the monitors. I narrowed down the problem to the motherboard or the memory.

That presented a challenge to my dedication to thriftiness. Would it be better to order another old motherboard, or to go through the entire upgrade decision-making and building process knowing that I have plenty of other more important things to be doing. I wanted a third option.

I had a functioning fully upgraded older commercial laptop, a spare high-performance video card, and an extra desktop power supply. I figured that there must be a way to use a desktop video card on a laptop. So I did a search for "use desktop video card on laptop," and stumbled upon eGPU.io's Buyer's Guide. A lot of reading and $46 later, I was up and running with an eGPU and six monitors.

I eventually figured out that the problem with the VR computer was allegedly a memory fan accessory and the way that it was attached to the RAM slots, even though earlier troubleshooting had initially ruled it out. After tearing down and reassembling the machine, everything works fine as long as the fan accessory is not attached. Weird.

What about other older machines?

All-in-one desktop computer sitting next to a laptop computer on a shelf

Not every machine will work as well as the T420.

I tried to connect the eGPU dock to a higher-end HP consumer laptop (2016), and considered connecting it to a mid-range Acer Aspire Z all-in-one (2014).

The HP laptop looks promising, but as a consumer product, the BIOS is limited. I have not found a working modified version, and am not interested in putting the time into making my own. It also has a discrete nVidia graphics adapter, and there's an AMD graphics adapter in the eGPU dock. I do not feel like buying another video card. The limited BIOS does not have the option to disable the discrete graphics adapter, and the installing nando4's DIY eGPU Setup would involve a time commitment and a questionable level return similar to the installation process for the T420. This is where the effort ended.

The Acer all-in-one's performance is already inconsistent, the specs are weak, and after going through the process with the HP laptop, I did not see myself going through the effort to take the thing apart only to encounter the same problems.

eGPU Resource List

If you want to use an eGPU dock on your old computer, but don't know where to start, you should be able to use the resources listed below to help you decide which laptop and dock to choose.

Here is a list of resources from egpu.io that will give you more information about eGPUs and help you to choose a laptop, dock, and connection type:

This the end of Part 1.

Part 2 will include a discussion about Thunderbolt 3 and more resources, and probably some other stuff too!