Jump to content

Which TB2 Macbooks allow monitors to be used on NVidia eGPUs in OSX?


MVC

Recommended Posts

UPDATING SO LEAD POST HAS CURRENT INFO

For those who don't want to read 3 pages of our guesswork, I'm going to try to do a summation. Keep in mind that

This is in regards to TB2 Macs using Nvidia GPUs only. And I am also going to include Windows info, but only if I can find it or have seen myself. I think most people find Windows easier on newer Macs and OS X more difficult. On TB1 Macs I believe the opposite was true.

TB2 Macs with trouble outputting :

Mac Pro 2013 OSX no output without eEFI card Windows 8.1 No way found yet for output

Mac Mini 2014 OSX no output without eEFI card Windows 8.1 Requires plugging in TB after chime, no eEFI required

rMBP 2014 Iris Only OSX no output without eEFI card Windows 8.1 (Untested)

Tested and shown to work with some fiddling:

- 2014 11" MBA

- 2013 13" rMBP

- 2013 15" rMBP Iris Pro + 750M (needs a reboot)

- 2014 15" rMBP Iris Pro + 750M (report that toggling gfxs status app enables)

Anyone with further knowledge or experience, please let me know tho keep this updated. Keep in mind that so far it has always been possible to have CUDA or OpenCl work on the card, just no external display output.

Below I continue with original post.

Hi, reading various threads here I have noticed that many TB2 Apple Mac machines seem to report relatively good results in Windows but frequently OS X only allows GPGPU work. As in, when using OS X you will not get output from the eGPU. This means no OpenGl, and no ability to run something like Uningine Valley benchmark.

We have been able to get around this by writing a custom eGPU EFI for specific cards, but I am curious to figure out which machines suffer from the problem.

Just yesterday I saw someone with a 2014 MBA report working screen output from a GTX750Ti so not all have the issue.

I can now report that I am able to make this combo output to at least 1 external display in OSX. If I see the bootscreens show up on external display, all is well. I only played with this for short time using an external USB drive. If the bootscreens showed up on internal display Iwould only get black on external. Oddly, I could not enter proper clamshell mode, not sure if due to external boot drive or what.

i can confirm that both eEFI GTX680 4GB and GTX7806GB functioned identically. Using a GTX980Mac Edition EFI for cMP DID NOT SHOW BOOTSCREENS AND NEVER ALLOWED EXTERNAL DISPLAY.

i think someone should track which TB2 Macs are allowing eGPU with display in OSX. We will need to find common denominator, possibility there is a blacklist buried in drivers somewhere to keep displays from initializing if they weren't announced at EFI boot.

Link to comment
Share on other sites

Reposting recovered replies to this topic lost during a Jan 4th outage:

Wow, superb discovery! <img src="http://forum.techinferno.com/images/smilies/smile.png.pagespeed.ce.HpCntQets-.png" alt="" title="Smile" class="inlineimg" border="0"> Can we now make a conclusion that your custom EFI flashed GTX 780 is the key for enabling an external <a sl-processed="1" rel="nofollow" href="http://www.ebay.com/sch/i.html?_sacat=0&_nkw=computer+monitor&_frs=1" target="_blank" title="Link added by VigLink" class="vglnk"><span>monitor</span></a> in OS X? Or is the external <a sl-processed="1" rel="nofollow" href="http://www.walmart.com/ip/Wintec-FileMate-8GB-SWIVEL-USB-Flash-Drive-Black/15074239" target="_blank" title="Link added by VigLink" class="vglnk"><span>USB </span><span>drive</span></a> required? I preferably like to keep OS X in internal <a sl-processed="1" rel="nofollow" href="http://www.amazon.com/gp/search/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=ssd&rh=i%3Aaps%2Ck%3Assd&ajr=0" target="_blank" title="Link added by VigLink" class="vglnk"><span>SSD</span></a>, it's my primary OS. I have ran Win8.1 from the external <a sl-processed="1" rel="nofollow" href="http://www.amazon.com/gp/search/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=ssd&rh=i%3Aaps%2Ck%3Assd&ajr=0" target="_blank" title="Link added by VigLink" class="vglnk"><span>SSD</span></a>, but no experience of OS X erternally yet. Would it work also from internal drive?

My remarks on models that support eGPU screen output without special EFI rom:

- 2011/2012 Mac mini

- 2013 13" MBPr

- 2013 15" MBPr Iris Pro + 750M (needs a reboot)

Confirmed not to work:

- 2013 15" MBPr Iris pro only, two TI users have said that it does not work, but they both used Maxwell card and I haven't got reply if they only tried HDMI. Nvidia web drivers do not support HDMI with 750Ti/GTX970/GTX980 cards.

- 2014 15" MBPr Iris Pro

- 2014 Mac mini

This is a Nvidia GPU specific issue, partially Mac hardware as well, and the question is where is this blacklist buried? The same problem was in Mavericks, and there I actually saw an error message in system console log as I compared to 2013 13" MBPr boot logs to find differences. I don't remember what it exactly said, but this might be useful for you to track down the reason. In Yosemite, this log line vanished. I am also beginning to believe this is made on purpose by the requirement of Apple, and Nvidia has put the blacklist to its web drivers, or it's in Apple's firmware.

And why I said Nvidia specific? Well, try any AMD card and you will be amazed. Will do some further testing before I say more. Merry Christmas to all! :)

Sorry I wasn't clear, I was only using the external USB drive on mid 2014 rMBP because it was someone else's freshly opened X-Mas present and I couldn't muck around with system files and kext dev mode and whatnot. In a few weeks once it has a few scratches and the "new" wears off it will be easier. I would actually guess that internal drive would be better, especially as it was the 5,400 rpm drive I yanked out of 2014 Mini. Beachballer's delight.

Maybe the question should be.... What TB2 Macs DON'T have issue running external display via eGPU in OSX? Seems like nMP similarly afflicted.

RE: EFI clarification

Hey, don't remember creating separate thread, maybe too many drinks at airport bar? Anyhow, it occurs to me reading my post that the whole EFI thing is very confusing, I think I need to be more clear.

When Apple went Intel in 2006 they were ahead of EFI game. They created their own version as there was no unified standard yet. It was something we shall call "EFI32". Shortly after this they decided to create a 64bit implementation, which we shall cal "EFI64". This was used on cMP (Classic Mac Pro aka, "Cheese Grater Mac Pro"). I can not speak for what was used on other lines of Mac but they also differed somewhat. AMD cards after X1900 have used something known as EBC, which will function on either EFI32 or EFI64. Note that beyond these phrases it also matter whether a rom is UGA or GOP. I won't delve into that here but it also matters.

We at MacVidCards have been creating EFI cards for use in cMP machines. Due to budding interest in getting this tech into newer Macs I got a few (OK, a dozen) Akitio boxes and started playing. I discovered that Apple has been playing fast & loose with EFI.

At some point, the Windows world went UEFI. Yes, this is supposed to be a standard but Apple has decided to shun it. These UEFI roms have included both the traditional PC BIOS as well as a UEFI rom. I can't speak for how they work in a UEFI PC but I can tell you how they have traditionally worked in a Mac.

The very first EFI card in a Mac Pro was a 7300GT, it used the EFI32 to introduce the card at boot time, values set (keys) were then passed on to the OS to load drivers. With the first ATI (now AMD) card EFI, they tried to go straight EFI. The card ONLY had an EFI. This presented a problem with their new "BootCamp" tech since there was no BIOS to run in Windows. So they used an ugly, clumsy kludge. In every Mac Pro 1,1 and 2,1's boot rom lies a little stillborn X1900XT BIOS. It can never be updated or over/underclocked, etc. It is buried there just so those Macs can run Bootcamp.

They decided that wasn't going to work for future (thankfully) despite the fact that they could have limited cMP cards to only those that existed in boot rom. SO all future cMP cards needed 2 roms on the EEPROM chip to work, an EFI to introduce the card at boot and give the "boot screens" and then a PC BIOS that actually ran the thing in the OS. Cards without EFI never got to desktop because nothing handed the card over to OS.

A clever guy named Netkas was a Hackintosh guy. He saw all the lovely drivers that got shipped with each version of the OS and saw potential. Why not create a little extension that would play the part of EFI and introduce WHATEVER CARD YOU WANTED at boot and load the drivers into OS? ATY_Init was born. This is what we used for cards in 10.6 that didn't have EFI.

We at MVC meanwhile wrote EFIs that gave cards boot screens and made many new cards possible that existed in OS but not in retail word with EFI. Netkas and I became friends, partially because I had resources to test his software in a larger variety of configs than any other single entity. Whether you know it or not, you have all been benefiting from his tech. Both AMD and Nvidia knew a good thing when they saw it. They began including the very functionality of his ATY_Init in their drivers, Nvidia started with 10.7.3 I believe, don't recall when AMD did.

Every single one of your eGPU implementations has relied on this self-init ability of drivers for OS X use. I reasoned that just like cMP benefited from EFI for cards, this new eGPU stuff might also. The EFI for these machines isn't the same as what worked on cMP, it also isn't the same as PC UEFI. It is yet another Apple bastardized version. (keeps out the riff raff)

The exciting thing is that I have found a way to write these such that the eGPU acts like an internal card. It shows the boot screen, seconds after you push the power button. BOING and the screen pops up. hold down the "Option" (Alt) button and choose between your boot disks. Again, this is allowing the eGPU to function like an internal card. I allows the card to punch through whatever Apple has done to disable eGPU display support on TB2 Macs in OS X. It also solves "Code 12" issues going into Windows as the card was defined before OS loaded.

Currently I have to solder a larger EEPROM on the card to accommodate existing PC BIOS, UEFI, and this new EFI. From henceforth I shall refer to this as mEFI to denote that it is different from the EFI for cMP. So, a GTX780 6GB for cMP will function like a standard PC 780 when used in eGPU and a mEFI GTX780 will function like a PC card when used in cMP. I am going to try to put all of these together in a file but not sure if you can have 3 different EFIs all there along with PC BIOS and the digital signature modules as well. Getting very crowded on that EEPROM chip.

We will be offering some version of these cards for sale at some point. Not sure if I will ever bother making enclosures as they are around and making a useful one seems to irritate the powers that be. They only let them out as neutered and useless devices.

As we do not have the resources to make these cards for everyone, I am hopeful that Nando4 and others will find OS fixes to allow these cards to run in other TB2 machines without our complicated and bothersome mEFI.

An Nvidia card that has been booted via self-init drivers is indicated by rom revision field saying either "Preset 1.0.0" (usually OS X default drivers) or "V.BIOS Version xx.xx.xx.xx.xx" (Nvidia Web Drivers). Also you will frequently notice that they report 1MB less Video Ram in Sys Profiler. (4GB card says "4095" instead of "4096" or 2GB card says "2047" instead of "2048". Cards that are EFI booted will have our name in Rom Revision field and report correct amount of RAM, as noted in screen shots.ss.jpgscreen-shot-2014-12-22-7.50.17-pm.pngscreen-shot-2014-12-22-7.14.39-pm.png

Link to comment
Share on other sites

  • 2 weeks later...

This thread needs updated information. MVC’s theory about many TB2 Macs not allowing eGPU screen output on OS X is a false assumption. As said, this only concerns Nvidia cards, and I would put a word “Nvidia” in the title. Any AMD card that I have tested, detects an external monitor with a Mac model that does not support Nvidia eGPU screen output. If someone wants the 2014 15” MBPr’s (Iris Pro only) quad core i7 performance, and have chosen Nvidia, he will only get a black screen via eGPU on OS X. The problem can be solved by using MVC’s custom EFI, but you have to pay for it. AMD card does not need any mods, it seems to allow eGPU screen output with most of the Macs.

What is very interesting, the Nvidia specific restriction regarding eGPU use on OS X is not the black screen problem only, but also the number of max allowed GPUs that a Mac is able to detect. A mac mini 2011 allows max 3 Nvidia graphics cards and enables Nvidia screen output, but according to my information, 2014 Mac mini only allows one Nvidia, and not able to detect an external monitor via Nvidia eGPU on OS X. However, I have been told that the 2014 Mac mini does allow screen output via AMD card. The number of AMD cards that Mac can support is more likely greater than number of Nvidia cards. Apples seems to support OpenCL instead of Nvidia’s proprietary CUDA. By the way, the three previous Mac Pro generations have been with AMD GPU.

I found a tool to see some interesting numbers (including bandwidth). I compiled an OS X version of clpeak:

https://github.com/krrishnarraj/clpeak

It measures peak capabilities of the OpenCL device.

The bad news it that AKiTiO is not stable with the AMD: http://forum.techinferno.com/diy-e-gpu-projects/7910-diy-egpu-macbook-experiences-25.html#post118869

I have proved with a NA211TB that it can run AMD cards stable, even Crossfired on Win8.1. There is a little hope with an AKiTiO + AMD as I succeeded to pass 3DMark Fire Strike test, but 3DMark11 test crash the system repeatedly in Physics part. I tried all the proper powering methods, but none of them result stable system. When you attach the AMD card directly to the x16 slot and use a molex-to-barrel-adapter, it may stay stable for a while. Maybe I will try direct soldering to the PCIe board one day, but I am not very confident about that.

Link to comment
Share on other sites

This thread needs updated information. MVC’s theory about many TB2 Macs not allowing eGPU screen output on OS X is a false assumption.

What is very interesting, the Nvidia specific restriction regarding eGPU use on OS X is not the black screen problem only, but also the number of max allowed GPUs that a Mac is able to detect. A mac mini 2011 allows max 3 Nvidia graphics cards and enables Nvidia screen output, but according to my information, 2014 Mac mini only allows one Nvidia, and not able to detect an external monitor. However, I have been told that the 2014 Mac mini does allow screen output via AMD card. The number of AMD cards that Mac can support is more likely greater than number of Nvidia cards. Apples seems to support OpenCL instead of Nvidia’s proprietary CUDA. By the way, the three previous Mac Pro generations have been with AMD GPU.

I agree that the Title should include Nvidia and in fact someone has already fixed it.

HOWEVER.....as far as "false assumptions" go, toss in these:

"according to my information, 2014 Mac mini only allows one Nvidia, and not able to detect an external monitor"

Who else has tried? I never saw any posts other than mine, though I haven't looked in awhile. 2014 Mini can see 2 or 3 Nvidia at least. I tried 3 and they all showed up, even when not using an EFI. The external monitor part is right, for OS X, but rest is poppycock.

"The number of AMD cards that Mac can support is more likely greater than number of Nvidia cards"

I see no reason to believe this, whatsoever. Any evidence? Links? I've got 13 Akitio boxes here but don't have 13 power supplies.

"By the way, the three previous Mac Pro generations have been with AMD GPU."

Mac Pro 4,1 shipped with GT120 as standard card, Nvidia. Apple later sold a Quadro 4000 for Mac, also from Nvidia. (they sold on Apple.com)

My hope was to gather actual facts here. I will try harder to include only facts that I have seen myself, and not post things "I have been told" or "according to my information" if others will.

My goal with this thread was to find which TB2 Macs can output to external display on Nvidia cards. I have tried with 2014 Mini, 2014 rMBP (iGPU only) and 2013 nMP. All 3 have had this issue. I think it is rather important to save some folks a lot of frustration and bother. Would also be nice to figure out exactly what changed that made these TB2 Macs harder to deal with. We can get the info by comparing facts.

Link to comment
Share on other sites

My remarks on models that support eGPU screen output without special EFI rom:

- 2011/2012 Mac mini

- 2013 13" MBPr

- 2013 15" MBPr Iris Pro + 750M (needs a reboot)

Its a little bit strange. I use my Macbook (see sig.) at home (eGPU sig.) and at work (no eGPU) and when i unplug everything expect eGPU and power-adapter before boot i get the monitor detected to 90%. When i plug in my mouse and my Thunderbolt-Dock before boot its about 30% and i have to restart several times to get it working. When its detected its working fine no crash or anything.

"The number of AMD cards that Mac can support is more likely greater than number of Nvidia cards"

Ive tried 3 different R9 290X models (reference designs and custom ones) but i always get a freeze some seconds after boot. Maybe its a framebuffer problem ([HOW TO] Modification of AMD FB + Clover injection - ATi - InsanelyMac Forum I havent tried it.

Link to comment
Share on other sites

@MVC: I apologize if I put that “false assumption” too straight. You have given this forum unique information, and I think it’s a great idea to make some business with those custom EFI cards. The title is now better, I suppose Nando changed it. So we agree with that. I just don’t want misunderstandings to happen.

It’s against forum usage agreement to post any private e-mails or correspodence unless you have prior permission. That’s why I said “been told” and “according to my information”.

Now time to shed light on this subject. This might be my most informative post ever. I asked from Netstor directly and they gave me a permission to share information regarding Late 2014 Mac mini. They also allowed me to use their screenshots as a reference. Here is a part of the email written by Netstor:

"We have worldwide clients including Japan who have used Mid 2011 Mac mini with external GPU cards through Thunderbolt; all of them can have success in using up to 3 external Nvidia GPU cards with 2011 Mac mini. However, we have purchased Late 2014 Mac mini, and have tested 2014 Mac mini with multiple external GPU cards through Thunderbolt, but we can only manage to have one external Nvidia GPU card work with the new Mac mini."

Here is another reference: maxserve blog: Mac mini

He used one older Mac mini, one NA211TB, one NA255A-GPU, and three TITAN Blacks, then moved the Thunderbolt 2 PCIe card from NA211TB to NA255A making possible to test up to 4 double-width GPUs.

My purpose is to compare Thunderbolt eGPU solutions equally, finding pros and cons. I started with a Sonnet SEL and I was the first one on this forum who implemented a molex-to-barrel adapter solution with the AKiTiO and I still continue examining its possibilities, because it’s the most affordable Thunderbolt 2 enclosure at the moment.

New theories about this subject are very welcome, it’s always good to doubt a tad. I believe we both have the same goal; to find the facts. My sayings are based on own testing or reliable sources, new theories are fine as long as we have at least some evidence.

Some screenshots, the first two are my own: NA211TB can run 3 AMD cards out of the box on OS X, and AMD is the key for eGPU screen output:

post-28870-14494999229974_thumb.png

According to my own comprehensive testing, Mid 2014 15” MBPr (Iris Pro only) can only detect max 2 Nvidia GPUs on OS X, and “frozens” in booting (alt/option key doesn’t help) if you try to use more than 2 Nvidia GPUs. However, this same Mac supports at least 3 AMD cards on OS X. My next test is to disable Iris Pro (not using Evo*’s method) and see how many AMD GPUs can be detected under Win8.1 - it was very easy to Crossfire them.

A screenshot from Netstor (I have a permission to use):

post-28870-14494999229259_thumb.png

The references for “3 previous generations” (2013, 2012, 2010) using ATI/AMD:

Mac Pro - Wikipedia, the free encyclopedia

2009:

nVidia GeForce GT 120 with 512 MB of GDDR3 SDRAM (one mini-DisplayPort and one dual-link DVI port)

Optional ATI Radeon HD 4870 with 512 MB of GDDR5 SDRAM (one Mini DisplayPort and one dual-link DVI port)

2010, 2012:

“ATI Radeon HD 5770 with 1 GB of GDDR5 memory (two Mini DisplayPorts and one dual-link DVI port)

Optional ATI Radeon HD 5870 with 1 GB of GDDR5 memory (two Mini DisplayPorts and one dual-link DVI port)”

2013: https://www.apple.com/mac-pro/specs/

The above observations/evidences makes me think that Apple has changed something with the new TB2 Macs, but it only concerns NVidia: 1) disabled the external screen output via Nvidia eGPU on OS X with some TB2 Macs 2) possibly restricted the max number of NVidia GPUs that can be used externally.

Those 2 points are at “assumption” level, it might be just a concidence. Or not…

I am not part of any enclosure/GPU related organisation, but Netstor got very interested in me as I DIY’ed the NA211TB and tested its extreme limits (

). Something similar might be done with 3 AKiTiO boxes if you daisy chain them, but how did you manage to detect 3 normal (not custom EFI flashed) Nvidia eGPUs with the 2014 Mac mini? I am very curious. With a NA211TB I just used 3 risers (not powered from a molex) and a modified 24pin ATX PSU, no manual delay methods needed. Turn on the power, and enjoy the OpenCL performance of AMD, the external monitor via eGPU in OS X works. Some of this information may go off the topic as I wanted to show references, but Nando can decide if we need a separate thread for multiple GPU discussion.

post-28870-1449499922962_thumb.png

Link to comment
Share on other sites

Just a note, my 2014 MBPr GT 750M does not just have issues with external output through the eGPU but also from the proprietary ports on the laptop. This includes the free TB2 port and the HDMI port. Each of them function maybe 1 out of 4-5 boots. I have also found that the eGPU (2x Amities + 2x GTX Titans) will give output through HDMI with approx. the same frequency (1 of 4-5 tries).

  • Thumbs Up 1
Link to comment
Share on other sites

Quote

Just a note, my 2014 MBPr GT 750M does not just have issues with external output through the eGPU but also from the proprietary ports on the laptop. This includes the free TB2 port and the HDMI port. Each of them function maybe 1 out of 4-5 boots. I have also found that the eGPU (2x Amities + 2x GTX Titans) will give output through HDMI with approx. the same frequency (1 of 4-5 tries).



Thanks for the additional information regarding 750M model.

@gothic860: “(needs a reboot)” refers to @Mark experiences here, and private messaging with him.

Quote

Ive tried 3 different R9 290X models (reference designs and custom ones) but i always get a freeze some seconds after boot.



I meant the max number of AMD cards that Mac can support simultaneously. I think that the stability problems of R9 290X are result of the using powered risers. I get the freeze too with the AKiTiO, but attaching a GPU directly to the x16 slot seems to help a bit. I rely on NA211TB’s 24pin power. It didn’t show stability issues with HD 7970, R9 270X or R9 280X separately or all of them together. These 3 AMD cards are not the most powerful ones, but they outperform 4 X TITANs LuxMark luxball score (45961 vs 44528). And the price difference is huge (3 X AMD vs 2 X Titan-Z). One reason more to get AMD for OpenCL rendering.

Either @mnrc or @Evo* could confirm if the 15” Late 2013 Mac Book Pro (Iris Pro only) can detect an external monitor via NVidia eGPU. When I talk about eGPU on this post, I only mean Nvidia eGPU for now on. Would be great if you have chance to try DVI or DP interface of your card. Mid 2014 15" Iris Pro model hardware should be exactly the same compared to Late 2013, except the CPU. The only other difference might be the firmware. When we compare Macs, we should keep eye on ROM/SMC versions as well to be sure.

My MacBook Pro (Retina, 15”, Mid 2014) says the following:

Boot ROM Version: MBP112.0138.B11 -> updated to MBP112.0138.B14 after installing OS X 10.10.2 SMC Version (system): 2.18f15

The list of MBP models: How to identify MacBook Pro models - Apple Support

The list of available firmware updates: EFI and SMC firmware updates for Intel-based Macs - Apple Support

Confirmed Macs which enable Nvidia eGPU screen output on OS X:

MacBook Pro (Retina, 13-inch, Mid 2014) unknown EFI version
MacBook Pro (Retina, 13-inch, Late 2013) MBP111.0138.B03 (EFI 1.3)
MacBook Air (11-inch, Mid 2014) MBA61.0099.B12 (EFI 2.8)
Mac mini (Mid 2011) with Intel graphics MM51.0077.B10 (EFI 1.6)


Waiting for confirmation: MacBook Pro (Retina, 15-inch, Late 2013): MBP112.0138.B02 (EFI 1.2) - likely behaves the same as Mid 2014 model as they are both MBP11,2

A column “EFI Boot ROM version” pays my attention. Why the Late 2013 15” MBPs have only EFI 1.2? We know that MBP11,2 cannot enable eGPU output and MBP11,3 has 30% or 90% success as gothic860 said. Mac mini (Mid 2011) which I happen to own, have no issues recognizing an external monitor via eGPU, and it has a bit higher EFI version (1.6). Can we conclude that Macs that have greater EFI version than 1.2 are potentially better in recognizing an external monitor via eGPU? When we look at the nMP: MBP111.0138.B03 (EFI 1.3) and the MVC’s post here, > 1.2 wouldn’t be our enabling factor. However, nMP’s dual D300 GPUs may have influence so maybe we should only compare Macs without dGPU in order to make better conclusions.
Link to comment
Share on other sites

After this post, I'll need to spend the evening catching up on work but I wanted to report some more findings. All of my tests are using both of my TITAN cards daisy chained because my goal is to have both of them running satisfactorily, which I believe I've found a pretty good solution for. If I did these tests again, I would have a few displays setup with each connection so I could tally the functional display outputs on each boot. I didn't have all of that gear at once so I tested HDMI yesterday and Display Port today. Also, I am using the Default OS X Graphics Driver for these tests. My past experiences are that it runs the cards about identical to the Nvidia Web Drivers in regard to display output but the Default OS X Graphics Driver seems to have better stability during CUDA rendering. The regular GTX TITANs have full support from the default drivers but note that the TITAN Black or TITAN Z does not. They both load as NVIDIA Chip Model. I have tested all of these myself.

Components:

-2014 15" MBPr + 750M OS X 10.10.1

-Corsair RM750 PSU

-x2 Akitio Thunder2 Expansion Boxes

-x2 GTX TITANS (x1 Asus, x1 EVGA)

-x2 Powered Risers

*Display output through Display Ports on TITANS worked 12 out of 16 boots. Only one of the cards would provide output at a time and which one seems to be designated at random. It doesn't seem to have any relation to whether the display was plugged in during boot or not.

*HDMI provides approximately the same results but sometimes the "chosen" port is the proprietary HDMI port on the laptop instead of the HDMI ports on the eGPUs and the success rate seems to be a little bit higher, possibly because of there being 3 ports instead of 2.

*DVI has not been tested extensively but I have tried them maybe 5 times with zero success.

*The spare TB2 port on the laptop will output to a Thunderbolt Display approximately 30% of the time.

***I acknowledge this data collection may not be presented to the scientific standards of some users and I don't care because this forum is not my full time job. If it is misleading or not based on good evidence, that is a different story and I will happily remove or edit the info. Many of us only have so much we can give and I expect most users here are not interested in being full time eGPU makers. We are building these machines to assist in other interests. TechInferno is not academia and if it were, I probably wouldn't want to help out at all. With that said, I am very thankful. I just think it's silly to be on here ridiculing people for things like typos or seeming "amateur." :)

Link to comment
Share on other sites

"We have worldwide clients including Japan who have used Mid 2011 Mac mini with external GPU cards through Thunderbolt; all of them can have success in using up to 3 external Nvidia GPU cards with 2011 Mac mini. However, we have purchased Late 2014 Mac mini, and have tested 2014 Mac mini with multiple external GPU cards through Thunderbolt, but we can only manage to have one external Nvidia GPU card work with the new Mac mini."

Maybe Nestor should get in touch. Or maybe it's the Iris Pro causing issues.

I have 3 GPUs running with my 2014 Mini.

2 of them have EFI and 1 is self init.

I'll try regular PC cards tomorrow.post-31171-14494999236088_thumb.png

  • Thumbs Up 1
Link to comment
Share on other sites

After this post, I'll need to spend the evening catching up on work but I wanted to report some more findings. All of my tests are using both of my TITAN cards daisy chained because my goal is to have both of them running satisfactorily, which I believe I've found a pretty good solution for. If I did these tests again, I would have a few displays setup with each connection so I could tally the functional display outputs on each boot. I didn't have all of that gear at once so I tested HDMI yesterday and Display Port today. Also, I am using the Default OS X Graphics Driver for these tests. My past experiences are that it runs the cards about identical to the Nvidia Web Drivers in regard to display output but the Default OS X Graphics Driver seems to have better stability during CUDA rendering. The regular GTX TITANs have full support from the default drivers but note that the TITAN Black or TITAN Z does not. They both load as NVIDIA Chip Model. I have tested all of these myself.

Components:

-2014 15" MBPr + 750M OS X 10.10.1

-Corsair RM750 PSU

-x2 Akitio Thunder2 Expansion Boxes

-x2 GTX TITANS (x1 Asus, x1 EVGA)

-x2 Powered Risers

*Display output through Display Ports on TITANS worked 12 out of 16 boots. Only one of the cards would provide output at a time and which one seems to be designated at random. It doesn't seem to have any relation to whether the display was plugged in during boot or not.

*HDMI provides approximately the same results but sometimes the "chosen" port is the proprietary HDMI port on the laptop instead of the HDMI ports on the eGPUs and the success rate seems to be a little bit higher, possibly because of there being 3 ports instead of 2.

*DVI has not been tested extensively but I have tried them maybe 5 times with zero success.

*The spare TB2 port on the laptop will output to a Thunderbolt Display approximately 30% of the time.

***I acknowledge this data collection may not be presented to the scientific standards of some users and I don't care because this forum is not my full time job. If it is misleading or not based on good evidence, that is a different story and I will happily remove or edit the info. Many of us only have so much we can give and I expect most users here are not interested in being full time eGPU makers. We are building these machines to assist in other interests. TechInferno is not academia and if it were, I probably wouldn't want to help out at all. With that said, I am very thankful. I just think it's silly to be on here ridiculing people for things like typos or seeming "amateur." :)

Every piece of information is welcome.

We know that MVC succeeded to run two TITAN Blacks with a 2014 Mac mini:

http://forum.techinferno.com/implementation-guides/8469-%5Bguide%5D-2014-15-macbook-pro-gt750m-titan_z%4016gbps-tb2-akitio-thunder2-osx10-10-a-2.html#post115969

However, Netstor confirmed that max one Nvidia GPU card can be recognized by 2014 Mac mini over Thunderbolt. I thought that MVC’s custom EFI made possible to run 2-3 Nvidia cards with a 2014 Mac mini, but he can confirm how it really is. MVC used a 1.4GHz version (I5-4260U) whereas Netstor’s 2014 Mac mini is 2.6GHz (I5-4278U).

ROM EFI version may be the common factor.

I don’t want to follow any scientific standards here. English is not my mother language. No need to comment about typos or using different kind of abbreviations, I absolutely agree. This is just my hobby to which I am quite committed :)

I would be interested in MVC’s flashed GTX 780 6GB or GTX 980 4 GB if they offered the service in EU. Additional import VAT and possible customs duties doesn’t sound tempting.

Link to comment
Share on other sites

Having the late 2013 model with the 750M dGPU isn't all plain sailing either. I currently have an EVGA 980 ACX 2.0 for my eGPU setup.

Using a Sonnet III-D: No luck at all. It won't boot and I can't even use the alt key for a boot selection screen. Leaving it running for 5 minutes or so would set the fan on the laptop spinning. I assume that there must be an operation that the laptop is trying to complete. but can't. @Tech Inferno Fan has suggested that it might be stuck on an infinite loop during the POST. EDIT: hotplugging it as the Apple logo appears allows it to be used without the monitor (I managed to use it on LuxMark)

Using a Sonnet SEL: Boots 70-80% of the time. When booting into Windows, no problem at all with the external screen. When trying to boot into OS X, I'd say around 50% success with that. And then there is a small chance (20-30%) that the monitor would just randomly turn off within 5 minutes and I have to go through the entire process to get the external screen working again.

So I was wondering whether flashing it would solve this issue, as for me it is specific to Maxwell cards.

Link to comment
Share on other sites

So, both you and garytyler have same 2013 rMBP with 750m?

And both at least occasionally get external output via ports on eGPU?

That is better results than the 3 TB2 Macs I have for testing. I guess I am only really testing DP output...are you on a different port?

980 eGPU flash is a ways off. We are just finishing the cMP GTX980 EFI and sending out 2nd set of them. The eGPU version will be some time later.

And I'm still hoping to improve the ones I have done.

Link to comment
Share on other sites

I think that we are both on the same 2013 rMBP, and I'm getting external output. I'm also using DisplayPort and it's the 1.2 version as my eGPU is running a 4k monitor too.

Also I'm eagerly waiting for the flashed 980 EFI, since I reckon that's the problem! I just want it to work with the Sonnet III-D so that I have a compact, self contained eGPU solution

Link to comment
Share on other sites

My Late 2013 rMBP with the 750m also has consistency problems outputting to external displays with Maxwell processors and the AKiTiO box. I'd estimate a 20% success rate with a Gigabyte GTX970 (Mini-ITX). I have not yet been able to discern what the issue is, but what I do know is that the laptop will not boot at all if I simply hit the power button with the eGPU connected. I have to hit the power button, hold Alt to bring up the boot disc selector, and then select the OSX partition to boot (perhaps this has to do with the PCIe bus taking time to recognize devices?). But even when I do that, generally I boot successfully into OS X but the external display is black. But about 20% of the time, the external display works. For no discernable reason.

Very frustrating.

Link to comment
Share on other sites

I have successfully gotten a GTX 750Ti, a GTX 760, and a GTX 970 working with the AKiTiO unit on three different laptops: an Early 2014 (as of this date the current model) 11'' Macbook Air, a Mid 2014 13'' Retina Macbook Pro (again current model as of today), and a Late 2013 15'' Retina Macbook Pro with the Nvidia 750m dGPU (essentially the same setup as @Dschijn).

Of these three, only the 2013 15'' rMBP still has issues with Maxwell cards - I sometimes have trouble getting it to output to an external display in OS X, but it works with sufficient trial and error (and seems to work more reliably if I hold ALT to bring up the OS selector, even if I'm booting straight into OS X - I'm guessing for PCI-E recognition timing reasons).

With that exception, all are working perfectly. I imagine a 2014 rMBP would have the same issues since the Late 2013 and Late 2014 rMBPs are identical except for the slightly upgraded (but still Haswell) CPU.

Link to comment
Share on other sites

  • 2 months later...

I am happy to announce that I have tracked down a specific part in OS X which enables Nvidia eGPU screen output with a Mid 2014 15” rMBP (Iris Pro only), which we thought would be one of those “blacklisted” machines. We already know that AMDs allow external screen detection automatically, but now it’s possible also with a regular PC Nvidia GPU on OS X. Both the GTX 780 and GTX 980 worked, no need for custom eGPU EFI. There are still some acceleration issues in the retina screen on 10.10.3, but I know the files that have an impact on this, and those who like to play with a Hex editor, may find the right trigger for the external screen detection purely. Deliberately controlled by Apple or a coincidence? Everyone can make their own conclusion as soon as I post more info and screenshots as proof, stay tuned.

  • Thumbs Up 4
Link to comment
Share on other sites

@goalque: That are great news. Can't wait :D

Do you think this might apply to the new 2015 MBs as well?

I was in a thought that the Mid 2014 Mac Book Pro Iris Pro could never be able to produce signal to an external monitor via Nvidia eGPU on OS X, but one day, it eventually happened by chance.

1) Format the Macintosh HD completely in order to install Mavericks 10.9.5 (13F34) from an Internet OS X recovery.

2) Download and install a security update 2015-002:

https://support.apple.com/kb/DL1797?locale=en_AU

3) Do the known kext mods, reboot with the Nvidia eGPU connected and the external monitor will be detected 100%. Everything is perfect, welcome back Mavericks! :)

post-28870-14494999759526_thumb.png

4) Download and install a security update 2015-004:

https://support.apple.com/kb/DL1803?locale=en_AU

Still works. Phew!

GTX 980 froze at half way of boot, but GTX 780 worked great. Why in the earth Apple added this feature for the latest Mavericks “security updates” but dropped it from the Yosemite?

I compared what kexts were changed in /System/Library/Extensions folder. By using trial error methods I was able to crop the affecting kexts. Two kexts remained: AppleIntelFramebufferCapri.kext and AppleIntelFramebufferAzul.kext. The latter is the key for Nvidia eGPU screen output, contains lots of changes and Apple says nothing about it:

https://support.apple.com/en-us/HT204413

Kext’s dependencies:

com.apple.iokit.IOAcceleratorFamily2

com.apple.iokit.IOGraphicsFamily

com.apple.iokit.IOPCIFamily

com.apple.kpi.bsd

com.apple.kpi.iokit

com.apple.kpi.libkern

com.apple.kpi.mach

Interestingly, some keys "enable8kmode" and "noapertureaccess" vanished from AppleIntelFramebufferAzul.kext after the first security update.

I tried opposite values, but no difference - external screen stayed black. Well, then I did a straightforward replace by KextWizard for those two above mentioned kexts with the kexts taken from 13F1066 build, and after reboot the external screen appeared, fully accelerated. There are visual artifacts in the internal retina screen, and that’s really bothering, but I believe that with the aid of Hackintosh programmers out there we will find the trigger - it must be somewhere in the binary data. These sites give a good starting point:

https://pikeralpha.wordpress.com/2013/08/02/appleintelframebufferazul-kext-part-ii/

https://github.com/Piker-Alpha/AppleIntelFramebufferAzul.sh

Take a Time Machine backup. Your Mac gives kernel panic after every reboot if kext updates fail. I don’t know how the other Macs behave. The pictures tell the rest; GTX 780 6GB is still the best performing GPU on OS X 10.10.3, as far as OpenGL is concerned:

post-28870-14494999760429_thumb.png

post-28870-14494999760814_thumb.png

post-28870-14494999759976_thumb.png

  • Thumbs Up 4
Link to comment
Share on other sites

goalque,

Great work and discovery ! The 980 won't work as there are no drivers in 10.9.5 for it.

And as far as the guy who asked about 2015 MB, there is no TB port.

I still think that some component of the more difficult eGPU has something to do with the physical machines. For instance, my 2012 rMBP does eGPU with the greatest of ease, I can run 4 displays form the Titan-X, or combine 2 DP ports and run a Dell 5K. Same thing on a Mini or nMP is currently impossible, and they run the same OS. As far as Intel frame buffer kexts, this might yield interesting results in comparing which one is used by my 2012 rMBP versus which one is used by 2014 Mini and your machine.

I think that the work we are both doing is heading in different directions to get to same result, and what you may find may help everyone. Right now I can't get display output on Maxwell cards in eGPU in TB2 machines I have in OS X. With Kepler cards I can get one display going. The display that works is the one that fires up right after the start chime via the EFI. Any further displays don't get detected. It is as if the machine is held back by a rule of some sort about number of displays, or displays present at boot time.

Anyhow, the smarter half of my development team will be joining the effort soon since we have gotten EFIs working for Classic Mac Pro for all released Kepler cards.

I don't know if you read at Mac Rumors but in the Mac Pro forum over there I detail a hack to enable Nvidia cards to run 4K 60Hz on MST displays. Buried deep in a kext there is a "blacklist" of machines that are NOT to run 4K/60Hz via MST. The Mac Pros pre-trash can are on the list. Also on the list is my 2012 rMBP. Removing a 4,1 Mac Pro from the list allows it to run 4K 60Hz MST displays from an Nvidia card. Conversely, it messes up how an AMD card deals with Hi Def displays. In short, I don't fully understand how that blacklist works, I just know that I can't run my Asus PQ-321Q properly without taking my Mac Pro off the list.

It is quite likely that Apple has more such blacklists hidden away to keep eGPU problematic. I just can't believe that it is a coincidence that with the models where eGPU could double it's bandwidth, there are new problems. (i.e., TB1 vs TB2)

  • Thumbs Up 1
Link to comment
Share on other sites

Thanks MVC,

True, 2015 MB uses USB-C. I guess he meant the updated 2015 13” Retina MBP, which has two TB2 ports. Doesn’t sound promising after reading these:

http://forum.techinferno.com/diy-e-gpu-projects/7910-diy-egpu-macbook-experiences-57.html#post128390

http://forum.techinferno.com/diy-e-gpu-projects/9392-2015-13-macbook-pro-iris-gtx750ti-magma-expressbox-3t.html#post127342

I have backed up Apple’s “security update” kexts, just in case if that screen output feature was not meant to be there. During investigating the differences of the first security update, I suddenly got a notification of the second security update. Short thought if Apple noticed my digging :D Funny. Wouldn’t be surprised if Apple makes more sandboxes and one day makes kext injection impossible. Have to admit that I am not very familiar with reverse engineering techniques, but as the problem is now restricted to a couple of kexts, I may find a workaround where also the internal retina screen is accelerated on Yosemite. Replacing the kexts results in some flickering and not accelerated internal screen, but the external monitor screen is sharp and fully accelerated on Yosemite & GTX 980. The workaround seems to enable only one external monitor with the GTX 980, have to confirm that. In Mavericks, I got two monitors working out of the box with a GTX 780.

Maybe someone should be in contact to the person, who has already hex edited those kexts, and would be great if your development team can take a look at this. My next step is to compare the kexts to the Late 2013 13” rMBP (Intel Iris 5100), which is surprisingly one of the TB2 Nvidia eGPU screen output enabling Macs. The problem doesn’t seem to be apply to specific integrated graphics, because the Intel Iris 5100 version of the Mac mini has been reported to not output Nvidia eGPU screen on OS X. The specific CPU or “black listed” Mac hardware are the remaining factors.

I know your activity in MacRumors forum and appreciate the work you have done in an exquisite way. My eye has spotted posts that say about eGPU enclosure designing and I have had plans to outsource the enclosure making, but since I am a full time system software developer for completely different branch of technology, the project is on ice. Thus far this is just a hobby, but I see there is a small market niche. However, Intel will never certify fully plug-and-play eGPU enclosures at AKITiO’s price range. The only way is to make it easily DIYable.

Link to comment
Share on other sites

Replacing the kexts results in some flickering and not accelerated internal screen, but the external monitor screen is sharp and fully accelerated on Yosemite & GTX 980. The workaround seems to enable only one external monitor with the GTX 980, have to confirm that. In Mavericks, I got two monitors working out of the box with a GTX 780

The only way is to make it easily DIYable.

Hey, that got me thinking. If replacing the kexts causes the internal screen to not be accelerated, it could be that those kexts don't load at all. So you have, perhaps, basically just deleted the working driver for internal screen and it is only running on EFI DRIVER? Have a look under "extensions" in "Software' section of System Profiler and see if they are loaded or if they note any dependencies that are or are not working.

It is odd that the 3 2014 Macs I bought are all on the "Locked down" list. The EFI cards "punch through" this and I am hopeful that we can find a way to do the same with Maxwell cards.

I don't plan to get big enough to get Apple or Intel's attention. But if there is a boutique business to be done with eGPU I will be there, much like we are providing EFI cards for Mac Pros right now. It may take the form that we sell just an eGPU modded GPU and then the end user will have to do the buying of Akitio, etc.

Right now I feel that many folks are probably getting scared away by the "all over the place" nature of this, and also by all the reports of failure. That was why I tried to get people to explain EXACTLY what they did when something worked and what they did when it didn't.

I have noticed that with my 2014 Mini, there are specific orders of doing things that work MOST OF THE TIME, and things that NEVER work. If we could pin down which exact machines allow TB2 Nvidia eGPU and which don't, maybe we would see a common thread. Sadly I don't have the time to do this full time, it is more of an evening hobby, though my other half (the smart one) will have a 2014 Mini in a couple weeks. It has to get here first so I can rip out the 5400 rpm drive and put an SSD and a PCIE blade in it.

Sometime soon I should dig through this thread and others and start up a list of which TB2 Macs have easy eGPU output, and which are a PITA. I can vouch that Base 2014 Mini, Base 2013 nMP, and rMBP 2014 15" with iGPU only are all on the "black screen without an EFI eGPU" list.

I sit and spend a few hours playing Far Cry 4 and FORGET that it is on a lowly Mini and I realize "Wow, this is something special, I'm using a crappy little computer but able to play real games at 4K" and I know that there is serious potential.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.