Jump to content
EwinRacing Flash Series Gaming Chairs
borealiss

2011 13" MBA + GTX560@10Gbps-TB1 (Sonnet EE) + Win7 [borealiss]

Recommended Posts

Hi everyone.

I haven't messed with egpus for a while since nbforums, but you can possibly get this running on windows 7 bios mode without the use of any scripts, egpu diy setup, dsdt reallocation etc...

Windows 7 is very good at figuring out where to shove devices in the MMIO address range. I have the sonnet echo express and a gtx 560. When I disabled my NIC, all audio devices, and my intel igpu, the gtx560 will not show error 12. It will work, but the igpu will be displaying at a low resolution because it is disabled.

When all these other devices are disabled, reenable the igpu, then reboot. This is the same process I had to use when I was using Sonnet's thunderbolt->expresscard adapter.

After I rebooted, both the gtx560 and intel igpu are working.

Anyways, I didn't realize so much progress had been made regarding egpu's on thunderbolt. It's awesome to see this alive and well.

Eric

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

If this is true, then it is amazing, MBA will finally be the jack of all trades machine that many of us want it to be.

If possible, can you give more details about your setup?

1) What is the spec of your MBA? 2GB ram 4GB ram?

2) What version of OSX are you running, what Nvdia driver version are you running, what Intel iGPU driver version are you running?

3) What version of window 7 are you using? 32bit 64bit, bootcamp? Parallels? VMWare. have you tried more then one?

4) when you disable the igpu on device managers, did you still have internal LCD display? After restart, did you notice any minor / major issues with your system.

5) Do you have to re-perform the setup every time you go from OSX to windows and back? Or after you done it once everything just works?

6) have you tried it on any other macbook or MBA, like machine that have 8 or 16gb of ram?

Thank you advance for your answers. I think there are many MBP-13 and MBA users on this board, and we are all very anxious to do the same thing to our machines.

Share this post


Link to post
Share on other sites

1) mid 2011 MBA, 13 inch i7, 4gig.

2) Lion i think.

3) 64bit bootcamped windows 7.

4) I just disabled iGPU in order to allow the egpu to populate into it's own MMIO range. You can do this through device manager. When you boot up with "error12", go into device manager, disable the broadcom wireless nic, the 2 high def audio devices, and disable the intel igpu. This will throw your display back to a 1024x768 basic display with no hardware acceleration. Once you reboot, check device manager. You've effectively given the gtx560 the first pick of available MMIO ranges.

The intel igpu, wireless nic, and audio devices have less requirements for consecutive MMIO address ranges since they occupy a narrower memory range. After reboot go and enable just the igpu. Then reboot again. You should now see the igpu and egpu working just fine. Optimus works as well as outputting to a second monitor. Go back and re-enable the wireless nic and audio devices. No reboot is required to get these to work.

Since I'm using a sonnet chassis, I do not have control over pcie powergood pin, like people with the th05. It seems the th05 allows them to delay the assertion of this signal to the pcie card, which effectively tells the egpu when to come out of reset.

The way i had to work around this was to use a pcie extender cable and completely isolate all the power rails to an external powersupply. I also hooked up pcie powergood to atx powergood. The i insert the card into the cable, and cable into the chassis.

The issue I'm running into now I suspect is a power delivery problem. I have a relatively anemic PSU hooked up to the video card, and it can render 3d using optimus or external monitor if it's not too intense. If starts getting really heavy and the fan kicks on, the graphics driver will crash and I'll get thrown back to the desktop. I have a 450watt ATX PSU that I'm going to try this evening.

5) No. You can just hibernate your system. This is what I did when I had the sonnet->expresscard adapter, and honestly, it worked great. I only rebooted once a month maybe.

If you install updates that cause a cold restart, you may have to do it again. In my experience though, once windows learns of the configuration that works for you, it will remember it. If I install a driver update, you will have to do this process again. It takes about 5 minutes (SSD helps), so it is up to you to determine whether that is acceptable for you.

6) No.

I will try later tonight with a larger PSU. Notice the 1U server PSU, pretty anemic.

Here's a pic of my setup with the sonnet chassis.

- - - Updated - - -

Pic is below, kept having upload problems.

post-9009-14494994152613_thumb.jpg

Share this post


Link to post
Share on other sites

problem was a power delivery issue.

new PSU solved the problem. optimus and external monitor both work flawlessly in bootcamped win7.

here some pics of both optimus and external monitor.

post-9009-14494994162445_thumb.jpg

post-9009-14494994156491_thumb.jpg

post-9009-14494994158537_thumb.jpg

post-9009-14494994160568_thumb.jpg

  • Thumbs Up 1

Share this post


Link to post
Share on other sites
plooks like you are the only m was a power delivery issue.

new PSU solved the problem. optimus and external monitor both work flawlessly in bootcamped win7.

here some pics of both optimus and external monitor

Congrats again Borealiss looks like you are the only one that got this method to connect the gpu working. Other people have tried your method and have not had any luck. If I had the tools I would been trying it on my MBA also, but atlast $600 to try something that might or might not work is too much money for the uncertainty.

Share this post


Link to post
Share on other sites

yeah it's too bad the cost of entry is so high now that the th05 is completely unobtainable. MSI's gus2 seems to be MIA too.

but if you're going to spend $1000+ on an ultrabook like the macbook air, and $200+ on a graphics card, then $20 for the extender cable and $400 for the chassis is not too bad for the performance you get.

other notebooks in this performance range cost probably $1500-$2000, and you don't get the modularity of the graphics card, plus the ultra portability of the macbook air.

to me this is a fun hobby, so even if it didn't work out for me, i enjoy doing it regardless.

i could spend my money on a lot of different things, but for $600, i've gotten a lot of enjoyment out of the whole thing, and learned a lot. i've certainly spent way more on my car hobby...

Share this post


Link to post
Share on other sites

I got my gtx 660 detected and installed drivers automatically.

However when I clicked the Nvidia control panel, it shows "You are not currently using a display attached to Nvidia gpu".

Is this problem related to internal screen problem?

I am using a 2011 Macbook pro 15', with gtx 660 via thunderbolt.

Share this post


Link to post
Share on other sites
1) Since I'm using a sonnet chassis, I do not have control over pcie powergood pin, like people with the th05. It seems the th05 allows them to delay the assertion of this signal to the pcie card, which effectively tells the egpu when to come out of reset.

The way i had to work around this was to use a pcie extender cable and completely isolate all the power rails to an external powersupply. I also hooked up pcie powergood to atx powergood. The i insert the card into the cable, and cable into the chassis.

Hey a little help needed. How did you manage this? I'm currently using the OWC Helios with an HD7950, rMBP and a 650w PSU which provides 53A on the 12v rail and I'm pretty sure I have the same problem. When I plug the Helios into to rMBP the fans on the HD7950 spin up but it doesn't show up in Device Manager. The Helios provides about 90w along the PCIe connection and I've confirmed that the HD 7950 is using that power by noticing that the fans on the card still spin after disconnecting the card from my 650w PSU.

*edit - Forgot to mention that if I plug in the Helios and GPU before Win 7 boots up it hangs; had the same issue with Win 8. When I plug in the Helios without the GPU an entry in Device Manager shows up under the name "Thunderbolt" and states that there are no drivers installed. Pics on Imgur because T|I isn't letting me upload them for some strange reason. http://imgur.com/SChSVfw,WsPBNsS

Share this post


Link to post
Share on other sites

You're not going to be able to get the eGPU to boot with BIOS emulation using bootcamp if it is plugged in from cold start. You need to do something to delay the assertion of the powergood pin on your card.

Check out PCI Express - Wikipedia, the free encyclopedia

The PWRGD pin is the one I hooked up to from my ATX powersupply to the pins on the PCIE board.

ATX - Wikipedia, the free encyclopedia

It's the grey pin I believe. Just to double check, you should take a digital multimeter and probe the PWRGD pin on your Helios to make sure it's the same 5V supply as the ATX powergood signal. I didn't do this and plan to. Online references suggest these are the same power rails in a system, but it's never too good to be safe versus blowing up something on your card.

You also need to wire up your ATX powersupply so that it can be switched on without being plugged into a motherboard.

How do I manually turn on an ATX power supply? | techPowerUp

I had to use an interposer/extender cable to tap into all of the powerlines on pcie pins 1-11, sides A and B. So my eGPU is completely power isolated from my sonnet adapter. You will have to do something similar, as well as hook up the powergood pins. Your ATX powersupply should also drive any auxiliary power to the card via molex or pcie power connections (sideband). This way your ATX/external powersupply coordinates the poweron sequence for your eGPU.

You will then have to have your Helios connected at cold start, but have your powersupply turned off. Once you hold down OPTION to boot into windows, wait 4-5 seconds then power on your eGPU via powersupply.

One thing I do here is install the DIY egpu software so that when the windows boot menu comes up, I can go into the egpu software setup and scan to see if the eGPU got enumerated and is present. If it didn't, just power off your powersupply, wait a few seconds, and turn it on. Then hit F5 to rescan. Once you get the timing down, this can become unnecessary.

Once you've verified that it's detected, chainload your MBR and boot into windows.

This whole process usually takes me about a minute to do whenever I enable my eGPU.

Unfortunately, until a thunderbolt chassis manufacturer provides a way to assert/deassert or delay the assertion of PWRGD on the PCIE interface, this is the only workaround I know of. It also has the detrimental effect of screwing up the form factor of the chassis, but at least with BIOS emulation you get a 100% working optimus solution with nVidia graphics cards. I have taken this setup on the road, and my sonnet/egpu/psu setup fits very nicely in a small tote bag. It is awesome.

You might want to give the EFI BIOS installation method a try. Booting via EFI allows you to bypass the power isolation workaround because the EFI BIOS that windows uses properly enumerates the graphics card and you will not get the hanging you see when you boot up with the eGPU plugged in with bootcamp.

Good luck.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Thanks for the info, I'm going to try it your way. From what I understand though you did as marked in the attachment, but what about the ones marked with an "x"? Where did you connect them on your PSU?

post-5723-1449499430672_thumb.jpg

Share this post


Link to post
Share on other sites

I connected the 12V line up to one of the power rails on the ATX power supply. I connected the 3.3V line up to a SATA power connector.

Honestly, if you're willing to cannibalize an ATX PSU, you can just hook it all up directly. Look at the ATX pinout and PCIE pins 1-11. The 3.3V lines on the pcie interface can be hooked up directly to the ATX PSU, you just need to do some soldering, or wire wrapping. Same with the 12V lines. If you don't want to sacrifice a PSU, get an ATX PSU extender cable, and splice into that. The wiring loom shouldn't take more than maybe an hour to make.

This is the cable I used to splice into everything, so I don't void the warranty of the thunderbolt chassis.

Google Image Result for http://image.ecbub.com/productd/937/5379976_1.jpg

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Hey borealiss, I've set everything up and I've confirmed that it works with a few hitches. I've tried running the setup with a 560ti and a 7950 and both GPUs were connected to an external display via DVI to VGA (adapter confirmed to work). The problems I have are my 560ti doesn't output to an external display, instead is tells me that the 560ti isn't connected to any external display when I try to open the Nvidia control panel; and I can't get rid of error 12 no matter what I try when the 7950 is connected (compaction, your work around etc). I've confirmed that the display works perfectly with another laptop so it can't be the display.

Other info: Mercury Helios (works)

Win 7 x64

rMBP

Share this post


Link to post
Share on other sites

Unfortunately I can't speak for ATI cards. What you can try to do is disable your onboard graphics and then see if the ATI card is enabled in device manager. If you are still seeing error 12, then go and disable every unnecessary device until you get it to a configuration that works.

If you can never get to a working configuration, you might be out of luck. Compaction is known to have some bugs in it, and Nando had indicated there was a fix coming. I've never heard of a follow up, so you might want to check with him.

If you do get the ATI card into a working state without error 12, even with everything disabled, write down the MMIO ranges. You'll have to set them up manually in your pci.bat file by using setpci. A quick google search will tell you what the syntax is for setting the BAR registers to mimic the working MMIO range.

From here you will have to slowly enable all your devices and not which ones cause error 12s on your ATI card. Whenever a device causes an error 12 on your ATI card, you'll have to append that device to your pci.bat file and manually set the BAR registers with setpci for that specific device. This is really slow and time consuming, and honestly I don't think it's worth your time. Just use the nVidia card.

As for why you're not able to output to external display, I'm not sure. Have you tried native DVI or HDMI output to input? Are you able to render on the laptop's internal display?

- - - Updated - - -

Also, are you booting up with external monitor connected, or are you connecting after poweron?

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Nando4 informed that Setup 1.2 fixes quite a bit of the compaction issues. I'm going to try that for the AMD card. Regarding the display, the monitor I'm using only accepts VGA (I'm going to buy another soon). I've tried keeping it plugged in from boot and hot plugging it but to no avail. I can't render on the laptop's display as far as I can tell.

*edit: The unreleased version of Setup 1.x

Share this post


Link to post
Share on other sites

I'll try 1.2, thanks, I didn't know it was out.

As for rendering internally, what makes you say you can't? In the nvidia preferences, you can tell it to either use the integrated graphics or discrete (egpu) graphics. I set it to discrete and I see a huge performance increase when rendering on the internal display.

- - - Updated - - -

No. I used gpu-z or some other utility to confirm it stays at gen2.

Share this post


Link to post
Share on other sites
I'll try 1.2, thanks, I didn't know it was out.

As for rendering internally, what makes you say you can't? In the nvidia preferences, you can tell it to either use the integrated graphics or discrete (egpu) graphics. I set it to discrete and I see a huge performance increase when rendering on the internal display.

The Control panel doesn't open for me. Something is wrong with my riser cable. I'm going to have to replace it. Anyway I'm using a rMBP so I don't have an iGPU active.

Setup 1.2 isn't actually out yet. I managed to get a pre-release version from Nando4 and it works quite well.

Share this post


Link to post
Share on other sites
The Control panel doesn't open for me. Something is wrong with my riser cable. I'm going to have to replace it. Anyway I'm using a rMBP so I don't have an iGPU active.

Setup 1.2 isn't actually out yet. I managed to get a pre-release version from Nando4 and it works quite well.

My understanding of the 13" rMBP is if you use BIOS/MBR mode, where you've partitioned your HDD using bootcamp, then the iGPU will be active at the same time as the eGPU. There you are incorporating a modified x8/x16 pci-e riser to give your OWC Helios a PCI reset delay (PERST#) necessary to boot into Setup 1.2 with the eGPU active in BIOS mode. FYI: I've been advised that a user toggable PERST# switch, as was found on the no-longer-available TH05, was outside of Intel's certification parameters. Meaning I'm not expecting to see that feature on any of the other budget Thunderbolt options still available (Sonnet Echo Express SE, OWC Helios). With budget we're talking > $360 (inc TB cable)

Once booted into Setup 1.2, you perform PCI compaction and chainload to Win7/8 (or use an automated startup.bat) with it all working. Certainly that's what works on my 13" MBP + GTX660Ti/HD7870 + TH05. I

Furthermore, I'm of the impression that a EFI Win8 installation doesn't have the iGPU active simultaneously with the eGPU on the 13" rMBP. Strange that. This why we're resorting to BIOS/MBR mode + PERST# delay + Setup 1.2 to get the iGPU+eGPU working. If the iGPU isn't active then it means no Optimus or LucidLogix Virtu internal LCD mode.

Share this post


Link to post
Share on other sites

I just disabled iGPU in order to allow the egpu to populate into it's own MMIO range. You can do this through device manager. When you boot up with "error12", go into device manager, disable the broadcom wireless nic, the 2 high def audio devices, and disable the intel igpu. This will throw your display back to a 1024x768 basic display with no hardware acceleration. Once you reboot, check device manager. You've effectively given the gtx560 the first pick of available MMIO ranges.

The intel igpu, wireless nic, and audio devices have less requirements for consecutive MMIO address ranges since they occupy a narrower memory range. After reboot go and enable just the igpu. Then reboot again. You should now see the igpu and egpu working just fine. Optimus works as well as outputting to a second monitor. Go back and re-enable the wireless nic and audio devices. No reboot is required to get these to work.

Have anyone else succeeded with this solution?

I got the same MBA as borealiss (Macbook Air mid-2011, 4GB and i7-2677m) but tried with the Sonnet Echo Expresscard + PE4L solution and a GTX 660. Are there perhaps more things I can try to disable, or is the other graphic card the issue?

Share this post


Link to post
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.