Testing NVIDIA eGPU Support in Ubuntu 17.10

Ever since the announcement of Intel’s Thunderbolt 3 technology there has been external graphics card (eGPU) support. Unfortunately for most of last year, including with Intel’s own Skull Canyon NUC, putting this solution to use was challenging at best. Most motherboards didn’t fully support the technology and those that did typically required a system that was far more expensive. For example, the Skull Canyon NUC at release was $700, unconfigured. Adding SSDs and RAM usually bumped that up well over $1000.

Razer’s own Blade Stealth and similar products that supported Thunderbolt 3 have also hovered around that price range. And this didn’t even factor in the enclosures, of which the Razer Core was one of the few available through most of 2016. At $500 the enclosure didn’t even include a graphics card. Those that could even afford it had to fight limited inventory to test it out. As a result, much of this has been a challenge to get into the hands of mainstream users.

To the credit of the industry, 2017 has seen many improvements to that scene. At the beginning of the year I had been made aware that AKiTiO, a player in the Thunderbolt scene for years before eGPU support, released their Node product to support this new solution. At $299 – and sometimes on sale at half of the Razer Core – the Node seemed far more attractive. Other players, such as GIGABYTE’s AORUS division, have also stepped into the realm by announcing an enclosure with NVIDIA GTX 1070 for slightly more than the Core. And Intel, wanting to help Thunderbolt 3 reach critical mass, has decided to make it royalty free beginning January 1, 2018.

We reached out to AKiTiO back in March and, during a brief trip to the U.S., brought back the Node to Okinawa. Since then we’ve conducted testing on the Skull Canyon NUC in Windows, as well as testing the HTC Vive using that NUC/Node combination. But as XDA finalized its hardware coverage much of that testing and results got placed on the back burner. It was revived during the trip to SIGGRAPH after conversations with NVIDIA’s business marketing and a few new friends at SFF Network. For all that there was known about the eGPU support in Windows, very little of it was known in Linux. After returning from Los Angeles with all of the right components, it was time to help shed some light on this subject.


Unboxing & Photos

The AKiTiO Node contains an SFX 400W power supply along with 2 6+2 power connectors. This, along with support for cards over 300mm, meant that it fit any card that I had readily available to test with. In the end I ended up using the most powerful in the current arsenal to test with: The NVIDIA GTX 1080 Founder’s Edition. This should eliminate any potential bottlenecks that could originate from the GPU itself.

The top and side is a single cover that slides out from the back. One thing that I believe AKiTiO may want to look at for a future version is to put the on detachable slides, as the sliding on and off of the cover sometimes gets stuck in the wrong place and has to be adjusted before it will continue moving. But given that it’s far less than its competing Razer Core, that’s something I’m willing to forego for the price difference. The Node also feasures a fan in the front of the case to push air out the back and keep everything nice and cool.


Hardware

I performed the Linux testing shortly after the Intel i7-7700K review benchmarks. Readers will notice that this is almost exactly the same configuration. For the most part Intel is the only one who has implemented it on their boards. GIGABYTE will be introducing this though to AMD with a discrete card on an upcoming X399 motherboard. As normal with our disclosures, any items not purchased by myself and/or XDA are noted here as well as the party who provided it.

Shared Platform Configuration (Between eGPU and Discrete Graphics)

External GPU Specific Testing


Setting Up

Though our coverage is primarily in Linux it would be silly not to mention, even in passing, the testing that was conducted but not used in a full review. So shortly after the Node was received we quickly set it up on the Skull Canyon NUC in Windows. The Thunderbolt settings required enabling in BIOS but once that was done it was as simple as plugging in, approving the device for connection/use over Thunderbolt, and then installing the NVIDIA drivers. The difference was quickly tested using 3DMark Fire Strike. The differences before and after were simply staggering. We also broke out the HTC Vive for the first time with this and was pleased to see that VR was operating perfectly fine over the Thunderbolt connection.

Based on my experience setting up the Node with the NUC, it seemed reasonable to set this up in a Windows environment first and make sure that was working properly on the test bench. A temporary version of Windows 10 x64 was installed – and the Node initially didn’t respond. After some searching it was found that both the BIOS and a Thunderbolt firmware update were both required for the Z170X-Gaming 7, and thankfully both are available on its support page. Once the necessary updates were applied the Node came to life and immediately showed similar results to what we saw with the Skull Canyon NUC in Windows.

We moved on to Linux using the same Ubuntu 17.10 build from the i7-7700K review. After a series of tests we also discovered that using the eGPU in Linux required us to only use it and the Intel integrated graphics. Attempts to disable the integrated GPU and use instead a Radeon HD6450 led to very bad results. We also realized that in its current fashion it seemed easier to use only the open source driver and not NVIDIA’s discrete driver. Once that was all sorted out it was time to test and see if it would utilize the GTX 1080 instead of the integrated graphics. A quick launch of Unigine’s Heaven benchmark put that to rest once and for all.

The last thing we tested as part of the functionality setup was an attempt to “hot plug” and either remove or add the Node while the PC was running. This caused the PC to lock up, but fortunately shutting down the PC and either plugging in or removing (cold plug) worked without issue. Now that we had the main functionality working it was time to see how well this performed.


NVIDIA Benchmarks

As normal we conducted the tests using the Phoronix Test Suite. You can see all of the results from testing, including incomplete comparisons, at the OpenBenchmarking.org site. Two benchmark suites returned viable results: JuliaGPU and LuxMark. Since Luxmark appeared to give similar results both in eGPU (using the AKiTiO Node) and Direct (seated into the PCI-E x16 socket on motherboard) I’ll note where we saw notable differences instead: JuliaGPU.

NVIDIA

In both cases the eGPU mode saw a roughly 20% decrease in performance. Given that the Thunderbolt 3 connection is supposed to be only running on PCI-E x4 this is actually quite impressive – especially when taken into account the Luxmark benchmarks saw near identical performance in both cases. When we tested gaming performance in Tomb Raider and Deus Ex: Mankind Divided we got a similar set of results. In the case of the older Tomb Raider we see little difference. In a newer game, such as Deus Ex: Mankind Divided, the difference between eGPU and direct is once again noticeable. In this gaming benchmark the reduction was lower, ranging between 12%-15% instead of the 20% we saw in JuliaGPU.


AKiTiO Node Final Thoughts/Conclusion

Thunderbolt 3 external graphics support is a great concept that should finally start seeing its day in 2018. It’s a shame that it has taken this long to get there; the barriers in cost alone made it unlikely that those who could probably use it the most – families and students on budgets – could afford to use it. But imagine a scenario where a college student wants to take a 2-in-1 or notebook PC around to class to take notes and study – but then wants the additional graphics horsepower to either perform calculations (such as OpenCL or CUDA) or procrastinate with some gaming. For the moment virtual desktops that support that sort of need/usecase are still too expensive for the casual user; but if Thunderbolt 3 starts seeing massive implementation across the price spectrum, solutions like the AKiTiO Node can easily help provide the horsepower when they need it. Desktop users probably won’t get as much of a benefit out of it and, quite honestly, a person who has the money to spend on a Skull Canyon NUC could just as easily build a LAN-party worthy PC within the same budget.

If you need scalable graphics solutions in a workplace environment, though, where the gain in performance can or has to be shared among various people for multiple asynchronous tasks, then this might be a great solution. There will probably be other great use cases that arise the more this gets out in the open. And if you’re looking for an eGPU enclosure as one such solution, this one certainly merits consideration among the other choices out there. Most important of all – if you were concerned whether or not you could get eGPU working in Ubuntu? The answer, in short, is yes! Just know that if run into issues it may be wise to do a check in Windows, even if temporarily, to make sure it works there.

So now that you know how eGPU works in Linux, does this change your thoughts on getting one? Or perhaps you have one already and have some pointers to share with our readers? Sound off in the comments below or feel free to join the conversation on Twitter, Facebook or Google+! 

Editor’s Note: The AKiTiO Node was provided to XDA for review purposes.

Leave a Reply