Jump to content

2016 Macbook Pros and eGPUs


leocanela

Recommended Posts

Thought I'd give an update on my findings...  My original testing was with non-touchbar base MBP13, a razer core, and gt670 and 980ti.  My interest is only with gaming in bootcamp at this point, so all that follows is in windows.  

 

I had success with the gtx670 by installing all the standard stuff (win updates, synapse, razer gpu switcher) before connecting the core.  Then shutdown, connect core (which had external monitor), install nvidia drivers.  I could only get acceleration by launching on external monitor and dragging to internal display.  I could never get this to work without the extgernal display being connected.  Doing the same install process with my 980ti resulted in the error 12, which it seems may have had a fix based on recent posts.

 

Since then, I ended up returning that base MBP13 and getting a maxed MBP13 with touchbar.  I followed the same approach as described above and and had no error 12 but I also am now able to use the internal display only.  I don't know why it's behaving differently but this is working consistently through internal display, which is what I needed.  I do have an "Unknown USB Device (Device descriptor request failed) item in device manager with "Windows has stopped this device because it has reported problems. (Code 43)" but I don't know what this is.  USB ports on the core work fine but haven't tested ethernet.

 

Only downside is that I can't get audio through my internal speakers or headphones when razer core is connected.  I have the internal or headphones set as default and the windows sound config is illuminating the sound meter next to the internal speakers but nothing is coming through at all.  It also doesn't even detect that headphones have been plugged in.  THe only way I can get audio back through internal speakers is to shutdown and disconnect core before restarting, which isn't much of a fix...

 

Any thoughts on the audio issue?

 

 

Exact steps for my latest install procedure attached in case helpful to others.  I initially installed without nvidia HD audio drivers because didn't need audio through external display but I later did a clean install and added them due to the audio issues I had, which didn't help.

 

Image.png

  • Thumbs Up 1
Link to comment
Share on other sites

I'm going to be purchasing a Macbook Pro 15" 2016 model with GTX 1080 and Razer Core. Will see if I can have any luck disabling the dGPU and see if I can get it working on both the external and internal display.

I have one question, however. Will the stock 2.6GHZ quad with 3.5 turbo bottleneck the GTX? 

Edited by MacGamer
Link to comment
Share on other sites

8 hours ago, RB.mac said:

Thought I'd give an update on my findings...  My original testing was with non-touchbar base MBP13, a razer core, and gt670 and 980ti.  My interest is only with gaming in bootcamp at this point, so all that follows is in windows.  

 

I had success with the gtx670 by installing all the standard stuff (win updates, synapse, razer gpu switcher) before connecting the core.  Then shutdown, connect core (which had external monitor), install nvidia drivers.  I could only get acceleration by launching on external monitor and dragging to internal display.  I could never get this to work without the extgernal display being connected.  Doing the same install process with my 980ti resulted in the error 12, which it seems may have had a fix based on recent posts.

 

Since then, I ended up returning that base MBP13 and getting a maxed MBP13 with touchbar.  I followed the same approach as described above and and had no error 12 but I also am now able to use the internal display only.  I don't know why it's behaving differently but this is working consistently through internal display, which is what I needed.  I do have an "Unknown USB Device (Device descriptor request failed) item in device manager with "Windows has stopped this device because it has reported problems. (Code 43)" but I don't know what this is.  USB ports on the core work fine but haven't tested ethernet.

 

Only downside is that I can't get audio through my internal speakers or headphones when razer core is connected.  I have the internal or headphones set as default and the windows sound config is illuminating the sound meter next to the internal speakers but nothing is coming through at all.  It also doesn't even detect that headphones have been plugged in.  THe only way I can get audio back through internal speakers is to shutdown and disconnect core before restarting, which isn't much of a fix...

 

Any thoughts on the audio issue?

 

 

Exact steps for my latest install procedure attached in case helpful to others.  I initially installed without nvidia HD audio drivers because didn't need audio through external display but I later did a clean install and added them due to the audio issues I had, which didn't help.

 

Image.png

Try disable and then enable sound card: "Cirrus Logic CS8409 (AB 54)" under "Sound, video and game controllers".

Link to comment
Share on other sites

21 hours ago, Morv said:

@goalque So it does work like Nvidia Optimus but with way better performance on the internal display? Which driver? Simply the current AMD driver or a specific driver?

 

21 hours ago, rwssoccer1 said:

Nice! So was this without any modifications to the PCIE...etc...

 

I also ran the Time Spy and 3DMark13, yielding ~94% and ~93% of the external monitor performance. Requires a workaround (hint: it’s one of the @Tech Inferno Fan’s suggested steps). Windows 10 downloads the AMD driver automatically, you can uninstall it in device manager and update the driver software to the latest by selecting a new one from the extracted package. I haven’t seen anyone else reporting “AMD XConnect Lite Technology” on Mac computer. This applies to iGPU only MBP. I suppose the dGPU model needs more configurations.

 

EDIT: it's renamed to "AMD XConnect Technology" with the latest drivers.

 

TimeSpy.PNG

Edited by goalque
  • Thumbs Up 2
Link to comment
Share on other sites

7 hours ago, 613 said:

Try disable and then enable sound card: "Cirrus Logic CS8409 (AB 54)" under "Sound, video and game controllers".

 

Disabled, which prompted a restart.  Upon restart and a re-enable, sound works.  Thanks!

Link to comment
Share on other sites

My current status on the macOS side, trying with a GTX 980 Ti:

  • Patched IOThunderboltFamily.kext and can get the Razer Core to show up in the System Profiler, as well as the GPU.
  • USB and Ethernet ports work plug-and-play.
  • Nvidia web drivers are installed. automate-eGPU.sh detects the 980Ti and runs without errors (other than saying 10.12.2 is incompatible and offering to patch kexts). Patched the Nvidia web driver kext with that.
  • I can get the drivers to load on boot if I plug the Core in immediately after the Apple logo appears. If it is plugged in from a cold boot, it won't work, and if you plug it in after the progress bar appears or once the system has booted, it won't work. 
  • My card's fans run at 100% until drivers load. I know that when I get the drivers to load for the card, the fans quiet down.
  • My MBP will not boot to the login screen with the Core plugged in and drivers loaded, when a screen is connected to the eGPU. The progress bar under the Apple logo stops at around 33%. If I boot in verbose mode, it hangs immediately after the console disappears and the graphics drivers load, but doesn't print any errors that I can find. It will hang forever at this state. If I unplug the Core while it's hung, my system Kernel Panics with the Nvidia driver in the stack trace.

I have the Core fully working in Boot Camp, other than being able to power the internal screen with the eGPU, which I don't really need to do right now.

 

Edit: If no screens are plugged into the eGPU, I can get to the login screen and use the machine with the core working and drivers loaded. When I plug in a screen to the eGPU, both screens go black and the computer freezes. When the Intel iGPU is turned on (graphics switching), there are tons of artifacts on the screen. Turning off the iGPU fixes that, but plugging in a screen  still freezes up the machine.

Edited by IMcD23
Link to comment
Share on other sites

1 hour ago, ikir said:

Any luck on macOS side?

Yes,

https://www.techinferno.com/index.php?/forums/topic/10718-2016-macbook-pros-and-egpus/&do=findComment&comment=152495

 

Metal acceleration does work with the RX 480, OpenCL doesn’t.

 

RX 460 provides full support:

https://www.techinferno.com/index.php?/forums/topic/10845-2015-13-mba-rx46016gbps-tb2-akitio-thunder2-108w-adaptor-osx-102-hedge/

 

There is a binary hack for uncertified TB3 enclosures on Netkas forum. Hopper Disassembler reveals many things, but I would not publish reverse engineered information that violates Apple’s SLA section [M].

  • Thumbs Up 1
Link to comment
Share on other sites

FYI: When I plug in a screen to the eGPU, here is the kernel panic I am getting. Doesn't look too helpful to me.

 

*** Panic Report ***
panic(cpu 6 caller 0xffffff800de05ead): Kernel trap at 0xffffff7f903f836a, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000000000000c48, CR3: 0x00000000130e3000, CR4: 0x00000000003627e0
RAX: 0x0000000000000000, RBX: 0xffffff81f915be00, RCX: 0x0000000009000000, RDX: 0xffffff800e46b658
RSP: 0xffffff81f915be00, RBP: 0xffffff81f915be20, RSI: 0xffffff8032f55600, RDI: 0x0000000000000000
R8:  0xffffff8032e87000, R9:  0xffffff800e46b618, R10: 0x0000000000000015, R11: 0xffffff8032f21100
R12: 0x0000000100000515, R13: 0xffffff8032eabab8, R14: 0xffffff8032f55400, R15: 0xffffff8032eab000
RFL: 0x0000000000010246, RIP: 0xffffff7f903f836a, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x0000000000000c48, Error code: 0x0000000000000000, Fault CPU: 0x6, PL: 0, VF: 1

Backtrace (CPU 6), Frame : Return Address
0xffffff81f915ba90 : 0xffffff800dcf211c 
0xffffff81f915bb10 : 0xffffff800de05ead 
0xffffff81f915bcf0 : 0xffffff800dca3743 
0xffffff81f915bd10 : 0xffffff7f903f836a 
0xffffff81f915be20 : 0xffffff7f903fb3d5 
0xffffff81f915be70 : 0xffffff7f9047c515 
0xffffff81f915be90 : 0xffffff800e2960a3 
0xffffff81f915bed0 : 0xffffff800e2bcb9e 
0xffffff81f915bf10 : 0xffffff800e295498 
0xffffff81f915bf90 : 0xffffff800e294ac7 
0xffffff81f915bfb0 : 0xffffff800dca0af7 
      Kernel Extensions in backtrace:
         com.apple.iokit.IOAcceleratorFamily2(289.22)[F866114B-BEDE-3892-B80C-E6EE5B269A3C]@0xffffff7f903d0000->0xffffff7f90460fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[F3140AEE-63C8-3B1B-AAE7-56599A3F2EAE]@0xffffff7f8e532000
            dependency: com.apple.iokit.IOGraphicsFamily(513.1)[3B0B8521-BEA7-3D6D-AB6E-2E84590FFE40]@0xffffff7f8eb74000
         com.nvidia.web.GeForceWeb(10.1.3)[7577D72D-2377-358A-9DED-E2D1796DA18C]@0xffffff7f90470000->0xffffff7f90511fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[F3140AEE-63C8-3B1B-AAE7-56599A3F2EAE]@0xffffff7f8e532000
            dependency: com.apple.iokit.IONDRVSupport(513.1)[6A04DB7B-061F-36D4-84C6-5BF4C8AA9A7D]@0xffffff7f8ebbb000
            dependency: com.nvidia.web.NVDAResmanWeb(10.1.3)[CFAACEF2-B37A-3F9E-AE5A-E1374E88F81D]@0xffffff7f8ebd7000
            dependency: com.apple.iokit.IOGraphicsFamily(513.1)[3B0B8521-BEA7-3D6D-AB6E-2E84590FFE40]@0xffffff7f8eb74000
            dependency: com.apple.iokit.IOAcceleratorFamily2(289.22)[F866114B-BEDE-3892-B80C-E6EE5B269A3C]@0xffffff7f903d0000

BSD process name corresponding to current thread: kernel_task
Boot args: nvda_drv=1 kext-dev-mode=1 dfr_debug=1

Mac OS version:
16C48b

Kernel version:
Darwin Kernel Version 16.3.0: Wed Nov  9 19:52:37 PST 2016; root:xnu-3789.31.1~4/RELEASE_X86_64
Kernel UUID: 6D3D2C7F-E09E-3796-A3DE-6E658C861AD9
Kernel slide:     0x000000000da00000
Kernel text base: 0xffffff800dc00000
__HIB  text base: 0xffffff800db00000
System model name: MacBookPro13,3 (Mac-A5C67F76ED83108C)

 

Link to comment
Share on other sites

7 hours ago, goalque said:

Yes,

https://www.techinferno.com/index.php?/forums/topic/10718-2016-macbook-pros-and-egpus/&do=findComment&comment=152495

 

Metal acceleration does work with the RX 480, OpenCL doesn’t.

 

RX 460 provides full support:

https://www.techinferno.com/index.php?/forums/topic/10845-2015-13-mba-rx46016gbps-tb2-akitio-thunder2-108w-adaptor-osx-102-hedge/

 

There is a binary hack for uncertified TB3 enclosures on Netkas forum. Hopper Disassembler reveals many things, but I would not publish reverse engineered information that violates Apple’s SLA section [M].

Very interesting about 480-460! Didn't check this since I was only reading about Nvidia cards, maybe I will switch to Radeon this time given also power consumes.

 

I've sold my TB2 eGPU and Mac mini, I'm waiting for my new MacBook Pro 2016 to arrive, but I'm worried about which TB3 enclosure choose since Akitio Node doesn't work. 

Link to comment
Share on other sites

Has anyone tried using the AKiTio Node with:

  • Macbook (Air or Pro released previously than 2016) via Thunderbolt 3 to Thunderbolt 2 adapter or
  • Macbook Pro 2016 via Thunderbolt 3

If yes, are there any issues or it's almost plug n play?

Link to comment
Share on other sites

12 hours ago, caste said:

Has anyone tried using the AKiTio Node with:

  • Macbook (Air or Pro released previously than 2016) via Thunderbolt 3 to Thunderbolt 2 adapter or
  • Macbook Pro 2016 via Thunderbolt 3

If yes, are there any issues or it's almost plug n play?

 

Akitio Node is yet to be released, also it is not plug&play for now since its needs a hack for video driver and another hack to let TB3 device to be seen on macOS

Edited by ikir
  • Thumbs Up 1
Link to comment
Share on other sites

On 19/11/2016 at 11:31 PM, RB.mac said:

Thought I'd give an update on my findings...  My original testing was with non-touchbar base MBP13, a razer core, and gt670 and 980ti.  My interest is only with gaming in bootcamp at this point, so all that follows is in windows.  

 

I had success with the gtx670 by installing all the standard stuff (win updates, synapse, razer gpu switcher) before connecting the core.  Then shutdown, connect core (which had external monitor), install nvidia drivers.  I could only get acceleration by launching on external monitor and dragging to internal display.  I could never get this to work without the extgernal display being connected.  Doing the same install process with my 980ti resulted in the error 12, which it seems may have had a fix based on recent posts.

 

Since then, I ended up returning that base MBP13 and getting a maxed MBP13 with touchbar.  I followed the same approach as described above and and had no error 12 but I also am now able to use the internal display only.  I don't know why it's behaving differently but this is working consistently through internal display, which is what I needed.  I do have an "Unknown USB Device (Device descriptor request failed) item in device manager with "Windows has stopped this device because it has reported problems. (Code 43)" but I don't know what this is.  USB ports on the core work fine but haven't tested ethernet.

 

Only downside is that I can't get audio through my internal speakers or headphones when razer core is connected.  I have the internal or headphones set as default and the windows sound config is illuminating the sound meter next to the internal speakers but nothing is coming through at all.  It also doesn't even detect that headphones have been plugged in.  THe only way I can get audio back through internal speakers is to shutdown and disconnect core before restarting, which isn't much of a fix...

 

Any thoughts on the audio issue?

 

 

Exact steps for my latest install procedure attached in case helpful to others.  I initially installed without nvidia HD audio drivers because didn't need audio through external display but I later did a clean install and added them due to the audio issues I had, which didn't help.

 

Image.png

That's exactly what I plan to do. Getting a maxed out 13" because I love the format. However I'm really worried that the cpu will bottleneck.

Do you have any benchmark ? Did you tried it with BF1 ?

 

Thank you. 

Link to comment
Share on other sites

On November 21, 2016 at 0:33 PM, caste said:

Has anyone tried using the AKiTio Node with:

If yes, are there any issues or it's almost plug n play?

 

I got an AKiTiO Thunder3 yesterday. It uses the same Thunderbolt 3 board with the Node. The good news is it works. The bad news is there's lots of work to make it functional.

 

Apple built a restriction in macOS to prevent most Thunderbolt 3 devices from working. As goalque mentioned, there's a binary hack to give handshake to all Thunderbolt 3 enclosures. Without doing that, you'll see the Unsupported status in macOS. I've tried a PCIe flash drive and RX 470 GPU. They show 40 Gb/s x1.

 

The Thunder3 doesn't work as well as Thunder2. Plugging in an external monitor would freeze the system. @goalque which Thunderbolt enclosure are you using?

Screen Shot 2016-11-21 at 6.48.24 PM.png

 

Edited by theitsage
  • Thumbs Up 1
Link to comment
Share on other sites

@theitsage

Means an immediate license change to my script:

 

“No one is allowed to modify Apple’s copyrighted binary files.”

 

Plain text file editing sounds okay, but as to reverse engineering and binary modding, I am out of the equation. It would be endless patching and battling against Apple’s security updates, and Intel would be hunting bulls and bisons. DIYing is fun when the method shows signs of continuity. This a dead end.

 

There is a brighter side of the equation.

Edited by goalque
Link to comment
Share on other sites

Only had a moment to plug in the Thunder3 + GTX 1080 to my 15" 2016 MBP in Bootcamp last night, but it was recognized in the device manager as a "Microsoft Display Adapter" without any steps taken other than powering on the Thunder3 then powering on the MBP. Haven't installed any additional drivers, didn't try hotplug, haven't done any EFI management yet.

Link to comment
Share on other sites

1 hour ago, Casey_S said:

Only had a moment to plug in the Thunder3 + GTX 1080 to my 15" 2016 MBP in Bootcamp last night, but it was recognized in the device manager as a "Microsoft Display Adapter" without any steps taken other than powering on the Thunder3 then powering on the MBP. Haven't installed any additional drivers, didn't try hotplug, haven't done any EFI management yet.

Sounds promising. I have a similar setup arriving in a few days. Really hoping I can get the internal display to work. 

Link to comment
Share on other sites

Kind of an odd situation... I installed rEFInd, enabled the iGPU, disabled the dGPU, but was getting error code 12 on the 1080, so I tried disabling a few lanes/ports and restarting, and now the 1080 isn't detected. At all. Even after reenabling everything and plugging it in to different ports. Not sure what to do here.

 

Edit: Fixed, uninstalled the root lanes and restarted. Back to error 12.

 

Edit: MUAHAHAHAHAHAHA

 

f2IoDKs.jpg

 

Vn83gfM.jpg

Edited by Casey_S
Link to comment
Share on other sites

Good news and bad news. Good news is, it works. Bad news is, it performs almost identically to the T2/2015 MBP. 

 

T3/2016:

http://www.3dmark.com/fs/10858865

 

T2/2015 (GPU is OCed):

http://www.3dmark.com/fs/9999544

 

Soooo... Now what. I assume - and hope - I'm not taking full advantage of Thunderbolt 3. How can I verify that?

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.