Bplus TH05 Thunderbolt to PCIe adapter

I like really small computers and I dislike having a seperate desktop for running games or other graphics intense software. My choice of an 11" MacBook Air 5,1 is a little odd for a gaming machine, but it satisfies the small requirement. But I had great success with a PE4L v2.1b and my old Vaio Z, so promise of the same setup but without the lag caused by ExpressCard's bandwidth issues drew me to the MBA.


Bplus just started shipping engineering samples of the TH05 adapter last month. I've had mine for a few weeks. Physical setup is very easy, I used a GeForce 550 Ti and ordered the version that included a Thunderbolt cable from Bplus.


Initially it didn't work at all. The Vaio Z never worked perfectly with the PE4L, many laptops are not designed to have their PCI layout change. This results in the BIOS failing to load in the worst case, or commonly a booting system where one or more of the GPUs fail to allocate resources. In Linux, you can sometimes get the dead GPU to live by echoing values into enable/remove/reset/rescan depending on what's not working in /sys/devices/pci//.

On the Vaio, I had all these problems. The BIOS would crash unless you plugged the GPU in at Grub's screen. I could get the GPU closer to initializing by disabling the internal Nvidia GPU and init'ing the external GeForce 550 Ti, but it still didn't work. What did work, was using a shim called DIY eGPU Setup. This could load before Linux and do the equivalent of forcing the BIOS to use a 36-bit PCI address space, loading both Nvidia GPUs at the same time.

With the TH05 and the MacBook Air, it would just instantly crash after the grey EFI screen disappeared. The solution was much simpler than the Vaio. Ubuntu by default installs using the BIOS module provided for Bootcamp. Plugging in the card after booting does sort of work in BIOS mode on the MacBook Air (the Thunderbolt PCI tree appears in Linux but doesn't function entirely). Booting in EFI mode however, works perfectly. The only trick besides that is adding a BusID to xorg.conf.

Section "Device"
    Identifier "Device0"
    Driver     "nvidia"
    BusID      "8:0:0"

With that, the eGPU works perfectly with the 2012 MacBook Air. Performance is much closer to using the 550 Ti in a 16x slot on a comparable desktop than it was with the Vaio. There's no lag like the PE4L setup had in some games. Stability is very good, I've tested a number of games native and with Wine and run into no issues specific to the eGPU setup.

For Windows and OS X support, I suspect it's possible. I'm not very familiar with either but OS X does boot and see the GPU (sort of, some of the utilities stop working with it installed). There's probably driver configuration issues to work through there. I didn't test Windows 7, but EFI mode should be possible.