

2013 15" MBP GT750M + [email protected] (Sonnet III-D) + Win8.1 [squinks]
-
Similar Content
-
By jimmyco2008
Intro
The Alienware Graphics Amplifier- Probably the best implementation of an eGPU enclosure that has ever existed, and at about $130 "like new" on eBay, it's a bargain compared to other PCIe enclosures like the Akitio Thunder 2 and Sonnet Echo Express, especially when you consider it comes with a 460-watt PSU (and two 6-pin PCIe connectors that can separate to two 4-pin connectors). Fantastic.
Obviously, though, it uses a proprietary Alienware PCIe port, making is just about useless to people like us who, if we had Alienware computers, probably wouldn't need an eGPU in the first place. I was curious how the Alienware GA did its magic, I figured it couldn't be all that different from how the Akitio Thunder 2 and others like it do their Thunderbolt-to-PCIe thing. So I scoured the Internet for some high-res pics of the inside of the GA, and finally found some. Similar, indeed, it has inside it a simple PCB with two PCIe slots: 1 PCIe x8 (which is backwards!) for the proprietary port and 4 USB 3.0 ports, and 1 PCIe x16 slot for a full-length, full-height, double-width GPU.
I finally got the GA in the mail today, so I could look at the circuits up-close and see just how proprietary that x8 card with the proprietary port is. From what I can tell, not very. The circuits (sorry if this isn't the official term, but the lines you can see on the board running from component to component) from the proprietary port run mostly to the PCIe x8 slot, where they then go over to the PCIe x16 slot. Both slots, by the way, receive power directly from the ATX connector from the PSU, so in the case of the x16 slot, you have some circuits running to the ATX connector and the rest going straight to the x8 slot.
My thinking is that the purposes of the x8 card are to, aside from doing a pass-through of the PCIe connection to an Alienware laptop, control the power state of the GA (turn it on and off) and of course control the USB 3.0 hub (that's what most of the ICs on the board appear to be for). I'm assuming that if the detection method for the proprietary connector is anything, anything of substance, it is something we will have to work around when we take that proprietary x8 card out. Fortunately, it may be possible to simply tape down the power supply's reset button which, if one holds it down, causes the GA to essentially power on- the fan in the PSU spins, as does the fan in the front of the GA. The Alienware logo on the front, however, does not turn on, so I'm thinking that's controlled by the x8 card as well.
The Plan
So I mentioned earlier that I will be replacing that proprietary x8 card, and you may guess with a Thunderbolt to PCIe x4 card. There's another thread here on "https://jatsby.com/echo/eGPU/Thunderbolt%202%20AIC.pdf"]ASRock Thunder II Manual
-
By Shelltoe
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 this solution that can be implemented today: [URL]http://forum.techinferno.com/diy-e-gpu-projects/4570-%5Bguide%5D-2012-13-rmbp-gtx660-sonnet-echo-express-se-%40-10gbps.html#post63754[/URL] (recommended for 15" rMBP/MBP due to iGPU issues) or 2013 11" Macbook Air + Win7 + Sonnet Echo ExpressCard + PE4L + Internal LCD [US$250].
While reading some threads about EFI-Boot on Mac I finally made my eGPU work.
I fixed my "error 12" by enabling VGA Output on the PCI bridge connected to my Thunderbolt ports using the EFI-Shell.
For this task I installed rEFIt and used "pci -i -b" / "pci xx xx xx -i -b" to find VGA devices and their bridges.
I noted all Bus/Dev/Func as well as the required registars. After that I had to set those registars using "mm".
On a Mac Book Pro 15" 2012 you'll have to do the following:
1. Install rEFIt
2. In Mac OS mount the EFI partition using terminal:
mkdir /Volumes/EFI
sudo mount -t msdos /dev/disk0s1 /Volumes/EFI
3. Create a textfile called "startup.nsh" in it's root:
echo -off
echo "Setting Registars"
# IGPU Intel HD 4000
# I noticed some improvements in boottimings while deactivating the Intel HD
# (don't use this if your running a 13" single gpu model)
mm 00020004 1 ;PCI :0
# eGPU PCI Bridge
# this line does the magic by enabling VGA Output
mm 0001013E 1 ;PCI :8
echo "Booting Windows"
fs0:EFIBootootx64.efi
4. Reboot while eGPU is connected (SW1=1) and select "start EFI-Shell" in rEFIt.
"startup.nsh" launches and Windows 8 starts up with eGPU enabled.
Update:
Replaced rEFIt with rEFInd which is is a fork of rEFIt.
I'm now able to create an menuentry which boots Windows using my startup script. I'm also able to hide the non functional Windows entries.
Here's my current refind.conf:
timeout 20
hideui banner
showtools shell, reboot, shutdown
dont_scan_dirs EFI/Boot, EFI/Microsoft
menuentry "Windows 8 with eGPU" {
icon EFI efindiconsos_win.icns
loader EFI oolsshell.efi
options "fs0:StartupseGPU.nsh"
}
Update (experimental):
Thanks to Linux's "apple-gmux" developer Andreas Heider I was able to switch graphics before booting Windows and enable Intel HD as primary VGA device. Though Intel HD is still bugged this probably allow us to enable Optimus functionality in the future.
You can also boot with Intel HD enable by installing gfxCardStatus 2.1.1(!) and setting it to integrated only, too.
For now you'll receive a black screen and reboot due to some "igdkmd64.sys" error.
Add this to your startup.nsh before "mm 0001013E 1 ;PCI :8":
echo Switch select
mm 7C2 1 ;IO :1
stall 100000
mm 7D4 1 ;IO :28
echo Switch display
mm 7C2 1 ;IO :2
stall 100000
mm 7D4 1 ;IO :10
echo Switch DDC
mm 7C2 1 ;IO :2
stall 100000
mm 7D4 1 ;IO :40
echo Power down discrete graphics
mm 7C2 1 ;IO :1
stall 100000
mm 7D4 1 ;IO :50
mm 7C2 1 ;IO :0
stall 100000
mm 7D4 1 ;IO :50
echo enable eGPU
mm 0001013E 1 ;PCI :8
echo Boot Windows
fs0:EFIBootootx64.efi
Some numbers:
Model:
rMBP 15"
OS:
Windows 8 EFI-Boot
CPU:
Intel-i7 3820QM @ 2.7gHz
RAM:
16GB
iGPU:
Intel HD Graphics 4000 (broken for Win8)
dGPU:
Nvidia GT 650m
Adapter:
TH05
I tried some overclocking and ended up with some strange results for 3D Mark 06. No matter what you change you'll have lower points than default settings.
dGPU GT650m
eGPU GTX
560Ti
eGPU GTX660Ti
eGPU GTX660Ti OC
3DMark 2011:
2431p
4415p
7110
p
7463
p
3DMark Vantage:
10633p
16755
p
23810p
24702p
3DMark 2006:
15289p
17479p
17979
p
like 15900?
This might work for BIOS boot aswell but I don't know how to launch an MBR partition. (Update: BIOS method by nando)
I'll try to tweak this a bit and hope for an Intel fix.
Is there anyone with some more knowledge in EFI Shell?
-