Mac OS Experiences
After the successful implementations in Windows by so many users on DIY eGPU Experiences (counts now almost 1000 pg) and after users' request it's time to explore if an eGPU can be connected on a MacBook (or a Hackintosh) running OS X. Macbook with Windows 7 help will be given on the DIY eGPU Experiences thread.This thread is focused on which cards can be used with OS X, and what performance results can we expect @ Open GL applications and games.
archivedSHOULD I TRY? >>>
Q: Can I attach an eGPU on my Macbook?
A:There are some successful implementations so far on the older 15.4" C2D unibody with dGPU 8600GT which were shipped with EC slot, but older MacBooks (or Mac Mini) can run a eGPU from an internal minipci-e port using a PM3N-PE4L adapter on the wifi slot. On current 2011 MacBooks with a thunderbolt adapter you can either use Sonnet Echo Pro ExpressCard/34 Thunderbolt Adapter (PCIe 2.0) adapter plus a PE4L 2.1 or a PE3A-R modded adapter to achieve x1 2.0 or wait for Thunderbolt combatible adapter to achieve either x2 2.0 (MBA 11.6" & 13.3" and MBP 13.3") or x4 2.0 (MBP 15.4" & 17")
Successful impl. with OS X 10.6.4 was also reported on macrumors pairing a flashed HD4870 with a 15.4 C2D MacBook Pro with a PE4L-EC2C
Q: What do you gain?
A: Acceleration in Open GL apps and games and Open CL support. Integrated graphics solutions such as Intel HD 3000 do not support OpenCL. You can turn your 13' Macbook pro (or Intel HD3000 hackintosh) to an ~$1800 Macbook pro. Also you can connect 2560x1440 resolution screens to non apple hackbooks!
Q: Are all cards compatible with OSX?
A:HD 48XX 58XX HD57XX HD56XX HD68XX GTX4XX GTX5XX and older Nvidia Cards should work with minor mods or flashed bios.A list of all the available cards that have drivers working with OS X will be completed here either from user implementations on this thread or cards tested on a Mac Pro found on the web. Most cards will need some kind of tweak like adding Device ID on a specific kext or a GPU BIOS flash for less hassle. Note that if you want to use your card with OSX you should choose it carefully, otherwise you may end up spending hours to make it work. Cards coming originally with a Mac Pro are the ones that are going to work without issues at all on Macbooks but their price is a bit high.
My suggestion is ATI Radeon HD6870. In my opinion this must be the easiest card to work with.
Q: Is there Error 12 or similar issues? Do I need any special bootloader?
A: From my knowledge there are no PCI Allocation issues on OS X like in Windows so there is no maximum memory you should have for a eGPU to work, even if you have such problems in Windows.
archivedIMPLEMENTATIONS SO FAR >>>
Card
System
How to?
OpenGL
OpenCL
Port
OS X
CR11.5
Uni3.0
LuxMar
ideas?
@ x1.1 HD 4870
Macbook Pro 2007 C2D @ 2.5GHz
Flashed the card with Mac Pro 4870 image
EC
10.6.4
@ x2 HD 5870
Dell Studio 1557 i7-720QM
kizwan[/I]
30.20 fps
885
203
EC
10.7.3
@ x1 HD 5870
Dell Studio 1557 i7-720QM
kizwan[/I]
23.76 fps
632
98
EC
10.7.3
@ x1 HD 6970
Acer 5920G C2D
netkas.org[/I]
</td
EC
10.8
@ x1.2 HD 5850 Extreme
HP Probook 4530s i7-2630QM
OOB (using Chimera bootloader 1.6.4)
27.42 fps
169
EC
10.7.2
@ x1.1 HD 5850 Extreme
HP Probook 4530s i3-2310M
OOB (using Chimera bootloader 1.6.4)
21.72 fps
89
EC
10.7.0
YOUR CARD
YOUR MACBOOK/HACKBOOK
LET'S FIND OUT!
iGPU Intel HD3000
Macbook Pro 13'' i5 2011
11.49 fps
NA
iGPU Intel HD3000
Mac Mini i5 2011
11.69 fps
NA
dGPU HD6490
Macbook Pro 15 i7 2.0 GHz 2011
20.81 fps
dGPU HD6750
Macbook Pro 15 i7 2.2 GHz 2011
35.83 fps
OpenGL Test from Cinebench R11.5 using external screen.
OpenCL Test from LuxMark 2.0 using either screen [settings Scene=Sala / Mode=OpenCL GPUs only]
Unigine Heaven v3.0 Basic for Mac test 1080p on external screen.
The OpenGL Results of the 2011 Macbook Pro and MacMini are just for reference[/div]
Still under construction...
Use this thread to add your impl. or ask questions regarding pairing your eGPU with OSX. Enjoy!!!
-
archivedBENCHMARKING >>>
Tested on a HP Probook 4530s running OS X 10.7.2 equiped with a Quad i7-2630QM 8GB DDR3 RAM and Intel HD as primary graphics card paired with an eGPU with an HD5850 Extreme. Open GL test (Cinebench R11.5) showed 130% performance gain when running @ x1 1.0 (~21fps) while 200% gain when running @ x1 2.0 (~27fps) compared to iGPU (Intel HD3000 ~9 fps). [Tests @ x1 1.0 were made using a PE4L-EC kit and tests @ x1 2.0 were made using a PE3A-R.]
The above result was achieved with an i3-2310M Intel HD3000, while you can see that a with a 5850 (@ x1.1) the external screen result is ~21fps.
More results will be added
Last edited by a moderator: May 12, 2015 -
Awesome that this thread has started
.
I have a 2011 macbook pro with intel hd 3000 and nvidia gtx 560. I have searched online for drivers, but there are some sites that say downloading chameleon for example causes your macbook to stop functioning. Any idea how to get os x to recognize my card without causing any problems? -
Great job timohour for getting this thread started!
well, '11 MBP has decent dgpu as default, and bandwidth-limication seems to make other cards much weaker, making egpu not much benefitial...
Hope other mods or thunderbolt connection will solve this problem..! -
Villagetronic's own support is at Village Instruments : Support .
Considering the fact that a 2011 13-inch MBP starts @ $1199 adding ~$200 for eGPU gear still have money to buy an external screen and enjoy games @ home and 13-inch portability. -
BTW, borealiss has gotten his mba to work with a PE4L and Sonnet adapter. So this adapter does seem like a worthy purchase for 2011 macbook users. Sonnet has also released a pro adapter, having a 5.0gt/s compared to the current2.5gt/s. -
While they may have very similar functionality, it is important to recognise that the DIY eGPU community supports the DIY eGPU hardware as a voluntary service in return for a very low hardware cost. People like nando4, Khenglish, SimoxTav, kizwan, Palda and others spending a lot of their free time to support it.
The current Villagetronic offerings are a much higher 'for-profit' piece of hardware and so comes with support as part of that cost. That is available at http://www.facebook.com/VillageViDock
Of which, can I ask did you buy the product or did you get a freebie for advocacy of it with your Sonnet TB-to-expresscard adapter? -
What negative comes from putting out your information to the community? It is a DIY macos discussion thread that is meant to aid users who are wanting to use their egpu setups with mac os x.
For me, I have gotten the Sonnet echo adapter to be recognized under mac os x, but the the card does not appear in system report. It has to be that I have not downloaded the drivers for the gtx 560, but there have been threads cautioning people about downloading them on non-hackintoshes. Then again it was probably my fault for purchasing a card that wasn't known for being compatible with os x(probably should have bought a 5850 or 6870).
And I do not see how if purchasing or receiving the Vidock changes anything. I solely came here to seek information about mac os x egpus :l -
It's just that EGPU developers once suffered something close to piracy from villagetonic. So they do not like villagetonic very much...
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
-
I was really just trying to start a discussion trying to help users with a macbook use an egpu with mac os x. Hardware does not affect that question. I am also wondering how people have gotten their macbooks to work in the past with egpus. Were their cards natively supported in os x? but there has to be a way to download the nvidia drivers without causing kernel panics/using hackintosh tools.. is it possibleto trick your system into thinking it is a mac pro?
-
Regarding the macbook connected with the 4870 mentioned on the first post, the guy flashed his card with a Mac Pro's 4870 ROM. You should know that an OS X installation has all the drivers that are needed for all Apple products that support this OS X release. That means that if you take your hdd out of your MacBook and connect it to a 2009 MacPro or an 2007 MacBook Pro or any other supported Mac (not to a PowerPC) it will boot without issues loading the drivers needed. That being said, if you connect a supported gpu card to your MacBook the card will be detected and work.
The problem about your 560 (as I mentioned before your purchase) is that , it is not natively supported by OS X. That means that in most times you need to install a specific driver that includes the latest beta driver for your card. That being said we have to find somebody who have make it work on a MacPro (not a Hackintosh). As I have read GTX5XX cards are working with a minor patching on some kext files with only problem that it won't show a picture before full boot.
Could you pls post a screenshot of your System Profiler the Graphics section with your eGPU connected prior to boot? After that download that driver (I hope you have upgraded to 10.7.3) and install it. It is supposed to provide GTX580 support OTB. Post a screenshot of your System Profiler again even if your connected screen doesn't work. Do not use any DVI-VGA adapter on your card. If possible connect to the first dvi port. If it won't work we will find out what we have to change in the NVDAGF100Hal.kext to make it work. Make sure that everything is working with W7 first... -
1. Edit the Info.plist to add your GPU PCI ID.
2. Edit the kext binary file
For first attempt, add your GPU PCI ID in Info.plist file:-
Code:/System/Library/Extensions/NVDAGF100Hal.kext/Contents/Info.plist
* GTX560 Ti: DEV ID 1082
* GTX560: DEV ID 1084
HTML:<key>IOPCIPrimaryMatch</key> <string> 0x06c010de&0xffe0ffff 0x0dc010de&0xffc0ffff 0x0e2010de&0xffe0ffff 0x0ee010de&0xffe0ffff 0x0f0010de&0xffc0ffff 0x104010de&0xffc0ffff 0x124010de&0xffc0ffff 0x108410de&0xffc0ffff </string>
Code:touch /System/Library/Extensions ; kextcache -system-prelinked-kernel ; kextcache -system-caches
-
Ah this makes more sense. Heres my info.plist-
<key>IOPCIPrimaryMatch</key>
<string>
0x06c010de&0xffe0ffff
0x0dc010de&0xffc0ffff
0x0e2010de&0xffe0ffff
0x0ee010de&0xffe0ffff
0x0f0010de&0xffc0ffff
0x104010de&0xffc0ffff
0x124010de&0xffc0ffff
0x108410de&0xffc0ffff
</string>
Mine had the & in it, so I just added it to the 560 id. Also, when I put
touch /System/Library/Extensions ; kextcache -system-prelinked-kernel ; kextcache -system-caches into terminal, it shows up with this:
Bobbys-MacBook-Pro:~ EpicBlob$ touch /System/Library/Extensions ; kextcache -system-prelinked-kernel ; kextcache -system-caches
touch: /System/Library/Extensions: Permission denied
You must be running as root to update system kext caches.
You must be running as root to update system kext caches.
Any ideas how to be running at root?
@Timohour,
The only problem is that the official mac nvidia drivers only work with mac prosOn the installer a message pops up saying:
This computer will not support this NVIDIA graphics solution. -
To get root priviledge, enter this command in Terminal & when it ask for password, just enter your password:-
Code:sudo -s
-
Ok so I put the edited info.plist into the contents folder, ran sudo -s in terminal, put in what I needed, then this appeared in terminal:
"bash-3.2# touch /System/Library/Extensions ; kextcache -system-prelinked-kernel ; kextcache -system-caches
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
bash-3.2#
A message also popped up saying:
The system extension “/System/Library/Extensions/NVDAGF100Hal.kext” was installed improperly and cannot be used. Please try reinstalling it, or contact the product’s vendor for an update.
If I take the amp; out of the info.plist, this appears in terminal:
bash-3.2# touch /System/Library/Extensions ; kextcache -system-prelinked-kernel ; kextcache -system-caches
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 45.
bash-3.2# -
The "system extension /System/Library/Extensions/NVDAGF100Hal.kext was installed improperly" because the file permission is not correct. When you put back Info.plist in "Contents" folder, the file permission changed & you need to fixed it. This is how to do this in Terminal:-
Code:sudo -s chown -R root:wheel /System/Library/Extensions/NVDAGF100Hal.kext chmod -R 755 /System/Library/Extensions/NVDAGF100Hal.kext
Code:touch /System/Library/Extensions ; kextcache -system-prelinked-kernel ; kextcache -system-caches
-
What about you copy the installer off of the disk image, right-click to open it, then find and edit distribution.dist inside with textedit and change "var system_models" to match your Macbook model (MacBookPro8,1). -
Kizwan,
I am currently at a star wars marathon (be jealous) and will test if it works when I come home.
cyph3rz,
Ahh the drivers installed!D Once I get home I'll check my system and see if the card is detected. Thank you so much man I hope this works.
-
Ok well the card is still not detected. Here are some screenshots of my system profile and info.plist after downloading the nvidia 270 drivers.
Attached Files:
-
-
Command-Shift-4, then space, then click a window: Take a screenshot of a window and save it as a file on the desktop -
How do I post my screenshots? Under manage attachments in the advanced reply, it says it is not a valid image. It is a .png file. Also changing it to a .jpg did not work.
-
PS:I tried to upload a png too but I couldn't. Don't know why and it was under 2000x2000. Anyway. Upload with imageshack or other similar website. -
masterchef341 The guy from The Notebook
imgur: the simple image sharer is another good site for hosting screenshots and other images.
-
Heres my info.plist. This is after downloading the 270 nvidia drivers. I uninstalled them but can easily install them back.
Terminal after editing the info.plist without the 270 drivers. Was there anything that I was doing in the wrong order?
-
Confirm the NVDAGF100Hal.kext is loaded. If this command didn't produced any output, it means NVDAGF100Hal.kext is not loaded:-
Code:kextstat | grep NVDAGF100Hal
-
Guys i dont want to bash MacOs or anyone, just interested.
Are there games for/Is gaming possible on MacOs? -
My particular interest is Diablo 3 and Starcraft 2 and for it I rely on Bootcamp unfortunately. -
Alright so this is what I got after outputting kextstat | grep NVDAGF100Hal
bash-3.2# touch /System/Library/Extensions ; kextcache -system-prelinked-kernel ; kextcache -system-caches
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
kextstat | grep NVDAGF100Hal
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
Can't read info dictionary for NVDAGF100Hal.kext: IOCFUnserialize: syntax error near line 46.
bash-3.2# kextstat | grep NVDAGF100Hal
bash-3.2#
bash-3.2#
EDIT: After double checking the info.plist, I did not have the amp; ... When I put everything back into terminal, kextstat | grep NVDAGF100Hal did not give a response. How would I load the NVDAGF100Hal.kext? -
-
No my card is not detected. The sonnet echo adapter shows up, but the card does not (and the card is running when it's plugged in).
-
I really want to know more about this ATY_Init kext but I only found pieces of information.
For now, I know (I think) an ATY_init kext is specific for each GPU card.
@timohour: this kext comes with OS X or do we have to built it / download it? -
Also try this 5XX enabler which will automatically do exactly what kizwan told you. With this your card will probably work. -
Code:JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0. JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0. JMicronATA.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
Code:kextstat | grep NVDAGF100Hal
-
Is there any performance difference btw x1 and x2?
Also,could you provide some Open CL Benchmark? Luxmark 2.0 would be a good one. (Scene=Sala, Mode=OpenCL GPUs only)
ThanksLast edited by a moderator: May 8, 2015 -
The difference between x1 & x2 is huge. I ran a couple of benchmarks. Please see my previous post.
-
Although the difference @ OpenCL test seem huge (and even bigger from x4 or x16 setups) there will be no such real life difference if you use it for rendering videos or other images. I will only take a little longer to load the files while rendering time will be the same. Luxmark on Windows will show ~500 (with my setup) @ x1.2 so there is maybe a bug with Luxmark on OS X plus low bandwiths. I am currently looking for a more real life bench. (Final Cut X Rendering time would be great but it is an app costing "only" 1000$!!)
Thanks for adding Unigine Heaven 3.0 Benchmarks. I will add them also on the First Post. -
NVIDIA has released new drivers today for OS X Lion 10.7.4.
For those who don't know how to install it:
Copy the installer off of the disk image, right-click to open it, then find and edit distribution.dist inside with textedit and change "var system_models" to match your Mac model. (e.g. MacBookPro8,1 for MacBook Pro 13" Late 2011).
I hope it brings more enhancements and something like Thunderbolt-aware-driver to make our life easier.
At the moment someone confirms that eGPU works through Thunderbolt, I will build mine. -
Is there a way I can contact you? (I'm Fabrício from Facebook) -
-
If it doen't work fullscreen, try it windowed.Last edited by a moderator: May 8, 2015 -
If the above doesnt work there must be something in the Quartz Debug Tools (coming with Xcode, which is a huge download). I have it on my 4530s so as soon as I am at home I will test and post back.
-
Might try Screen Capture Tool. $6 on the mac app store. Records audio and in full screen.
Edit: Also, which terminal command is it to load my info.plist file? -
To record screen you can even use QuickTime X as well.
@kizwan said your info.plist is probably corrupted so you need to restore it from a backup or find what is wrong in its syntax.
If @kizwan or @timohour can confirm that this file is not unique on every Mac I can upload my untouched info.plist when I get home later. -
Better install the new 10.7.4 Nvidia Drivers. It will replace the old modified kexts with new which you have to back up and mod again
@kizwan
Well yes it does work. I will upload it here.
After you open it from Tools Enable Quartz Extreme and Quartz GL (if disabled)
Then Go Tools>Dock (or Right click on the dock) and Enable FPS History and Numerical History. That works for overall system fps meter but it can be used for Windowed apps, not sure if you can log it somewhere.
Something like that
Or enable the Frame meter from menu Window
Something like that
Download here
Won't work for Fullscreen apps. -
Hello to everyone,
I came across this thread after hearing from my brother-in-law that it was possible to make a DIY eGPU and attach it my MacBook Pro (late '08) - MacBookPro5,1. Read all of your posts but i am just clueless as how it works.
@kizwan, i saw your last post with the screen shots of Diablo 3 (which i am currently playing with my macbook pro) and i drooled all over. So, I'd like to ask if you could help me set up my DIY eGPU to my 15' macbook pro gen 5, of course at your spare time. I would greatly appreciate your help (and all the other posters on this thread - @timohour @cyph3rz @EpicBlob and anyone else who may have posted).
I have an NVidia GeForce GTX460 card with all the cords and components needed to attach to the external monitor. I just dont know how to set it up.
I also just installed the new nvidia drivers but i am not sure if if was installed correctly (even if it said installed successfully) -
Hi witinjou,
According to this, your notebook have ExpressCard slot. So, you can either use PE4L-EC2C v1.5 / v2.1 ( &) or PE4H-EC2C ( &). You also need ATX power supply (for GTX460, 15A on +12V/12V1 rail is sufficient). To set it up pretty easy:-
- Connect two 6-pin PCIe power connectors to GTX460
- Connect floppy power connector to PE4L or PE4H
- Connect GTX460 to PCIe slot on the PE4L or PE4H
- (PE4L v1.5 or PE4H) Connect PE4L/PE4H & EC2C card with mini-HDMI cable
(PE4H) On PE4H, connect mini-HDMI to first port.
- Connect EC2C to ExpressCard slot (macbook in power OFF state).
- Connect external monitor to eGPU.
- Power ON eGPU & power ON macbook.
GTX460 should work on Mac OS X. With Lion you might need this tweak to get it run better. Remember, it only running at PCIe x1 link 2.5Gb/s bandwidth in each directions (5Gb/s concurrent). Comparing to PCIe x16, there will be some performance lost when running at PCIe x1 link. Roughly, it will work at 80% from GPU full performance at best, due to limited bandwidth. Macbook with Sandy Bridge (SB) CPU support double the bandwidth, 5Gb/s bandwidth in each directions (10Gb/s concurrent). With SB chipset, performance improved a lot.
The differences between PE4L v1.5 & PE4L v2.1 & PE4H are:-
- PE4L v1.5 only support PCIe 1.0/2.0 x1 Gen1, 2.5Gb/s bandwidth in each directions (5Gb/s concurrent).
- PE4L v2.1 only support PCIe 2.0 x1 Gen2, 5Gb/s bandwidth in each directions (10Gb/s concurrent).
- PE4H support PCIe 1.0/2.0 x1 Gen1, 2.5Gb/s bandwidth in each directions (5Gb/s concurrent).
Your macbook only support PCIe 1.0/2.0 x1 Gen1, so you can use any of the three. PE4H have full-length PCIe x16 slot but eGPU will only work at PCIe x1 link. So, basically no different than PE4L.
PE4H support PCIe x1/x2/x4 link. However, I believe it is unlikely macbook support x2/x4 link because x2 link alone require hoking up PE4H to two PCIe ports (either two mPCIe ports OR ExpressCard + mPCIe):-
- PCIe port 1 + port 2
OR - PCIe port 3 + port 4
OR - PCIe port 5 + port 6
Last edited by a moderator: May 7, 2015 -
you sir, are amazing. I cannot believe how fast you replied to my post.
I was also thinking of buying either this Amazon.com: EVGA GeForce GTX 550 Ti FPB 1024 MB GDDR5 PCI Express 2.0 2DVI/Mini-HDMI SLI Ready Graphics Card, 01G-P3-1556-KR: Computers & Accessories OR Amazon.com: EVGA GeForce GTX 550 Ti 2048 MB GDDR5 PCI Express 2.0 2DVI/Mini-HDMI SLI Ready Graphics Card, 02G-P3-1559-KR: Computers & Accessories
to do this...
Also, there is no need to install any additional drivers?
DIY eGPU MacOS Experiences
Discussion in 'e-GPU (External Graphics) Discussion' started by timohour, May 1, 2012.