Jump to content
kloper

2013 MBA + GTX570@8Gbps-TB1 (TH05) + Win7 [kloper]

Recommended Posts

NOTE: The US$180 BPlus TH05 (inc Thunderbolt cable) native Thunderbolt adapter used in this implementation was recalled in Jan 2013 due to (presumably) threats by Intel/Apple per TH05 recall notice. As a result refer to either of these solution that can be implemented today: http://forum.techinferno.com/diy-e-gpu-projects/4570-%5Bguide%5D-2012-13-rmbp-gtx660-sonnet-echo-express-se-%40-10gbps.html#post63754 or 2013 11" Macbook Air + Win7 + Sonnet Echo ExpressCard + PE4L + Internal LCD [uS$250].

Hi!

Well, with Apple having just released the new 2013 Macbook Airs and me being bored of my old heavy 13" Retina Macbook Pro, I figured, sure, lets try it out. As you might remember, I got my old laptop working perfectly with my eGPU (w/ Optimus) here: http://forum.techinferno.com/diy-e-gpu-projects/2728-%5Bguide%5D-2012-13-retina-mbp-bios-win7-gtx570%40x2-2-th05.html. Thing is, I'm not upgrading unless everything works again. Well, I'm happy to say that my newly purchased 11" Macbook Air (w/ i7 Haswell) is fully compatible -- and I've written instructions for how you could do it too!

We're going to be using Windows 7 BIOS (not windows 8, and not EFI). Getting Windows 8 EFI working with the eGPU is effortless, but Internal LCD rendering (via Optimus) doesn't seem to work. Windows 8 BIOS didnt work for the same reasons as the retina mbp (internal lcd remains off when the eGPU is plugged in). Also, I didn't get to try Windows 7 EFI because I couldn't get the damn installer to start.

Ok!

Benchmarks are coming [for reals this time!], and I'll update this thread once they're done. Spoiler: It's still insanely fast :D It's fast because this monitor is 1366x768, plus a crazy video card. Woo!

System specs

  • Mid-2013 11" Macbook Air
  • 1.7 GHz Intel Core i7-4650U (basically the most maxed out 11" mba)
  • 8GB 1600 MHz DDR3
  • Intel HD Graphics 5000 1024 MB
  • Windows 7 Professional 64-bit (BIOS)
  • 512GB Apple SSD

Requirements

  • TH05 Thunderbolt -> PCI-Express adapter. Unfortunately this adapter is still discontinued. Intel requires all Thunderbolt devices to be licensed and BPlus Technologies (the makers of the TH05) have been unable to get this license. Intel first complained about there not being a case, but when that was fixed, Intel came up with other excuses, forcibly preventing eGPUs from existing. See the Facebook discussion, and http://forum.techinferno.com/diy-e-gpu-projects/2680-th05-recall-notice.html, for more details. Although these instruction are specific to the TH05, they could also be relevant to other adapters.

  • NVidia GTX 570 videocard. Note you can probably use any video card including ATI cards and these instructions should be identical. See note at end about Internal LCD rendering on ATI cards.

  • 300W power supply capable of running the video card. Look at your video card's spec sheet to see the peak wattage only it uses (not the suggested value that often includes motherboard + hard drives, etc).

  • 2013 11" Macbook Air. Instructions should be identical for the 2013 13" Air though.

  • A USB memory key that's at least 4GB for Boot Camp

  • Other software: Windows 7 ISO (from MSDN / MSDNAA / etc).

PART A: Generic prep of Windows 7 64-bit

  1. On your mac use Boot Camp Assistant to prep a USB key with Windows 7 64-bit
  2. Still with Boot Camp Assistant, partition your main drive and start the Windows 7 installation process. I recommend around at least a 60GB partition. Games are big these days. If you just don't have the space, you can do what I do and turn off Hibernation Mode and the Virtual Memory Page File to save hard drive space (about 17GB together).
  3. Once partitioning is done, your computer will auto reboot and the Windows 7 installer will start. Install Windows 7.
  4. The Windows 7 installer will install the Boot Camp drivers at the end of it.
  5. Go to Intel's site and download the latest Intel HD 5000 drivers for Windows 7 64-bit.
  6. Launch Windows Update and apply all required/optional patches. Reboot as required. Repeat this step until nothing’s left.
  7. There's some clock weirdness when switching between Windows and OSX, so add the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal with DWORD value 1

PART B: Putting together the eGPU and understanding the problem

  1. On the TH05, set SW1 to position 3 (6.9s, though note it's more like 30s). Set SW2 to 2-3 for 2X.
  2. Plug in the power (the white connector) on the TH05 to your power supply. There is no need to plug in the Black and Red cable (this is for automatic powersupply control, which doesnt work on the Macbook). Keep the pins disconnected on the TH05. Plug in the TH05 to your video card.
  3. Plug in the motherboard connector to the included SWEX adapter. Make sure it is in the ON position (1-2). Also plug in any required 6-pin/8-pin connectors to your GPU. Mine required 2 6-pin plugs.
  4. Make sure your laptop is shut down.
  5. Plug in the thunderbolt cable to the TH05 and then the laptop. Also, make sure no monitors are plugged into the video card.
  6. Turn on the power to the power supply, the GPUs fans should start, then start your laptop. Hold the Option key. Now wait for the red light to turn off on the TH05. Once it’s off, select Windows.
  7. Go to NVIDIA’s site, download and install the latest drivers for your video card. When prompted to reboot, shut down the computer instead.
  8. Turn off the eGPU’s power supply.
  9. Start the eGPU's power supply and boot your laptop, waiting for that red light to go off again before selecting your Windows partition. You will always need to do a power cycle of the eGPU when rebooting your computer because of the way the TH05 works.
  10. Once Windows has started, open the Device Manager. Select Scan For New Hardware.
  11. Notice the GTX 570 is listed with the yellow exclamation mark. If you double click on it you’ll see the dreaded Error 12. This Error 12 means that Windows wasn’t able to allocate a contiguous block of memory for the video card. Yes you probably have 8GB in your laptop, but the PCI Bus doesn’t work that way. We’re going to get rid of that error by reallocating devices in the PCI Bus.

PART C: Getting rid of Error 12 on this Windows 7 (BIOS) install

  1. Go purchase DIY eGPU Setup 1.x here: http://forum.techinferno.com/diy-e-gpu-projects/2123-diy-egpu-setup-1-x.html and run the self-extracting exe on Windows to install to c:\eGPU.
  2. Open an administrator command line and run c:\eGPU\setup-disk-image.bat. This will install everything and add a boot item so you can load the video card. Next we'll configure DIY eGPU Setup to work with the 2013 Macbook Air and Haswell chipset.
  3. Mount the virtual disk image by running e:\eGPU\eGPU-Setup-mount.bat. This will mount a V: drive.
  4. In notepad, open the file V:\core\intel.txt. Add the following above the Series-7 entries:

    0x9c43 QS87 2 8 62
    ; Series-8 (5GT/s)


  5. In notepad, create the file V:\config\pci.bat and paste the following into it:

    @echo -s 0:1c.4 COMMAND=0 1d.b=50 22.w=BEB0 26.w=D3F1 > setpci.arg
    @echo -s 5:00.0 COMMAND=0 1d.b=41 20.w=B0B0 22.w=BB00 24.w=C001 26.w=D1F1 >> setpci.arg
    @echo -s 6:03.0 COMMAND=0 1d.b=31 20.w=B200 22.w=b700 24.w=c001 26.w=CDF1 >> setpci.arg
    @echo -s 6:04.0 COMMAND=0 1c.b=41 1d.b=41 20.w=BAC0 22.w=BAF0 24.w=D1C1 26.w=D1F1 >> setpci.arg
    @echo -s 7:00.0 COMMAND=0 3C.b=0 >> setpci.arg
    @echo -s 8:00.0 COMMAND=0 1c.w=2121 20.l=B300B200 24.l=C9F1C001 28.l=0 30.w=0 3c.b=10 >> setpci.arg
    @echo -s 9:00.0 COMMAND=0 1c.w=2121 20.l=B300B200 24.l=C9F1C001 28.l=0 30.w=0 3c.b=10 >> setpci.arg

    :: NVidia eGPU
    @echo -s a:00.0 COMMAND=0 10.l=b2000000 14.l=c0000000 1c.l=c8000000 24.l=00002F81 3c.b=10 3C.b=10 50.b=1 88.w=140 >> setpci.arg
    @echo -s a:00.1 COMMAND=0 10.l=B30FC000 3c.b=10 >> setpci.arg

    :: Re-enable CMD
    @echo -s 0:1c.4 COMMAND=7 -s 5:0.0 COMMAND=7 -s 6:3.0 COMMAND=7 -s 6:4.0 COMMAND=7 >> setpci.arg
    @echo -s 7:00.0 COMMAND=6 -s 8:0.0 COMMAND=7 -s 9:0.0 COMMAND=7 >> setpci.arg
    @echo -s a:00.0 COMMAND=6 -s a:0.1 COMMAND=6 >> setpci.arg
    setpci @setpci.arg
    :: Disable CMD, set PCIe config space


  6. In notepad, edit the file V:\config\startup.bat and paste the following into it:

    call vidwait 60
    call vidinit -d %eGPU%
    call pci.bat
    call chainload mbr
    call speedup lbacache


  7. Turn off your MacBook, power cycle the eGPU from the power supply and make sure the thunderbolt cable is still plugged into the MacBook. Make sure no display is plugged into the card.
  8. Turn your MacBook on while holding Option. There's no need to wait for the red light to turn off now before proceeding. Select the windows partition.
  9. Windows will boot into a menu allowing you to select between Windows and eGPU setup. Select eGPU setup.
  10. Once you get to the Blue first menu, press enter for Option 1. This will prep the PCI Bus. Note it might take a few seconds for the eGPU to be detected (basically until the red light goes off)
  11. Once that exits, you'll be back at that same menu from step 9. This time select Windows 7 and wait for it to boot.
  12. Open up the Device Manager and you should see the GTX 570 again, except ... without the yellow exclamation mark! Horray! You fixed Error 12!
  13. Double click on the NVidia icon in the system tray. On the left side click on “Adjust image settings with preview”.
  14. I know it’s shocking, but if you see a spinning NVidia logo, your internal LCD screen is being rendered by your external GPU! If you don’t believe me, launch your favorite game and notice how there’s no way the Intel HD 5000 could render it so well. I recommend you now install your fav benchmarking software, GPU-Z, FRAPS, Steam, etc to take advantage of your laptop’s new abilities.
  15. You win!

Notes

  • For ATI cards to render on the Internal LCD, you’ll need to use Virtu. See http://forum.techinferno.com/diy-e-gpu-projects/2109-diy-egpu-experiences-%5Bversion-2-0%5D-35.html#post33187 for instructions on how to get this to work.
  • When doing Internal LCD mode (which you’re doing when you have no monitor plugged into the video card), PhysX might not be on. Open the NVidia control panel and switch it from CPU to Auto. When doing benchmarks, keep it on CPU though.
  • Dont forget that every time you reboot, you must power cycle the eGPU
  • If someone knows how to get the eGPU to restart with a reboot of the computer, please let me know. Simply connecting the black and red cable isn't enough on the MBP from my observations. I tried the switch in both positions and both polarities.

Here's my latest "case": :D

post-7879-14494995618584_thumb.jpg

(the clear strip is the tape "handle"!)

Enjoy, and I hope these instructions were helpful for you! If you're on Twitter, i'd appreciate a follow: @lg Also thanks to Tech Inferno Fan for helping out!

  • Thumbs Up 3

Share this post


Link to post
Share on other sites

love your writing. For apple users, this is the most uptodate how to now. :D

though partB can be used for all egpu users without the error12. just set SW1 to 1

Share this post


Link to post
Share on other sites

thanks :)

the SW1=1 i believe will only work on an EFI install (which means no Optimus internal lcd stuff)

Share this post


Link to post
Share on other sites

How can i check Optimus whether its enable or not?

My gpuz says PCIE 2.0 x16 @ x1 2.0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

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.