Jump to content

eGPU on Thunderbolt? Easy? Worth it? [2012 15" rMBP]


nop

Recommended Posts

I want to build a eGPU for my rMBP 2012 15". In this thread I want to plan my purchases, hoping for your input.

I've many threads on Thunderbolts and I came to the conclusion that the [Sonnet Echo Pro TB Adapter + ViDock]-combination the easiest way is. (As shown @ Get an external graphics card on your ultrabook through Thunderbolt).

I would buy this setup if I had 100% confirmation that this would work out of the box, but I don't.

Expensive [easy?] Sonnet Echo Pro TB Adapter + Apple Cable + ViDock

ViDock 4 Plus Overdrive    $279 + $30        http://www.villageinstruments.com/tiki-index.php?page=ViDock
Sonnet Echo Pro £146.34 + £5.13 http://www.amazon.co.uk/Sonnet-Echo-ExpressCard-Thunderbolt-Adapter/dp/B0080MQJJ6/ref=sr_ob_3?s=computers&ie=UTF8&qid=1373971018&sr=1-3
Apple Thunderbolt Cable £38.95 http://www.amazon.co.uk/Apple-Thunderbolt-cable-mini-DisplayPort-mini-Dis/dp/B0058KHRPS/ref=pd_bxgy_computers_text_y
Total 600 USD
Total 450 EUR
Total 390 GBP

I could also add an extra ~50 GBP and just build a complete new system capable of running a GTX 760 like this one: Intel Core i5-4430 - System Build - PCPartPicker United Kingdom (433 GBP). In my opinion the Sonnet+ViDock combo is not worth it.

Using a P4EL (60 USD) + PSU (45 USD) would save me 174 USD.

Using a cheaper TB cable could also save 40 USD, but I'm not sure if they have the same capabilities.

Cheap [hard?] Sonnet Echo Pro TB Adapter + Cheap cable + P4EL

P4EL                       $60 + $21        http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=171077040229&fromMakeTrack=true&ssPageName=VIP:watchlink:top:en
Sonnet Echo Pro £146.34 + £5.13 http://www.amazon.co.uk/Sonnet-Echo-ExpressCard-Thunderbolt-Adapter/dp/B0080MQJJ6/ref=sr_ob_3?s=computers&ie=UTF8&qid=1373971018&sr=1-3
Cheap Thunderbolt Cable £11.36 + £5.03 http://www.amazon.co.uk/Startech-Male-Mini-DisplayPort-Cable/dp/B006LL56J2/ref=sr_1_73?s=computers&ie=UTF8&qid=1374870440&sr=1-73
Total 339 USD
Total 255 EUR
Total 220 GBP

I'm really interested in the Cheap list above. My only concern is that even with Tech Inferno Fan's Setup tool I'll be unable to get it running due to my low knowledge on windows boot stuff. (Tutorial?)

I also have no clue what the speeds (x.xOpt = ???) and bottlenecks are, and what GPU's are supported. (The most powerful GPU I see used is the 660 but at this moment the 760 and 770 are more interesting.)

Thanks!

I'm sorry if this post makes me look like an idiot not reading up on the subject first, If I missed something please let me know.

Link to comment
Share on other sites

@MrHaPPyPiLLs got a 15" rMBP going in EFI mode. I've suggested he post details of what he did but have no confirmation if he will or won't. His last post being: http://forum.techinferno.com/diy-e-gpu-projects/4163-help-manual-pci-bat-egpu-setup-1-2-15-mbp-sonnet-echo-express-ati-7850-a.html#post57989

He used a native Thunderbolt device: Sonnet Echo Express. You may consider doing the same as it gives double the bandwidth of those Expresscard solutions you've shortlisted. Would cost the same or less than the first one you've listed, ie: OWC Helios Or Sonnet Express SE is available for ~US$300.

Just budget the TB cable and if wanting to get MBR mode working (bootcamp) then a PCI extender mod described here. EFI mode not needing that extender. You'd be running the product with the main board removed from the enclosure to be able to host a full length and/or double-width video card.

If you haven't as yet purchased the rMBP then the cheaper option is an expresscard-equipped system to combine with a PE4L-EC060A 2.1. See eGPU candidate system list [thin-and-light] . 13" Sony SVZ (mPCIe eGPU) or 12.5" HP 2570P both offering i7-quad CPUs. The former with a 1080P LCD.

Link to comment
Share on other sites

@MrHaPPyPiLLs got a 15" rMBP going in EFI mode. I've suggested he post details of what he did but have no confirmation if he will or won't. His last post being: http://forum.techinferno.com/diy-e-gpu-projects/4163-help-manual-pci-bat-egpu-setup-1-2-15-mbp-sonnet-echo-express-ati-7850-a.html#post57989

He used a native Thunderbolt device: Sonnet Echo Express. You may consider doing the same as it gives double the bandwidth of those Expresscard solutions you've shortlisted. Would cost the same or less than the first one you've listed, ie: OWC Helios Or Sonnet Express SE is available for ~US$300.

Just budget the TB cable and if wanting to get MBR mode working (bootcamp) then a PCI extender mod described here. EFI mode not needing that extender. You'd be running the product with the main board removed from the enclosure to be able to host a full length and/or double-width video card.

If you haven't as yet purchased the rMBP then the cheaper option is an expresscard-equipped system to combine with a PE4L-EC060A 2.1. See eGPU candidate system list [thin-and-light] . 13" Sony SVZ (mPCIe eGPU) or 12.5" HP 2570P both offering i7-quad CPUs. The former with a 1080P LCD.

I already have the rMBP (I have been waiting for a Thunderbolt eGPU for a year now. Tired of waiting on Lucid, MSI and I guess SilverStone will wait for the next-gen of Thunderbolts).

So you recommend getting the OWC Helios (405 USD incl shipping) + Cable + PSU + Setup Tool.

Using bootcamp would be awesome and the PCI extender mod you linked looks easy enough.

However there must be something extra, right? I cant just expect this to run out of the box, can I?

Would that support a GTX760 if I removed the case?

Thanks for helping!

EDIT:

I assume the Echo Express Pro gives the same performance as the SE/Helios except size/PSU.

This benchmark is interesting:

battlefield_thunderbolt.png

You can clearly see that the higher-end AMD card is faster than the GeForce in a native setting. Limiting each card's interface bandwidth puts them on even footing, though. The good news? There's no reason to spend extra money on a more expensive board.

Echo Express Pro: Desktop Graphics In A Thunderbolt Chassis - Powerful Add-In Cards...Over Thunderbolt?

Is buying a GTX760 a bad idea due to thunderbolt's max bandwith?

post-15533-14494995815867_thumb.png

Link to comment
Share on other sites

Well I think the only main reason you would purchase an AMD card over a nVidia for an e-gpu is that you wouldn't want to use Optimus (built in screen acceleration, eliminates external monitor). But since it's almost impossible to get the igpu in the rmbp working under EFI which is necessary for Optimus, I'd say that leaves the upside out of the question.

Going from a 560 to a 660 still gave me a huge boost with expresscard (I use a ViDock and sonnet echo adapter) but with native thunderbolt you would probably be able to get a much stronger card. A 760 is said to be capable of reaching 670 levels which is what several people with e-gpus had, so that might not be a bad option.

Link to comment
Share on other sites

Well I think the only main reason you would purchase an AMD card over a nVidia for an e-gpu is that you wouldn't want to use Optimus (built in screen acceleration, eliminates external monitor). But since it's almost impossible to get the igpu in the rmbp working under EFI which is necessary for Optimus, I'd say that leaves the upside out of the question.

Going from a 560 to a 660 still gave me a huge boost with expresscard (I use a ViDock and sonnet echo adapter) but with native thunderbolt you would probably be able to get a much stronger card. A 760 is said to be capable of reaching 670 levels which is what several people with e-gpus had, so that might not be a bad option.

Your situation is slightly different. You are using a TB-to-expresscard adapter so are running a x1 2.0 link. The NVidia driver sees you also have an iGPU so activates pci-e compression. The combo is referred to as x1.2Opt on this forum and most certainly favors NVidia cards over AMD.

In nops rMBP case he can choose to go a similar TB-to-expresscard case if wanting a budget solution or the convenience of attaching the gear easily to an expresscard-equipped PC notebook. There the recommendation for the expresscard eGPU adapter being a PE4L-EC060A 2.1b .

Since nop shortlisted a ViDock TB-to-expresscard solution, he/she can would achieve better native TB performance with a Sonnet Echo Express or OWC Helios for pretty much the same total $$. There he/she would be running a x4 2.0 link limited to 10Gbps. This is slightly more than double the bandwidth of the TB-to-expresscard solution.

Difference with the native TB solution is NVidia's x1 pci-e compression doesn't engage. Furthermore, the desirable NVidia Optimus internal LCD mode won't work as the 15" rMBP iGPU hasn't been able to be tweaked to run the internal LCD.

So then we are looking at 10Gbps AMD vs NVidia on an external LCD attached via native TB to the 15" rMBP. There an AMD eGPU does give slightly better performance at the same pricepoint. REF: 13" MBP + GTX660Ti + HD7870 (TH05 @ x2 2.0).

Would I choose an AMD card in this situation? It depends. Overall it will give better performance in this situation. Consider NVidia cards perform badly in limited bandwidth situations is DX9. The x1 pci-e compression helps tremendously there but wouldn't in this case since native TB runs x4. Some users actually downgrading the x4/x2 link to x1 (and activating the iGPU) to get decent NVidia DX9 performance.

Then consider that the same Sonnet/OWC enclosure could be timeshared with a 11/13" MBA/MBP and get NVidia Optimus internal LCD mode working. Then we see that an NVidia card offers a better overall feature set. Decisions decisions.

Link to comment
Share on other sites

Hiya,

In my opinion, given that I didn't have any sort of budget cap for this project, it was very worth it! It was definitely not easy though and its taken me something like three months of work to get my systems running of which about 2.99 months was spent reading and understanding how PCI memory is allocated by the EFI or the BIOS before they hand off to the Operating System.

I do intend on doing a write up on both the setups but again, after spending such a monumental effort on it, I kind of just want to enjoy using it for a while before throwing myself into that (I did take detailed notes though so it should be possible to do a dummy's guide style thing)

For the system that you are looking at, these are the things that I would start off considering (I can't guarantee the accuracy of the information below, its what I managed to piece together and read from other people's experiences but it fits with the tweaks that I made to get it working):

The 15" rMBP has two on-board graphics processor's which physically connect to the PCI controller in exactly the way that you don't want them to. the Mac EFI pushes the dGPU (NVidia 650M) into the primary VGA space and allocates its PCI memory first. It then initialises and allocates the memory of the other devices on the PCI buses and finally it then initialises the iGPU (HD4000).

I believe the reason for this is the way that OS X handles the switchable graphics due to its App architecture. The problem is that Windows cannot correctly handle this switchable graphics system so when it comes to installing Windows 8 (or Win 7 for that matter) in EFI mode, it will quite happily utilise the HD4000 graphics driver, but cannot switch the internal display connection to the iGPU. If you want to read more about this issue, have a browse at Shelltoe's post - he has done a huge amount of investigatory work with this. I would add that the early 2013 rMBP that I have does not have any issue loading the driver for the iGPU but it does have exactly the same problem of shunting its output to the internal screen.

The upshot of this is that you have four basic problems.

1) When you try and install Windows in EFI mode, you will get an annoyingly huge number of blue-screens. Just follow the install guide by Shelltoe and let it reboot itself. It will eventually battle through to full install and boot and from then on, you wont have this problem. I will stress that you have to be patient with this, on one install routine I had about an hour of constant blue-screens before it finally went through (on another one I didnt get a single one though so you might get lucky!).

2) Windows will always boot with the dGPU (650M) running and it cannot be disabled if you want to be able to use the laptop's internal display (by disabling, I mean disconnecting from the PCI controller as opposed to disabling the driver in Windows).

3) Windows can struggle to interpret the correct PCI Allocations from the EFI when you boot up with the eGPU connected.

4) You wont be able to get the internal sound card to run under Windows.

To overcome the first just takes patience.

The second again cannot really be overcome, you can however manage the situation by not installing an NVidia driver for the 650M. This will ensure that Windows just uses its basic VGA driver. Downside to this is that I couldn't use the thunderbolt port to connect to an external displayport screen. Upside is that the battery drain will be much more manageable.

The third depends on whether you use an ATI or an NVidia graphics card in your eGPU. An ATI card requires that its PCI config memory space is 256MB contiguous whereas an NVidia card is able to run with its mem space split over three contiguous and smaller blocks totaling that same 256 MB so Windows is much more capable of arranging the PCI mem space automatically during the hand off from EFI.

Basically speaking, if you get an NVidia card and you get Windows to install in EFI mode on your rMBP and, if its an early 2013 model like mine then you wont even need to perform the extra step that Shelltoe found to get it to run, it will absolutely just Plug and Play. If you get an ATI card, you will need to do a huge amount of work to manually allocate each and every one of the PCI devices in the EFI before it hands over to Windows. If this sort of thing sounds like fun then go for ATI, otherwise stick with NVidia (I've tested with a 660Ti) - I was mainly doing this partly as a technical challenge and a proof of concept so it was worth my time and effort - might not be the same for you.

To do either of these using Windows installed in emulated BIOS mode is an absolute bastard! Unfortunately DIY eGPU setup 1.2 cannot negotiate the hideously complex PCI bridge structure that Apple built in the rMBP and so can't automatically allocate the PCI mem space using compaction (even if you set 36bit memory space and try and push any of the GPU's into it). This means that you need to do a huge amount of work to manually allocate each and every one of the PCI devices, it was like the ATI system above. I would not recommend that you even attempt this unless you are willing to put the effort in and really understand how PCI devices work...

The good news is that it really makes no odds what sort of thunderbolt system you decide on - at the level they operate at, they are all just PCI bridges to the EFI and Operating System. I ended up being really happy with my Sonnet Echo Express Pro because it supports both daisy chaining of Thunderbolt Devices so I could add a Belkin Thunderbolt Dock into my system for extra USB 3 ports, external Sound Card and a second Gigabit Ethernet Port and also has two PCI-E bus connectors so I was able to add a large capacity PCI connected SSD into my enclosure for extra storage when I'm booted in OS-X (dead handy for the rMBP because of its upgrade restrictions.

Running these extra peripherals in EFI mode is again plug and play but in BIOS mode requires each of these devices to be manually allocated as well.

Link to comment
Share on other sites

  • 2 weeks later...

Yo I'm back,

I've been running the Helios with my 15" rMBP for about 3 months now. My setup is as follows:

- 15" rMBP

- HD 7950

- OWC Helios

- PCIe riser cable

- TX650 PSU

- Pendrive with Setup 1.20 Beta 3 (thanks to @Tech Inferno Fan for this)

I'm running Win 7 x64.

My 3DMark11 results:

post-5723-14494995939454_thumb.jpg

If you compare results with other HD 7950's you'll see that I'm getting about 73% of expected performance. Not bad right?

Anyway this is a rundown on how I've set everything up. See if my way works for you!

1. Install Win 7 x64 (I prefer it to Win 8) and install the drivers for the 650m. Shutdown.

2. Cut up and connect your riser card to the PSU in this config:

post-5723-14494995939694_thumb.png

3. Connect the GPU to the riser card and the riser card to the Helios.

4. Connect the Helios to the rMBP and put it on but keep the PSU powered down.

5. Plug in your pendrive with Setup 1.20 and boot into Setup 1.20. Put the PSU on when Setup 1.20 tells you it hasn't detected any eGPU and press refresh.

6. Select a couple options (I forget which, but I'll tell you if you decide to go through with this).

7. Chainload to Win 7.

8. Install drivers for HD 7950.

9. Reboot.

10. Enjoy!

Pro's:

1. Works with both AMD and Nvidia; I've tested a 560ti, HD7950 and an HD 5850.

2. Sound and everything just works in Win 7.

3. I'll help you every step of the way.

Con's:

1. You'll have to boot using Setup 1.20 each time you want to use your eGPU (can be automated).

2. You need a riser cable.

  • Thumbs Up 1
Link to comment
Share on other sites

Thanks for the post MystPhysX.

I would definitely go for the same setup as you if I where to build an eGPU.

Thing is, the setup is not as cheap as I hoped it would be and the performance isn't all that good either (30% loss on HD7950).

I think I'm better off building a separate machine. Better bang for buck and future-proof.

Link to comment
Share on other sites

I'm in the process of writing up a general post for Nando4 so you'll see them by next weekend. I cut the 3.3 wires to make sure the GPU was completely power reliant on my PSU and it's power switch. I also had plans to power the Helios using the PSU.

Link to comment
Share on other sites

  • 2 weeks later...

Hey guys,

Quick update:

I've been down since last week with a horrible virus that's been going around my school; as such I have not been able to update the guide so its still half-baked/unfinished. I apologize for the delay but I'm not giving an update on the ETA till I finish catching up in school.
Never mind that, look at Strandmatte's guide here for both the Helios and the Echo Express SE. For AMD cards just look at the first comment.

In the mean time please don't hesitate to shoot me a PM if you have any specific questions you would like to ask me regarding your/my setup. I'll definitely get back to you within 24 hours.

Link to comment
Share on other sites

2. Cut up and connect your riser card to the PSU in this config:

[ATTACH=CONFIG]8669[/ATTACH]

5. Plug in your pendrive with Setup 1.20 and boot into Setup 1.20. Put the PSU on when Setup 1.20 tells you it hasn't detected any eGPU and press refresh.

6. Select a couple options (I forget which, but I'll tell you if you decide to go through with this).

7. Chainload to Win 7.

So I'm just really confused on these steps. Mostly #5. I boot up to my flash drive and everything with my PSU off, and the setup 1.2 just goes ahead and dashes through everything. I can't get rid of error 12.

I also don't understand the wiring. I want to know what I'm doing before I start cutting anything.

I have a GTX760, 15" rMBP, PE4L, Sonnet Expresscard Pro, and a 700W PSU, and Windows 7 64bit

Link to comment
Share on other sites

You need to buy an PCI Express extender. The PCI Express card that goes into the extender needs on some pins 12V and on some other pins 3.3V. While in theory all that voltage should be provided over the thunderbolt enclosure, in practice is better to do it yourself directly from an ATX PSU.

The ATX PSU 24pins connector will give you all 3.3V lines and all 12V lines to power the PCI Express slot of the Video Card.

There are some guys that are doing the 12V mod on their bitcoin cards. From there, some people like MystPhysX decided to do it also for the 3.3V.

This is a visual explanation on how to do the 12V mod for the PCI-E extender.

[Guide] Homebrew powered risers.

After you do the 12V mod (cutting and wiring) , continue with the 3.3V (cutting and wiring) using the "visual" guide posted here:

http://forum.techinferno.com/diy-e-gpu-projects/3326-mac-mini-gtx660-echo-express-w7-%3D-black-screen.html#post47227

Link to comment
Share on other sites

You need to buy an PCI Express extender.

Arise, he is using a PE4L + Sonnet Expresscard Pro. The PE4L already has a PCI Reset Delay so is not necessary to add MystPhsyx's circuit. His issue is error12 which required generating a pci.bat as has been advised at http://forum.techinferno.com/diy-e-gpu-projects/4163-help-manual-pci-bat-egpu-setup-1-2-15-mbp-sonnet-echo-express-ati-7850-a.html#post64599 .

Link to comment
Share on other sites

  • 5 weeks later...

Quick question.

Shouldn't pin 10 on pci express riser card be connected to the pin 13 on the PSU shared by the orange and the brown wire or directly to the brown wire?

According to this document, I see a max current allowed at 375mA.

http://www.pzk-agro.com/0321156307_ch18lev1sec4.html#ch18table03

Sent from my iPhone 5 using Tapatalk 2

Link to comment
Share on other sites

  • 4 months later...
Hiya,

In my opinion, given that I didn't have any sort of budget cap for this project, it was very worth it! It was definitely not easy though and its taken me something like three months of work to get my systems running of which about 2.99 months was spent reading and understanding how PCI memory is allocated by the EFI or the BIOS before they hand off to the Operating System.

I do intend on doing a write up on both the setups but again, after spending such a monumental effort on it, I kind of just want to enjoy using it for a while before throwing myself into that (I did take detailed notes though so it should be possible to do a dummy's guide style thing)

For the system that you are looking at, these are the things that I would start off considering (I can't guarantee the accuracy of the information below, its what I managed to piece together and read from other people's experiences but it fits with the tweaks that I made to get it working):

The 15" rMBP has two on-board graphics processor's which physically connect to the PCI controller in exactly the way that you don't want them to. the Mac EFI pushes the dGPU (NVidia 650M) into the primary VGA space and allocates its PCI memory first. It then initialises and allocates the memory of the other devices on the PCI buses and finally it then initialises the iGPU (HD4000).

I believe the reason for this is the way that OS X handles the switchable graphics due to its App architecture. The problem is that Windows cannot correctly handle this switchable graphics system so when it comes to installing Windows 8 (or Win 7 for that matter) in EFI mode, it will quite happily utilise the HD4000 graphics driver, but cannot switch the internal display connection to the iGPU. If you want to read more about this issue, have a browse at Shelltoe's post - he has done a huge amount of investigatory work with this. I would add that the early 2013 rMBP that I have does not have any issue loading the driver for the iGPU but it does have exactly the same problem of shunting its output to the internal screen.

I know its an old post, but i need to point out that this is mostly false information.

Its possible to switch graphics before windows boots with LCD connected to HD4000 as primary device using gfxCardStatus + a small script.

The biggest problem are the intel drivers which will blank out no matter if the nvidia 650m is enabled or disabled.

See my thread for further information.

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.