So here's the initial version of a little write-up on what I've been doing on the external GPU front on my 2007 MacBook Pro lately (per
@TheShortTimer's request
)
1. Why on earth would anyone want to do that?
Two reasons IMO:
a. It's simply fun to push these old machines not to, but beyond their limits.
b. It allows older MacBook Pros with an ExpressCard slot (15": early 2006 to late 2008; 17": all models) to gain additional graphics power and more (modern) display outputs, allowing to drive more and higher-resolution external displays. None of the machines this applies to have the ability to run one or more 3840×2160 (let alone even higher-resolution) monitors at 60 Hz, for instance. With an external GPU capable of doing that, they gain the ability.
2. But external GPUs are only supported via Thunderbolt 3. And on High Sierra or later versions!
So what?
That is what is
officially supported. In my experience, they work just fine via ExpressCard and on older versions of Mac OS X: I've tested it going back to Leopard. One doesn't even need any patches like onThunderbolt 1 or 2 Macs for Thunderbolt-attached eGPUs to work.
3. What about... performance?
ExpressCard exposes one PCI-Express lane (“×1”). For version 1.0 systems (like mine), this means a maximum bandwidth of 250 MB/s. So don't expect great performance and it won't transform the MacBook Pro into a high-end gaming machine by any means.
4. What graphics cards can be used?
This setup basically behaves like a Mac Pro (1,1/2,1 in my case), so any GPUs that are supported by the version of Mac OS X to be run can theoretically be used. It's worth noting that AMD Radeon HD 6000 series and later cards, as well as Nvidia “Kepler” a.k.a. GeForce GTX 600/700 series, are automatically initialised by the drivers built into Mac OS X, so there's no need to flash them or do anything in terms of initialisation — they just work. But given bandwidth constraints (see last paragraph), using high-end GPUs doesn't make a lot of sense since they'd be bottlenecked.
5. The Setup
At the heart of the setup sits an ExpressCard-to-PCI-Express adapter. I'm using an
EXP GDC Beast. This connects to the ExpressCard slot and allows attaching (theoretically) any PCI-Express card to an ExpressCard slot. It needs external power (12V DC), which can come from a barrel-plug type power supply for low-power cards and very frugal GPUs, a 220W Dell DA-2 PSU for beefier GPUs, or simply an ATX PSU for the most power-hungry GPUs. The kind of PSU necessary solely depends on how power-hungry the card to be used is. I've been using older ATX PSUs which works but gets messy with all the wires, but I also have a Dell DA-2 waiting to be put to the test, since it's tidier.
The following picture shows the working setup with a 380 watts Antec ATX PSU, an AMD Radeon HD 7770 and an 21.5" LG UltraFine 4K (4096×2304) display being run at full resolution in OS X Mavericks (10.9.5) — which is itself a totally “unsupported”configuration.
6. Working configurations on 2007 MacBook Pro via ExpressCard
- AMD Radeon HD 6850 or 6870: Snow Leopard, Lion, Mountain Lion, Mavericks, Yosemite, El Capitan
- AMD Radeon HD 7770: Mountain Lion (caveat: no 3840×2160 modes), Mavericks
- NVIDIA GeForce GTX 660 and 660 Ti: Mountain Lion, Mavericks, Yosemite, El Capitan
- NVIDIA NVS 510: Mavericks, Yosemite, El Capitan
7. Non-working configurations
- Late 2006 MacBook Pro: NVIDIA GeForce GTX 660 and Quadro K600 (both “Kepler”): GPUs not working (no output) or recognised properly (only as “NVIDIA Chipset Model”) in Mac OS X; only working with the generic slow VESA driver in Windows XP, crashing as soon as NVIDIA driver is installed
- 2007 MacBook Pro:
- AMD Radeon HD 7770 on Yosemite and El Capitan: system hangs as soon as any monitor is connected to the GPU (known problem not limited to eGPUs)
- NVIDIA NVS 510 on Mountain Lion: doesn't boot