Hacker News new | past | comments | ask | show | jobs | submit login
Macbook eGPU Redux: Sticking a GTX 1080 in an AKiTiO Thunder2 (archagon.net)
125 points by archagon on July 29, 2018 | hide | past | favorite | 58 comments

If you must have a macOS + nVidia GPU, I am running 2x GTX 1080Ti's for ML/DL on a Hackintosh. They work flawlessly and I also enabled the iGPU on i7-8086 coffee lake CPU. So, now my monitors are driven using iGPU and they keep the GTXs free to do other heavy lifting (Octane Rendering, Tensorflow, C4D, etc.)

Hackintosh community is amazing and I have a blazing fast 5Ghz 6-core machine that beats the pants off any Mac barring the ones that cost over $10k.

Let me know if anyone wants my EFI.zip & exact specs.

I've been considering going back to having a desktop on my desk and carrying a lightweight laptop; versus using a desktop-replacement at both my desk and on the move.

I was considering a 5K iMac (and I may still go for one; it's still a great 5K display with a decent computer thrown in) but I'll admit, the Hackintosh route intrigues me.

I remember in my last few years of Highschool I had an original EeePC running Lion: worked great, until the SD card decided it didn't like being thrashed and went a bit melty on me.

Roughly what did your setup cost, and how much of a pain is it to maintain?

Link to full specs? It's been years since I've maintained a ?Hackintosh and getting sleep/audio working has always been a nightmare.

Specifications (I am just listing critical components):

  OS: MacOS High Sierra 10.13.6
  Intel i7-8086k (or i7-8700k)
  64GB DDR4 3200 RAM - G.Skill Trident Z 
  Gigabyte Z370 Gaming 5 Motherboard
  2x GTX 1080Ti
  1TB Samsung 960 Pro NVME SSD
EFI.zip: https://www.dropbox.com/s/yazadrzjx3k5ghx/EFI.zip?dl=1

In order to install, follow this Youtube guide. I am using APFS file system, not HFS+: https://www.youtube.com/watch?v=8jKtfMWinvo

When you have a bootable USB drive, copy all files from my EFI/CLOVER/kexts/Other/* to the bootable drive's EFI/CLOVER/kexts/Other/*

Do not copy the full EFI folder on your bootable install USB stick. Just install the OS first (make sure you're using iGFX video output in BIOS). Once the system is up, copy and replace the whole EFI folder. Initially, the system is going to be using iGPU. Install nVidia drivers using this guide, but most of the items are already done for you in my EFI.zip. Still follow this line by line: https://hackintosher.com/guides/properly-install-nvidia-driv...

Use CloverConfigurator to setup a new Serial number in SMBIOS section for iMessage, etc.

BIOS settings on the Gigabyte: https://hackintosher.com/builds/gigabyte-z370-aorus-gaming-7...

You can OC after everything is working well. Sleep, USB3.2 ports, USB-C port, wifi, audio, ethernet, all PCIE devices, both GPUs, etc! Everything is working!

Dual Monitors: I have 2x 4k monitors, one hooked up to the motherboard Display Port and the other hooked up to the 1080Ti in the 1st PCIe slot. If I only want to use nVidia cards, then I hook both monitors to the 1080Ti in the first slot. Splitting both monitors on each 1080Ti is glitchy. Either connect both to the same DGPU or connect one to iGPU and the other to a DGPU.

I removed the Gigabyte wifi/bluetooth module on the motherboard and replaced it with the Broadcom BCM94360CD chipset you can buy on eBay ($69) for handoff, airdrop, etc. Stick it in an empty 4x PCIe slot.

Conclusion: It is a pain in the ass to get it working, but if you use my EFI.zip, I have installed this thing on another PC just today. I have liquid cooled all components including both GPUs - I can't believe this is a thing!. I also run linux and Windows triple boot in Clover Bootloader. It is so beautiful.

Once it works, buy a copy of CarbonCopyCloner (CCC) and clone your main OS on another drive. This way, if a future update fucks up your installation, there is always a bootable backup. When you make a CCC backup, make sure to manually copy EFI folder into it. Test if your backup works as a bootable drive (it should be verbatim copy, just need to sign into your iCloud again).


I'm very interested in this. Please share.

Has iMessage been made to work on hackintosh or is it still locked to Apple hardware?

Yup, iMessage works fine.


What would it take for hackintosh users to move to Linux? You'd think we'd get enough Linux users asking for Adobe products these days... And with Apple's hardware choices lately creatives could be killing it on Linux + whatever HW they can afford. I think one company - like Adobe - migrating over would create a huge domino effect.


I got a eGPU too for machine learning work. I have a 1080ti which I put in the Akitio Node Pro. Its nice because it has a handle on the top, is portable, and sits on my desk at home.

I also have a desktop machine that I built with another 1080ti in it. I use the desktop machine as a remote machine for longer running jobs, but like the convenience of running files directly on my machine.

If anyone has questions, I'm happy to answer.

I heard the eGPU gets throttled memory wise because there are less pcie lanes. does this have a big impact on ML performance?

It gets 70-80% performance. I’m not sure about throttling. It’s definitely not 1-to-1 based on my desktop, but it’s so much faster than the CPU.

I would hope not; any reasonable implementation would try to keep as much data on-board or on-chip as possible.

Yes, but the bulk of bandwidth should be eaten up by intermediate results rather than the input data e.g., for imagenet, 224x224x3 tensors are tiny compared to the intermediate activations that have to be moved around (and saved during training).

Hopefully you would also only copy your model over once.

I see, but I think for areas like Reinforcement Learning or sequence models though eGPUs would be significantly slower since you have to constantly shuttle new data into the GPU from your computer.

When connecting on Windows the eGPU seems to be using a PCIe x8 slot which may limit the GPU.

Do you have a blog post or could recommend one that covers your setup? Particularly any software that needs to be installed to get ML setup properly. I’m putting together an eGPU together in the near future and have read quite a bit, however any pitfalls that could be avoided would be helpful to know up front.

I don’t have one, but based on your request - I’ll write one.

The biggest issue is OS X version limits. I’m on a version two points back due to the NVIDIA hacks needed. There’s a whole community forum on egpu.io that goes into details.

The article mentions it at the bottom briefly, but Gigabyte's gaming box basically does what the hacked together Thunder 2 setup does and at a lower cost ($100 premium over the graphics card alone): https://amzn.to/2NPyXEM.

It also comes with Thunderbolt 3 instead of 2. I'm not sure why the author simply buy that unit and be done with it since it's probably cheaper than the combined costs of all his parts and doesn't have a giant desktop power supply sticking out the back.

Author here. Unfortunately, according to numerous accounts[1], the TB3 to TB2 adapter does not work when you're trying to use an Nvidia eGPU with a Macbook that has an Nvidia dGPU. (Mine has the 750M.) Additionally, the gaming box uses a custom card (so less resale value) and seems to have limited support for other GPUs (thus reducing its use as a general-purpose case).

But yes, for most people, it's almost certainly the better buy. (Though it's still not officially supported, apparently.)

[1]: https://egpu.io/forums/mac-setup/problem-setting-up-aorus-gt...

Every time i see an article like this I get my hopes up that it's about the eGPU behaviour on Mac OS. Turns out it's yet another Bootcamp article :(

Works fine on macOS. Running a Akitio Thunder 3 with RX570 on a MBP 2015 13" using a TB2-TB3 adapter, and on a MBP 2017 (also 13") without the adapter. On the TB3 model it's plug and play, on the TB2 model you have to patch DisplayWrangler to make it accept the lower bandwidth TB2 as it was patched out by Apple. After that, the older MBP is plug and play too.

I have problems still with hot disconnecting the eGPU if there are monitors plugged in to the eGPU. I can hit plug in, but can’t get a stable hot disconnect. Is that working for you?

I can hot plug-in & plug-out as well as the normal plugged-in while booting.

I tend to have the MBP in clamshell mode and connect my display to the eGPU (4K LG monitors).

When I not-so-nice hot-unplug without telling the OS, it goes to the login screen on the internal display + internal GPU, and when you log back in the session is restored with a stern warning that hot-unplugging without telling the OS is bad.

Note: by default you get no boot screen from EFI on the eGPU on TB2 models, never did a boot on a TB3 MBP with the eGPU attached in clamshell mode, probably doesn't do it there either. I suspect something with GOP or some other EFI graphics protocol not enjoying TB3-TB2 adapters. Not much of an issue for me; I can either do a FileVaul2 unlock on the internal display (or blind), or do an fdesetup authrestart to bypass FileVault2 login on the next reboot.

hmm. definitely not my experience there. When I say "safe eject eGPU" it's as if my machine tries, then quits all my applications, and then starts disconnecting the displays, and then detects the eGPU and displays and immediately reconnects to everything.

I am using a TB2-3 adaptor and a mid 2015 MacBook pro with the same script you are. I have an Akitio Node with an RX580. Mostly, it's great, but I basically need to shut down to efficiently disconnect.

FWIW, having an eGPU on a laptop makes you really appreciate how few things are really GPU accelerated in day to day life. (cough, cough, Fusion360 and Lightroom).

Is this on High Sierra? I have the same machine and had read that TB2 was not going to be supported/deliberately disabled so I sort of gave up hope of getting eGPU working.

Does it work with the internal display?

Yes, but due to the TB2 bandwidth limitation it's not as good as an external screen directly attached to the eGPU. But it's of course still much faster than whatever GPU came with the MBP when it was designed all those years ago.

Or no GPU, because I buy 13 inchers with integrated graphics for portability :)

TB2-TB3 adapter?

Yep, that's the one. I can recommend it to anyone who needs an adapter (bi-directional) for Thunderbolt, works with the NUCs I have too, as well as an Asus motherboard with TB3 and a Dell laptop I happened to have around the time the adapter came in. Doesn't have DisplayPort, only TB's main transfer mode (basically TB frames with PCIe in it).

I've read it doesn't work if both your eGPU and dGPU are Nvidia. (This is mainly a problem with the 750M Macbook.)

It’s happening, but slowly. High Sierra seems to support many AMD GPUs over TB3 out of the box. (I was more interested in gaming performance, though.)

SC2, PUBG, the new in-progress Unreal Tournament etc. work fine, even on midrange 2015 hardware. You'll get about 55FPS on 2k resolution. Basically, as long as you get a recent GPU, any reasonable i5 or better machine gets game-ready. Steam, Origin and Epic games all work with it out of the box.

And you can if needed reboot to windows and use it as a game-OS for unported games.

Cost-wise, it's a no-brainer for when you enjoy macOS and portable computing, adding a PCIe-TB3 box and a GPU is well below the cost of a dedicated gaming PC. If you wanted a single fixed system, a dedicated PC would be the more economical choice, but economics aren't always the endgame. Especially if you simply enjoy macOS and don't care for hackintosh setups; it leaves you with few options for hardware and this is a nice solution.

> the new in-progress Unreal Tournament

Sadly it's no longer in progress, the last update was over a year ago and the GitHub repo is similarly dead.

Fortnite suddenly becoming the most popular game in the world changed Epics priorities somewhat.

iirc the Unreal Tournament team was the one who made the battle royale mode for Fortnite, so I don't think they're going back to UT anytime soon sadly.

A few demanding-ish 3D games have Mac versions. I have the two Metros for example. Although they were demanding when the nvidia 7xx was new...

We need Adobe and just a few apps to support Linux and we'll create a cascading effect that will lower the cost and increase the power and freedom of many users laptop and desktop choices!

I recent got the Intel nuc with the amd Vega chip. It is small and quite powerful. Much cleaner setup than this setup and less than 1300 USD with 32gb of ram and a 512gb ssd. Play beatsaber all the time on it with a vive and other steam games at 4k on the tv.

It works great too, here's my GTX 1080 MSI 'Gamer OC Edition' running as an eGPU from back in 2016: https://i.imgur.com/jZgugWO.jpg

eGPU, huh, that brings back memories. So much time spent on trying to get a 9800GTX to work via ExpressCard on a laptop, the community work on the whole thing was amazing.

It still is just it moved from the notebookreview thread to https://egpu.io

and here I am in 2018 using my Lenovo X220's ExpressCard slot to run a GTX 960, only requiring plug-and-play.

I would love to have more details about your setup !

Is it on Windows ? Linux ? OSX86 ? When you say plug & play, that means you're not required to reboot or do anything special at all ?

So you have to change all your BIOS settings for PCIE ports to enable hotplug, then you just plug in the EXP-GDC Beast into the ExpressCard slot. Works on both MacOS 10.12 and Windows 10.

It's a Lenovo X220 ThinkPad with the BIOS modification described here: http://x220.mcdonnelltech.com/ The BIOS mod allows me to run 16GB RAM at 1866 MHz. Also has a 500GB SSD running where the 3G card used to be, and swapped out the stock hard drive for another 500GB SSD.

from time to time I wonder about the cost benefit of using an eGPU vs just sshfs+EC2's G2xLarge and I don't think there's ever been a time in the past year where it was more worth it to have an eGPU to do ML dev work.

In isolation, it's probably not, but most of the compute-intensive researchers I know also have a need for a reasonably powerful laptop anyway. From there, it's not a particularly expensive hop to getting desktop-grade performance at your desk without needing an entire different machine. That, for me, is where the eGPU value proposition makes sense.

Meanwhile, no OpenGL, no DirectX, no Vulkan. Indeed, they are “Pro” machines.

The hardware has nothing to do with those software libraries if that's what you are getting at. And when using Windows or Linux, all three are available. On macOS, you currently only have OpenGL and Metal, and OpenGL is deprecated.

This does however not mean that you can't use the other API's, it just means that when you are using macOS, you'll have to bring the API's with you, and that is totally possible.

In most cases, you're not using those libraries directly and using an engine instead, and most popular engines have support for the bigger API's, including Mantle, Metal, DirectX, OpenGL, Vulkan etc. You simply select the build profile of choice (or make a build that has it all) and build it to taste.

Please, don’t spread misinformation. macOS has not supported latest OpenGL for quite some years. Linux is not supported either, by the way.

On top of that, if I buy a “Pro” machine, I want everything available and as much choices as possible; and I want them on OS X, not on Windows.

As for Metal, it is just Apple leveraging iOS marketshare. Nothing more, nothing less. It is a nice API, but one that nobody asked for.

Finally, speaking of engines, most productivity software does not use them, so your point is moot.

The reality is that the software aspect of the Mac ecosystem is a mess since Jobs died; and also the hardware is a mess for the last couple of years. Even XCode and related tools are nowadays not top-notch compared to Linux-based ones and modern Visual Studio.

By linux based ones, do you mean things like bazel? What tools are specifically linux based?

Most development software in general: debugging tools like Valgrind, niche compilers, servers, libraries not-so-well-tested on macOS, etc. In general, macOS is currently in a sad state of affairs; when it could have been the best development platform for most use cases. I actually had to switch to a Linux setup for my research because of this. Unbelievable if you’d asked me 5 years ago.

If we could get Adobe and a few other companies to port their software to Linux - even if it costs as much - then I think there would be a cascade effect that decreases the cost desktops & laptops, while increasing the quality. You wouldn't need much more than a great windows manager after a main proaudio & provideo app is ported. I highly doubt they would be that difficult to port. Maybe +2 engineers per program per year max. And that extra bread would be more than enough to cover their salaries! It feels like were further off from ideal workstations these days, but we're not really... It's just that Apple & Microsoft have been pushing various types of "power users" away from what they've been asking for all along. Finally let some group of us move to Linux comfortably. Linux has browsers, productivity & office, music & video players, communication, utilities, and even games to some degree - covered. But we need pro-audio & pro-video areas covered!

At this point, I think you should be rooting for the 'year of the android desktop' more than the 'year of the linux desktop' if you want low cost OSes.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact