Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
[doublepost=1536497297][/doublepost]Update II: Full success on High Sierra!
Got the MBP4,1 up and running with eGPU (GTX650) with High Sierra 10.13.6 and full graphics acceleration on both internal and external (eGPU) screens. The GTX650 also reports metal compatibility with feature set GPUFamily1 v3 !!
Up next: The Valley Benchmark on eGPU! (folks, I´m so excited).

On Mojave Metal feature set is GPUFamily1 v4 , probably you could achieve the Metal feature without patching any Nvidia extensions, or through an official Web Driver, or simply copying all the Nvidia kexts from HS 10.13.6 into Mojave and see what happens.

The test is very quick, if you see translucent menu bar in "light mode" you did it, unless the eGPU is overridden by the internal GPU as primary Video Card, so maybe you can exploit the eGPU performance features but not the GUI features in the main macOS, just a supposition.

Metal was introduced since El Capitan, so in High Sierra probably that GPU is Metal 2 supported too.

edit:
Not sure about Metal2:
https://www.evga.com/products/specs/gpu.aspx?pn=691c7442-d1ab-479f-90e7-2e169f8c9271

this GPU has OpenGL 4.4 introduced in 2013, while Metal was introduced in 2014.
 
Last edited:
On Mojave Metal feature set is GPUFamily1 v4 , probably you could achieve the Metal feature without patching any Nvidia extensions, or through an official Web Driver, or simply copying all the Nvidia kexts from HS 10.13.6 into Mojave and see what happens.

The test is very quick, if you see translucent menu bar in "light mode" you did it, unless the eGPU is overridden by the internal GPU as primary Video Card, so maybe you can exploit the eGPU performance features but not the GUI features in the main macOS, just a supposition.

Metal was introduced since El Capitan, so in High Sierra probably that GPU is Metal 2 supported too.

edit:
Not sure about Metal2:
https://www.evga.com/products/specs/gpu.aspx?pn=691c7442-d1ab-479f-90e7-2e169f8c9271

this GPU has OpenGL 4.4 introduced in 2013, while Metal was introduced in 2014.
and @Larsvonhier

Yes and I would also be interested in your results in this Mojave configuration:

  1. *Tesla* kexts
  2. shim (of course)
  3. with or without IOAccelerator* from HS
Good work.
 
Last edited:
Now the clips. Same setup as for the benchmark scores. Enjoy!
(The greasy resolution is due to iMessage and facebook re-encoding. Take my word for it, it´s super-sharp onscreen in 1280x1024).

Ooh - GPU acceleration is sweet isn't it...

Also found these CoreDisplay settings are interesting to tweak with :

To turn metal OFF...
Code:
sudo defaults write /Library/Preferences/com.apple.CoreDisplay useMetal -boolean no
sudo defaults write /Library/Preferences/com.apple.CoreDisplay useIOP -boolean no

Others ...

Code:
sudo defaults write /Library/Preferences/com.apple.CoreDisplay useIOP_onNVIDIA -boolean yes/no
sudo defaults write /Library/Preferences/com.apple.CoreDisplay useIOP_gamma_onNVIDIA -boolean yes/no
sudo defaults write /Library/Preferences/com.apple.CoreDisplay enableWSAA_onNVIDIA -boolean yes/no
 
and @Larsvonhier

Yes and I would also be interested in your results in this Mojave configuration:

  1. *Tesla* kexts
  2. shim (of course)
  3. with or without IOAccelerator* from HS
Good work.

GTX 650 is Kepler Architecture, so in this case @Larsvonhier doesn't need Tesla kexts, probably "shim" is needed, while I am agree on using IOAccelerator from HS.

NVDAGK100Hal.kext , NVDAResman.kext and all their dependancies from HS are required in Mojave, I guess.

https://en.wikipedia.org/wiki/GeForce_600_series

edit:

NO, using IOAccelerator from HS won't work, the minimum working IOAccelerator framework is the one from Mojave beta 1.

While if you were referring to those into the Extensions folder then they are replaceable:

IOAccelerator2D.plugin
IOAcceleratorFamily2.kext
 
Last edited:
GTX 650 is Kepler Architecture, so in this case @Larsvonhier doesn't need Tesla kexts, probably "shim" is needed, while I am agree on using IOAccelerator from HS.

NVDAGK100Hal.kext , NVDAResman.kext and all their dependancies from HS are required in Mojave, I guess.

https://en.wikipedia.org/wiki/GeForce_600_series
Thanks for co-thinking this through and your suggestions, that´s greatly appreciated and exactly what makes this forum so helpful.
I´ll definitely try this in Mojave and get back with results, although first I´ll do whatever tests under High Sierra (metal benchmarks come next).
 

Attachments

  • IMG_8833.jpeg
    IMG_8833.jpeg
    326 KB · Views: 271
  • Like
Reactions: jackluke
I doubt there is a third-party eGPU adapter suited for a Thunderbolt 1 port, maybe is needed a Thunderbolt-to-USB3.0 adapter, while the main thread external GPU seems especially fitted for PCs (lacks the TB1 port) while has only an HDMI-MiniPCIExpress cable on which should be attached something like a USB3.0-to-MiniPCIex(male), then a Thunderbolt 1 should act as an USB3.0 (theorically 5Gb/s bandwitch) eGPU port.

edit:
Or for the owners of a Mac with only a TB1 port, something like this may work too: http://www.sonnettech.com/product/echoexpresscard34thunderbolt.html
to be used in conjunction with the eGPU Expresscard 34mm adapter.

if this 2011 MBP has the wifi slot (like the OP describes) and it also has a TB1 port... then using some tricks from the OP (for the wifi port) and egpu.io (for the TB1 port) I would imagine a dual eGPU scenario could be on the table for this particular computer (2011 17" MBP) with one at x1 and one at x4. That is, if you can get this computer running Mojave 10.14 and find a workflow to take advantage of 2 eGPUs). Just a thought.
 
Thanks to suggestion of @jackluke I have now something to try next weekend:

He wrote -
I think you have to use the same kexts for your GTX650 to enable full acceleration on Metal GPUFamily1_v4 in your Mojave beta with eGPU :

GeForce.kext
GeForceAIRPlugin.bundle
GeForceGLDriver.bundle
GeForceMTLDriver.bundle
GeForceVADriver.bundle
NVDAGK100Hal.kext
NVDAResman.kext
NVDAStartup.kext
IONDRVSupport.kext
IOGraphicsFamily.kext
 
  • Like
Reactions: jackluke
Thanks to suggestion of @jackluke I have now something to try next weekend:

He wrote -
I think you have to use the same kexts for your GTX650 to enable full acceleration on Metal GPUFamily1_v4 in your Mojave beta with eGPU :

GeForce.kext
GeForceAIRPlugin.bundle
GeForceGLDriver.bundle
GeForceMTLDriver.bundle
GeForceVADriver.bundle
NVDAGK100Hal.kext
NVDAResman.kext
NVDAStartup.kext
IONDRVSupport.kext
IOGraphicsFamily.kext

Unfortunately, no change when I take these kexts from 10.13.6 and re-build the kernelcache.
Under Mojave, the eGPU is still not accelerated.

Will experiment further on weekend to come.
 
  • Like
Reactions: TimothyR734
Fits perfectly well inside the 20" iMac in the Airport card slot, recognized out-of-the box in High Sierra and Mojave.
The flat cable can be led out through the RAM slot on the bottom of the housing, card itself can be held down by a short sheet metal (the adapter is only 1/2 size of the wifi card), see photos.
 

Attachments

  • IMG_8842.jpeg
    IMG_8842.jpeg
    1.6 MB · Views: 445
  • IMG_8845.jpeg
    IMG_8845.jpeg
    844.3 KB · Views: 551
Last edited:
Received my first two compact power supplies yesterday: 12V, 10A - sufficient for cards of the computing class like the GTX650.
I´m about to order the first experimental housing that will contain the power supply, card and adaptor.
Dimensions (for 1/2 long GPU cards) approx. 185x155x95mm / 7.3x6.1x3.75". This seems small enough to me to be placed near any MacBook/iMac without obstructing day-to-day work (that´s why I´d like to stick to small form factor GPU cards). Btw, cable length between eGPU box and computer will be close to 65cm (25") allowing flexible positioning on the desk.

Next steps will be to neatly arrange everything inside, see if/what additional fan is needed and finalize the production silk prints for the first run.
 

Attachments

  • IMG_8850.jpeg
    IMG_8850.jpeg
    1.5 MB · Views: 265
Last edited:
Here are the iMac (8,1) benchmarks with internal vs. external GPU.
(sidenote: Done with the new 120W supply, good stress test for that component.)

Even more impressive than the already mindblowing MacBook Pro 4,1 results!
 

Attachments

  • IMG_8852.jpeg
    IMG_8852.jpeg
    3.8 MB · Views: 288
  • IMG_8854.jpeg
    IMG_8854.jpeg
    3.4 MB · Views: 367
@Larsvonhier, show your stuf on https://egpu.io ! I love what you're doing!
Wow, great extensive site - thanks for the link, didn´t know that one. Feel free to spread the word over there with a link to this thread.
I´ll definitely post infos there myself as soon as there is some kind of finished setup (case, driver support for Mojave)!
 
Last edited:
  • Like
Reactions: TimothyR734
This is very cool, although not very practical.

Kinda want to try with my MBP 5,1 but I'll probably regret the money spent on it.

ExpressCard was such an underused connector despite being essentially an external PCIe connector years before Thunderbolt was even designed.
 
  • Like
Reactions: TimothyR734
This is very cool, although not very practical.

Kinda want to try with my MBP 5,1 but I'll probably regret the money spent on it.

ExpressCard was such an underused connector despite being essentially an external PCIe connector years before Thunderbolt was even designed.
I see it that way: If you do not have to spend 1k (US$, €) like for Thunderbolt products (rather very few 100 bucks for a finished product or around 100 for bare components) to get programs running that won´t otherwise - it´s more than just cool: I´d regard it useful, productive, economical, ecological, you name it... but I don´t see why it should be more or less "practical" than Thunderbolt eGPUs.
My goal is to make it available as a solution/kit/product for everybody at every skill level.
 
Last edited:
I see it that way: If you do not have to spend 1k (US$, €) like for Thunderbolt products (rather very few 100 bucks) to get programs running that won´t otherwise - it´s more than just cool: I´d regard it useful, productive, economical, ecological, you name it... but I don´t see why it should be more or less "practical" than Thunderbolt eGPUs.
My goal is to make it available as a solution/kit/product for everybody at every skill level.

I mean, yeah, this isn't less practical than Thunderbolt per se. What I was more referring to was as a solution for running Mojave. If you're dependent on this then your MBP is no longer portable...
 
I mean, yeah, this isn't less practical than Thunderbolt per se. What I was more referring to was as a solution for running Mojave. If you're dependent on this then your MBP is no longer portable...
Yes, I agree - but Mojave and (High)Sierra run pretty well for day-to-day tasks on those old machines.
eGPUs would be more like heavy-duty docking station add-ons for home or office use...
And iMacs are another case altogether, very stationary - and also good eGPU machines with the solution here!
 
  • Like
Reactions: TimothyR734
Thanks to suggestion of @jackluke I have now something to try next weekend:

He wrote -
I think you have to use the same kexts for your GTX650 to enable full acceleration on Metal GPUFamily1_v4 in your Mojave beta with eGPU :

GeForce.kext
GeForceAIRPlugin.bundle
GeForceGLDriver.bundle
GeForceMTLDriver.bundle
GeForceVADriver.bundle
NVDAGK100Hal.kext
NVDAResman.kext
NVDAStartup.kext
IONDRVSupport.kext
IOGraphicsFamily.kext

When you replaced with HS kexts, what do you read on verbose mode booting, you need to read this string:

NVDAGK100HAL loaded and registered

Try replacing all those kext again from HS while keeping IONDRVSupport.kext and IOGraphicsFamily.kext from Mojave.

From what I understood, your eGPU is working full accelerated but doesn't fix the grey Finder menu in "light mode" ? Probably you should make that Nvidia GTX recognized as primary GPU, but I don't think it's feasible, at least won't be easy.
 
When you replaced with HS kexts, what do you read on verbose mode booting, you need to read this string:

NVDAGK100HAL loaded and registered

Try replacing all those kext again from HS while keeping IONDRVSupport.kext and IOGraphicsFamily.kext from Mojave.

From what I understood, your eGPU is working full accelerated but doesn't fix the grey Finder menu in "light mode" ? Probably you should make that Nvidia GTX recognized as primary GPU, but I don't think it's feasible, at least won't be easy.
I´ll try that (again), thanks!

Full acceleration is only reached on High Sierra (OpenGL/CL/Metal), not on Mojave yet. Mojave only detects the eGPU and uses it (expanding the Finder desktop etc.). The idea with the "primary" screen came to my mind also, and does work under High Sierra in so far as certain programs depend on which screen they are run/started. Some parameters migrate to the main screen: i.e. Metal benchmark or Heaven benchmark seem to take their computing ability from the selected "main screen". A step further down would be to patch the boot EFI to make the eGPU the primary GPU from boot time on - too complicated for me (would be a task for @dosdude1) and I only see risks and no advantages here...
 
Fits perfectly well inside the 20" iMac in the Airport card slot, recognized out-of-the box in High Sierra and Mojave.

This is really good news. I hope it will be possible for my iMac 7,1 too (hopefully with simple installation and setup guides like the patches from Dosdude). Losing Bluetooth is not good for me (i often use Airdrop, for example), but maybe I will be able to use a Bluetooth dongle instead.
 
This is really good news. I hope it will be possible for my iMac 7,1 too (hopefully with simple installation and setup guides like the patches from Dosdude). Losing Bluetooth is not good for me (i often use Airdrop, for example), but maybe I will be able to use a Bluetooth dongle instead.
afaik you won´t lose BT functionality, as it is implemented on a second (smaller) piggy-back-board in your iMac, so you just have to replace the WiFi card with some external USB solution or by ethernet cable.
 
  • Like
Reactions: TimothyR734
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.