External Graphics over Thunderbolt 3 using the AKiTiO Node

A long time coming

External video cards for laptops have long been a dream of many PC enthusiasts, and for good reason. It’s compelling to have a thin-and-light notebook with great battery life for things like meetings or class, with the ability to plug it into a dock at home and enjoy your favorite PC games.

Many times we have been promised that external GPUs for notebooks would be a viable option. Over the years there have been many commercial solutions involving both industry standard protocols like ExpressCard, as well as proprietary connections to allow you to externally connect PCIe devices. Inspiring hackers have also had their hand with this for many years, cobbling together interesting solutions using mPCIe and M.2 ports on their notebooks which were meant for other devices.

With the introduction of Intel’s Thunderbolt standard in 2011, there was a hope that we would finally achieve external graphics nirvana. A modern, Intel-backed protocol promising PCIe x4 speeds (PCIe 2.0 at that point) sounded like it would be ideal for connecting GPUs to notebooks, and in some ways it was. Once again the external graphics communities managed to get it to work through the use of enclosures meant to connect other non-GPU PCIe devices such as RAID and video capture cards to systems. However, software support was still a limiting factor. You were required to use an external monitor to display your video, and it still felt like you were just riding the line between usability and a total hack. It felt like we were never going to get true universal support for external GPUs on notebooks.

Then, seemingly of out of nowhere, Intel decided to promote native support for external GPUs as a priority when they introduced Thunderbolt 3. Fast forward, and we've already seen a much larger adoption of Thunderbolt 3 on PC notebooks than we ever did with the previous Thunderbolt implementations. Taking all of this into account, we figured it was time to finally dip our toes into the eGPU market.

For our testing, we decided on the AKiTio Node for several reasons. First, at around $300, it's by far the lowest cost enclosure built to support GPUs. Additionally, it seems to be one of the most compatible devices currently on the market according to the very helpful comparison chart over at eGPU.io. The eGPU site is a wonderful resource for everything external GPU, over any interface possible, and I would highly recommend heading over there to do some reading if you are interested in trying out an eGPU for yourself.

The Node unit itself is a very utilitarian design. Essentially you get a folded sheet metal box with a Thunderbolt controller and 400W SFX power supply inside.

In order to install a GPU into the Node, you must first unscrew the enclosure from the back and slide the outer shell off of the device.

Once inside, we can see that there is ample room for any graphics card you might want to install in this enclosure. In fact, it seems a little too large for any of the GPUs we installed, including GTX 1080 Ti models. Here, you can see a more reasonable RX 570 installed.

From here, I simply connected the Node to a ThinkPad X1, installed the NVIDIA drivers for our GTX 1080 Ti, and everything seemed to work — including using the 1080 Ti with the integrated notebook display and no external monitor!

Now that we've got the Node working, let's take a look at some performance numbers.

We can't capture video directly off of the laptop display to put it through the Frame Rating analysis, so all of the benchmarks here you saw were with an external monitor. I will say from an experience point of view, using the display on the notebook seemed to be equally as stuttery.

Laptop OEMs and their motherboard suppliers are free to purchase TB3 controllers from Intel and use them in any product. So if the laptop makers want to buy a TB3 controller for any Ryzen 7 based laptop then Intel will gladly sell them one. Apple announced its macbooks are going to offer external TB3 based GPU support. So that's probably going to be for Apple's current Radeon based products. Also see AMD's XConnect announcment(1). Intel is is the TB3 business to sell TB3 controllers so Intel is not stopping anyone.

Now if Intel(Intel sells a dual TB3 controller SKU) could only provide TB3 link aggregation and if laptop makers would provide enough PCIe links dedicated to only TB3's bandwidth needs then external PCIe may not be so bad.

Those not so great frametimes/latency on the external TB3 docks is probably related to the time it takes the TB3 controller to encapsulate the PCIe protocol inside the TB3 protocal(Tunneling protocol) and send it over the TB3 cable including the TB3 controller on the external dock reversing the process to deliver the PCIe packets to the external GPU.

What is up with PCI-SIG's OCuLink external standard that's stright up external PCIe with no encapsulating/de-encapsulating steps required that add latency.

I have a Dell Alpha r2 with an Nvidia GTX Titan black plugged into the graphics extender. It screams. Everything I throw at it on my 1080p 3D enabled monitor at 144hz works fantastically. Of course the graphics external box is using a proprietary connector that much lower latency and throughput than thunderbolt 3. The graphics extender also has 4 usb ports on it to. Overall I've very happy with this set up. I imagine a thunderbolt 4 connection, when ever that happens, will be better suited to the high demands of gaming graphic cards. But Dell still has the only viable, but proprietary solution, for plugging external graphics cards into micro desktops and laptops.

Linus did an in depth comparison of these egpu options as well and noticed dramatic improvements using an external display rather than the internal laptop display. The only really good egpu options out right now is the proprietary eGPU setup that Dell is doing with the Alienware laptops. I too have owned this setup and only saw maybe a 5% difference in performance than what I had with my desktop running a Titan Xp in it. I had similar results with a GTX 980ti, and GTX 1080 that i tested. I have heard that Apple's egpu setup is now the next best behind Alienware and isn't throttled as much when using the internal display as long as you are using the Macos High Sierra Beta. I really want to see someone run a 1080ti on a mac with the beta, and see compute results, or test the new Vega FE and produce some final cut render benchmark results vs the stock internal GPU and the RX 580 and Vega.

> we decided to do something that no one would normally do – hook up a GPU over Thunderbolt to a high power gaming desktop.

But have you tried plugging the video from the thunderbolt gpu into a *second* ThunderEX card, so you could have thunderbolt plus video via a single cable? What if someone has this use case but nobody has tested it??

Good article Ken! The results aren't perfect, but the price coming down, and performance improvements over ultra-light laptops still show this is moving in the right direction.. $300 for the device + a $200 GPU = could be a big upgrade for a light laptop..

My problem with this kind of solution is that it's not much smaller and not much cheaper than a mini-ITX PC. It still has some benefits, but in the end I think that a full desktop PC is better than a static docking station of equal size.

What I'd like to see in the future is a new class of external graphics cards, coupled with a standard for an external PSU (at the low end the PSU could use thunderbolt to connect, which supports up to 100W, although that could be a little confusing).

I see eGPU boxes as an intermediate solution. Zotac's Thunderbolt 3 External Box is probably the largest solution I'd consider getting.

It would be nice if users could network PCs/Laptops/Mini PC SKUs over TB3(At full 40Gbs bandwidth and not just that new TB3 ethernet mode) and have the OSs cooperate like as if the LANed up via TB3 systems where a computing/gaming cluster like platform. These expansion boxes are as expensive as low cost full PCs, so that price will have to fall some more to attract more sales. Most windows based Laptops still do not support TB3, or TB's previous versions.

I wonder how Ryzen, or Intel, systems could accomodate any PCIe pass-through coming from a laptop to a PC with the laptop using the PC's GPU. AMD's GPUs are better for virtual GPU sharing among OSs under KVM/Linux OS(windows, or linux, via KVM) instances(According to Level One Techs). But what about a PC that can allow a TB3 based laptop to make use of the PC's GPU hardware over a TB3/PCIe interface. That type of useage would be similar to game streaming. Maybe a PC could be configured to run headless and allow the laptop virtural access and headless control to use a TB3 attatched/networked PC's GPU/other resources, but that appears to be a bit different than simple game streaming.

It's possible to make a really small mini-ITX computer (not to mention prebuilt boxes with MXM GPUs). But when you add screen, keyboard and mouse it's no longer as small.

I kind of think that a combination of ultra portable laptop with a limited CPU (perhaps even something like a Chromebook) which could act as a "dumb" screen/keyboard/mouse when plugged into a separate CPU/GPU box could be really useful.

I personally didn't consider looking into running something like a hypervisor before, but that could be a way to hack in the functionality into something existing. If it's possible to create a "shim" client OS that acts as the "remote desktop" on the laptop.