External GPU Enclosure
A word of warning
Depending on your hardware and what you are hoping to achieve, the EXP GDC Adapter can be hassle free or a complete nightmare (especially for people that aren't very good with computers). If everything goes "according to plan" the whole process from start to finish to drive an external display takes something like 10 minutes. To drive an internal laptop display it might take another 10 minutes. However, if you have other issues, troubleshooting can take many hours, these statements are from my personal experience. What I will say is that I have gotten this adapter working with every single PC I have tried (5 in total) and that this can be a very worthwhile project if you are looking to bring an old mid-range laptop's performance to be on par with newer high end machines at a fraction of the price even if you currently have none of the parts necessary.
Good luck and may you find success :) - Owen Lu
Background and build information
Today external GPU adapters and enclosures are beginning to become mainstream, however, the idea and technology are not new. For example, the MSI GS30 2M SHADOW is a laptop that comes with an external dock capable of using desktop cards at PCIE 3.0 x16 bandwidths, and has a secondary function of a speaker. The price point of such a laptop is outside the range of many as is expected of "new" consumer technologies. Another example of an external enclosure is Alienware's Graphics Amplifier which to my knowledge only works with Alienware Laptops, and has PCIE 3.0 x4 bandwidth; surprisingly, the amplifier is a very cost effective approach to enhancing the performance of an Alienware laptop since the PSU comes with the case and the total cost is only $200 USD (as of August 2015).
However, both of these devices have a common theme, they have proprietary connectors that require you to buy a new premium laptop and thus are irrelevant to people that are not looking to do so. This is probably the way it will be in the future, in order to encourage mobile performance enthusiasts to keep buying in to the company's respective new technology.
The external GPU enclosure that I have made features the efficient GTX 750Ti Low Profile by Zotac, and the EXP GDC Beast from Banggood to balance performance with portability (you can take it around in a reasonably sized backpack); it can be used to drive two additional external monitors as well as the internal screen of the laptop (driving internal screens will always cause performance loss however). The reason that this specific graphics card can be used in portable builds is due to two things: it requires no extra 6 pin power connectors and it has a low profile design. Thus, with only a small 65W AC adapter, and a relatively small box that weighs little more than 1lb, you can have a clean solution that enhances your laptop's performance while maintaining portability.
Even if you are not looking to make an enclosure for the set up, you can still use this guide as all the steps are the same, just skip the way I made the box. The total cost of my specific build which includes all products necessary is detailed below. Notably, if you have all the necessary parts, the cost of the adapter without a power supply is $75. Note that running Windows 7 is preferable since the vast majority of resources apply to Windows 7.
- GTX 750 Ti LP ($170 CAD)
- EXP GDC BEAST ExpressCard version ($75 CAD)
- DELL E6420 (CRAIGSLIST $200 CAD) WIN7 x64
- PLASTIC ENCLOSURE ($10 CAD)
- 65W AC ADAPTER ($10 CAD)
Total Cost: $465 CAD
The first thing to check is whether Banggood has actually tested your specific laptop with this external adapter. The laptops on the list (which is on the product page) are quite old, and generally speaking only older business laptops (usually by Dell, Lenovo, or HP) have ExpressCard slots. Weirdly enough the list is in some sort of image format so you can't easily search for your laptop. For your convenience (as well as mine) I OCR'ed the table and have it in an Excel spreadsheet which can be downloaded here.
In theory, this adapter should work with any laptop with an mPCIE or ExpressCard 1.0/2.0 slot, and all 5 of my own PC's which were not on this list also worked. Furthermore, the card itself doesn't actually matter in terms of compatibility (I tested 4 cards both NVIDIA and AMD). I will say however, that NVIDIA cards are easier to use to drive internal displays (AMD must use a different process), and that in order to drive internal displays you MUST have at least a Sandybridge processor (or newer) in your laptop.
Note that although I have gotten the adapter to work through mPCIE (a different connector for the same product) on multiple laptops and barebones PC's, I have not tried driving the internal screen via the mPCIE slot and do not know if it works. Furthermore, removing the a wireless adapter that is usually connected to any laptop's mPCIE is a hassle and just plain ugly in my opinion, so I don't recommend going this route. If you do go this route, developing an enclosure is probably not what you need, and it would be better for you to just use the adapter like many others have done and use a USB wireless adapter for your laptop. The picture below is an example of the mPCIE connection going into the laptop (usually from the bottom of the laptop).
- Check whether your laptop has been tested, if it has you can be confident that it will work (may need a little tweaking); in theory all laptops with the right slots should work (download the spreadsheet with tested laptops here)
- ExpressCard laptops tend to be business laptops (Dell, Lenovo, HP)
- Using the mPCIE version will work the same way, but is ugly and I don't recommend it for any sort of portable build
- You must have a Sandybridge or newer CPU in your laptop in order to drive the internal screen
- My guide only shows how to use NVIDIA GPU's with the internal screen, AMD GPU's must follow a different process that is not discussed in detail
For reference below is a diagram of the adapter. Power comes in from EITHER the "DC Power In" or "8P Power Output". I believe they mean 8P Power Input, but that's a minor issue. The 6P Power Output is what will be connected to the graphics card should it be necessary.
AC Adapter set up
The EXP GDC Beast adapter can handle 150W through the 12V DC jack. This means that if even if your card needs 6 pin power connectors, it is still possible to use an AC power adapter in place of an ATX power supply. In my build this is what I'll be using.
ATX power supply set up
Pretty much any ATX Power supply will have enough power output to power a card alone, all you need to do is hook up the 8 pin connector the EXP GDC BEAST and then connect the 20pin and 4pin to the ATX. The only reason the large 20 pin connector is necessary is to switch the ATX on. Suppose you wanted to make a large enclosure for your ATX and GFX card and also want an on-off switch. In this case you can use a switch to short two pins on the ATX which is discussed in this link.
Regardless of the version of the adapter you purchased, the data travels from the computer to adapter through the HDMI port. Thus, the HDMI port is not for any sort of display (you should use the card display outputs for that). There are two versions of the adapter, one which connects through a 34mm ExpressCard 1.0 or 2.0 slot, and the other which connects through mPCIE.
After all power connections are plugged in, connect the data line to the HDMI on the adapter, and the ExpressCard to the laptop while the computer is already booted into windows. The fans should be running on the card as the connection is made. That's literally it.
Most laptops do not have multiple mPCIE slots and therefore usually the wireless card must be removed. This process varies from laptop to laptop, but usually the connection can be accessed from the bottom of the laptop. Some models require the removal of the keyboard. After the wireless card has been removed simply plug the mPCIE adapter in and screw it to the motherboard. An example of this process is given on the EXP GDC BEAST product site about half way down the page. Reboot the computer after making sure that power is connected to the card. At this point the fans should be running on the card.
At this point if everything went well you should see an "Installing Drivers" alert and later on a "Standard VGA Adapter" in the Device Manager. Now that you know hardware is detected, connect a monitor to your graphics card, install the necessary drivers and reboot with the adapter still plugged in.
After this process everything should be working and you should be able to see the graphics card in Device Manager->Display Adapters. Technically if all you wanted was to drive an external display (or if that's all the hardware allows) then you are done :).
This section is split into two parts, the first is just instructions on what to do. The second is a more detailed explanation of what is actually happening under the hood which is taken from Paul Peter Serek's blog.
Assuming that the graphics card was detected when the drivers were installed, you are ready to proceed to the next step. Download the newest NVIDIA LAPTOP drivers that have the same architecture as your external graphics card (If you have a GTX 970, download GTX 970M). Generally speaking the newer cards all have the same bundled driver, and you can find them all on NVIDIA's Driver Downloads site.
Use a tool to extract the installer into a folder (I used WinRar). The result should look something like the picture below
Now there is a specific file that we are looking for called "nvami.inf". Basically the idea is that we're manually adding our desktop graphics card to the list of laptop cards. This is easily done by the addition of 3 lines of code after finding the Hardware ID of your card from Device Manager.
In the device manager, navigate to the external card then go to Properties->Details (Tab) and under the "Property" drop down select "Hardware Ids". An example using the Quadro K620 is shown below. The 4 character alpha numeric string after "PCI\VEN_10DE&DEV_" is the important number; in this case it is "13BB". Time to add the code.
You can use a text editor (such as notepad) to open the nvami.inf file inside the driver folder (just search for it). The result will be like below.
Navigate to the text "[NVIDIA_SetA_Devices.NTamd64.6.0]" and COPY "NVIDIA_DEV.XXXX= Section099, PCI\VEN_10DE&DEV_XXXX" replacing "XXXX" with your hardware ID below the text.
Copy the exact same text under "[NVIDIA_SetA_Devices.NTamd64.6.1]" (it is just further down the list). Now navigate to the "[Strings]" section and COPY "NVIDIA_DEV.XXXX = "(Your card name)"" below the section. You must enclose the name in double quotations. Now save the text file.
Uninstall all desktop drivers and reboot. Navigate to the extracted drivers folder and run the setup and install like normal. You should now be able to use the graphics card with the internal display.
The reason that faking the external desktop card as a notebook card is necessary is due to how the display is connected to the motherboard. With NVIDIA Optimus technology (switchable graphics), the onboard integrated graphics chip is the only connection to the internal LCD and the motherboard receives data from discrete GPU's (such as a 540M for example) and sends it to the display via the integrated GPU. What we are doing is simply using the same process/technology with an external card which the computer believes is a discrete notebook card (hence the notebook drivers).
The adapter is connected through the HDMI to Expresscard wire to the computer. You should see a red light come on (this is good) which indicates the power is on. You do need to connect the express card to the computer for the card to be on though. The diagram below shows the flow of data from discrete cards to the LCD and is taken from Paul's previously mentioned blog.
The enclosure that houses the graphics card is very simple, with cut outs where the I/O ports of the adapter are placed and where air needs to enter and exit the. Basically the first thing to determine is how the air actually flows (generally speaking usually the flow is drawn in and forced along the card). In this case, the fan draws air in and pushes it out in the direction opposite to the display outputs. The diagram to the right shows the air flow for my specific card. The easiest way to determine this is to turn the card on and feel the air flow by hand, however if you know some very basic principles of heat transfer, it is very obvious which way it must go.
Now obviously you must pick a box to fit the card. Low profile cards are nice because you can remove the VGA port easily to make it smaller. This can be done by removing some screws. The overall result should look like this:
The primary mount for my graphics card comes from two screws connected to where the DVI connector screws would be. I put the card flush to the wall of the box and then drilled the holes that correspond to the DVI connector screws. The screw size and thread is #4-40 which can be found at your local hardware store. At this point you can screw the card into the box to define the position mark up where you must cut holes for I/O and fan intake. Obviously after you do that, all that's left is to cut the holes.
In order to protect my fan I used a fan mesh from one of my broken Gamecubes, the metal mesh for the air outtake was harvested from the spare mesh on my Bitfenix computer case (it originally covered the DVD drive) and then cut to size. I used a simple Dremel with the abrasive cutting disc to cut the metal mesh.
After cutting the necessary holes and filing them down, you can spray paint the enclosure to give it a more polished look :).
Although this method provides good support for forces along the card, rotation is still an issue. To deal with this I simply glued some Lego to the back plate of the plastic enclosure and screwed the back plate in.
Even though ExpressCard 1.0/2.0 are both a fraction of the bandwidth that PCIE 3.0 x16 is capable of, most of the times operation is not even close to the this bandwidth limit. Paul's blog discusses that tests have shown a bandwidth bump from PCIE 2.0 x2 to x16 does not increase performance. Certainly for my low end 750Ti, there is really no reason to buy a laptop with ExpressCard 2.0 or Thunderbolt connectors.
Thus, good performance can be achieved with external GPUs. I did a simple benchmark with my GTX 750Ti and GTX 970 on both internal and external monitors using Tomb Raider 2013's benchmark tool. Below are the summarized frame rates. Interestingly on the internal screen, "High" settings using the GTX 750Ti provided 1.5 times the frame rates of those from the GTX 970 at the same settings. I actually have no idea why and retested this case 3 times before accepting it as correct.