2017 15" MacBook Pro (RP560) [7th,4C,H] + GTX 1080 Ti @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.12.6 & Win10 [hypernurd]
In appreciation of all the support and assistance from the fantastic community here on eGPU.io I am providing the following for the assistance of other noobs as well as current and future members looking to use GTX 1080Ti GPU on Mac hardware with as Mantiz Venus.
First off it goes without saying (but I will anyway) that I could not have managed this work without the kind and courteous attentions of @goalque, @rastafabi, @theITsage, @nando4, @Mac_editor - thank you to all of you for your help - Kudos brothers.
A bit of background. I am a UK based Apple Reseller of some 25 years. I became interested in the application of eGPUs and what they could do for the Mac community with the advent of games development platforms (Unreal, etc) and VR / AR. I am a staunch supporter of the platform and want too do my bit to ensure Mac users don't feel hard done by from poor GPU performance from the recent (last 5 years) Mac models. I have just invested in an HTC Vive and want to experience Vr without having to buy a PC (God Forbid!).
Having spent a few days on the forum back in spring of this year when TB3 enabled enclosures were in their infancy, I came across the Mantiz Venus enclosure. I liked the unit for its aesthetic, ample I/O, power delivery and ability to fit internal storage. For me this looked perfect and I was lucky enough to benefit from the early-adopter offer of $300 for the first 50 units. I was not so lucky with the shipping and import duties to the UK (roughly $150 all in) but who ever said bleeding edge was cheap right? The unit turned up around early August. I also purchased an MSI GTX1080TI X11 Gaming Edition card - again not a cheap option but I wanted to see what was possible with a top end card.
Another important reason for building an eGPU for me is portability between 'hosts'. I am fortunate in having access to the a wide range of hardware and have been configuring and testing on the following;
2013 MacPro (nMP) : 3.1Ghz Xeon Quad Core, 16GB, 512GB SSD, AMD Firepro D300's, TB2
2017 15": MacBook Pro 'Touch-Bar" : 3.1Ghz i7, 16GB, 1TB SSD, AMD Radeon 560 discrete GPU, TB3
This guide focuses on the latter, the 2017-MBP.
The monitors I am using are Iiyama Gold-Master 4K 28" units. These have a fast refresh (1ms) and are a great budget option with pretty decent features. They don't offer the fidelity and vibrance of an LG 5k or Apple display but I had to draw a line in the sand on budget otherwise things would have got out of hand! I have three of them on a single monitor mount/arm and am pretty happy with how they look.
Mantiz Venus Set-up
This was pretty straightforward. The MSI card fits easily and looks cool with its red LEDs behind the grill.
I added a SanDisk Ultra II 480GB SSD to provide me with more storage and the ability to Bootcamp from the enclosure rather than having to install a separate BC partition on each Mac 'host'. I used WinClone 6.1 to move a partition I built on the MacPro and to the Venus and this worked fine. WinClone 6 and above is able to handle the differences in block size between older and newer Macs which is a major bonus for those of us migrating BC partitions to newer hardware. However, when moving the eGPU to the MBP and booting from the BC partition, I realised that many of the drivers were missing - by nature of the fact that the Apple Bootcamp Setup only installs drivers for the original host. I have since rebuilt a new BC image on the 2017-MBP and migrated this with WinClone to the Venus. At present I am unable to boot from it but I am sure this is resolvable and I will report when I have this working.
Venus Fan Noise
Even under idle use, the fan is very noticeable on the Venus. I understand many other users have reported the same issue and I should be able to resolve this by moving the fan power connector to the spare feed on the PCB. I have not done this as yet but I will do before my ears give out!
USB-C 'v' Thunderbolt Cables
My initial testing was with the Mid-2015 MBP. Being TB2 I had to purchase an Apple TB3 to TB2 adaptor and made use of an Apple TB2 Thunderbolt Cable. This worked fine, albeit at the slower TB2 performance (H2D).
On moving to the 2017-MBP I was able to benefit from the TB3 interfaces. However, as I didn't own a TB3 Thunderbolt cable I had to source one. NOOB ALERT - Don't make the mistake I did and buy a USB-C to USB-C cable. They might work OK for recognising the enclosure and the internal SSD but they won't work for the GPU! You HAVE to buy a THUNDERBOLT cable. The confusion comes from USB-C and Thunderbolt cables having the same connector - USB-C - after which the similarities end. Look for a 40Gb/s capable unit and make sure the USB-C plugs have the 'Lightning Bolt' icon on them. Regular USB-C cables will not. Also, don't expect the cable that Apple ships with the MacBook Pro to work. Its a USB-C Charge Cable ONLY (i.e. it won't even recognise the enclosure when using the TB3 to TB2 adaptor) and NOT a Thunderbolt cable.
After quite a few evenings tinkering and picking up valuable tidbits from other threads I am pleased to report that I now have a working set-up on a 2017-MBP in both Mac OS X (10.12.6) and Bootcamp (Windows 10 Anniversary).
Mac OS X (Sierra - 10.12.6)
Note : This was my second setup on this Host. I had already been successful on getting Bootcamp/Win 10 to work (see below)
• Disabled SIP (boot into recovery partition and invoke 'csrutil disable' via Terminal App)
• Attached eGPU via TB3 Thunderbolt cable
• Downloaded @Goalque's excellent 'automate-eGPU' script (v1.0.1) and ran with root privileges (sudo bash) & default attributes.
• Script recognised GPU and installed drivers (v378.05.05.25f01), updates caches, etc.
• Rebooted twice to ensure Nvidia drivers auto-loaded.
At this point Venus & GPU were both recognised in System Profiler but the Display's system pref pane did not recognise any additional screens and they were not energising. However, as I had already had a working setup in Bootcamp (and on my Mid-2015 MBP in Mac OS X) I new the hardware was at least compatible with Windows so persevered.
• I ensured the Nvidia drivers were in use (menu bar pull down)
At this point all should have been good. However, it turns out that Macs only support v 1.4 of the HDMI spec and 1.2 of the Display Port spec. As previously mentioned, prior to setting up the Mac deployment I had managed to get a working solution in Bootcamp (see below) and in so doing had set the DP and HDMI support on my Iiyama's to v1.2 and 2.0 respectively. These modes don't work on Mac even via the Nvidia 1080TI (presumably due to the Beta web drivers).
I changed the HDMI mode and immediately got a functional, full 4k res (3840x2160) on both of my HDMI attached monitors (2x are HDMI and one is DP to the MSI 1080Ti). However, on the DP attached display, the image was over scanning and unusable. Assuming this to be another issue with 4K support on Macs via the Beta drivers, I downloaded 'Display Menu' https://itunes.apple.com/us/app/display-menu/id549083868?mt=12) - a very useful too for resolution selection to known pixel dimensions that is sorely lacking from the Mac Display Prefs pane since the advent of Retina. I changed the res to 2560x1440 @60Hz and immediately got a usable image. I then adjusted the HDMI monitors to suit and now have three displays functioning from the 1080Ti and the internal retina from the AMD Radeon 560.
Note : I have noticed some display artefacts on the internal display when running at full res on the Integrated Iris GPU and the 560. However, these are less prevalent on the 560 and disappear completely if I choose a lower res (2560x1600).
Everything is as it should now be. The enclosure is properly recognised (v25.1 of F/ware), the GPU is too (in both About this Mac and System Profiler, and the Display's Pref pane is fully functional;
I have also installed gfxCardStatus to enable the forcing of either discrete or integrated GPU - with mixed results it has to be said in terms of what is reported on the menu bar and what is actually in use.
The only element that is reporting incorrectly is the 'Displays' tab of 'About This Mac' in that the 1080Ti is reported to be also handling the internal LCD - which of course it isn't. But, I understand this is an issue with Sierra 10.12.6 that is resolved in 10.13 Beta. A small point.
TB3 Ports - Good and Bad
On the Mac deployment I have had mixed experience as to the port to use. The 15" model of MBP has 4x TB3 ports. I have good functionality on the RHS (top and bottom) but not so on the LHS where I find the eGPU is intermittently recognised if I use either.
Switching Thunderbolt Cables (from 2m to 1m)
Oddly, I have found that switching TB3 cables can cause issues. Once set-up and working on the 2M cable, I decided to try the 1M. I shut-down and swapped the over. On reboot I was unable to get the screens to energise/recognise. I have no idea why this should be so for now have swapped back to the 2M.
Provided I don't change the cable or the TB3 port in use, the system is fully functional folloiwing Cold or Warm reboots.
I have run various Heaven & Valley benchmarks to compare the 1080Ti against the Radeon 560 discrete. The results are alarming!
The attached Heaven benchmarks were run with 'High' settings, no AA, at system res (2560x1440). I had all three 28" monitors attached and ran the same test across the DP (60Hz) and HDMI (30Hz) connected displays to see if there were any differences. I also ran the same settings on the internal (with the eGPU still connected). I observed more 'tearing' on the HDMI versus the DP screens (presumably due to the lower refresh rate of 30Hz at v1.4);
|Display Port (v1.2) @ 60Hz||HDMI (v1.4) @ 30Hz|
Internal (Radeon 560)
Nonetheless, a dramatic improvement from 14.1fps to over 105fps - a 744% improvement. Allowing for the 10-15% loss in the use of the eGPUover TB3, the well documented 'throttling' by Intel of the bandwidth, and another 10% or so for Beta drivers we can look forward to some interesting improvements in the months to come. Not that I am unhappy with these results - quite the contrary. The Mantiz Venus and MSI card are delivering on the expectation and some!
• Bootcamp / Windows 10 Set-up
I initially worked on the Bootcamp setup due to having so much difficulty on the Mac OS X side. I have to say that the Windows setup is very straightforward the results in instant eGPU gratification for those that wish to try it. The level of performance is better and the availability of proper drivers (non Beta) and 3rd party apps (like MSI's Overclocker, etc)and Nvidia's Surround feature make for a very pleasant experience.
For my own unique setup, the ability to run all my screens at 60Hz (thanks to HDMI 2.0 support in Windows/NVidia) at full 4k res is a very welcome performance improvement that I hope will soon, with the advent of High Sierra, be available on Mac OS too.
Installation was very easy;
• Using Bootcamp assistant I created a 250GB partition on my internal 1TB SSD
• I downloaded Win 10 ISO v1607 (https://www.microsoft.com/en-gb/software-download/windows10IS O"> https://software-download.microsoft.com/pr/Win10_1607_English_x64.iso )
• Once installed and rebooted I checked Device Manager and was pleased to see the eGPU enclosure recognised in the Thunderbolt Section. Furthermore, so was the 1080Ti - though drivers needed updating.
• I downloaded and installed the required drivers and rebooted.
• I set my Iiyamas to v2.0 of HDMI and v1.2 of Displayport.
• The GPU sprung into life and I was able to use Display settings and NVidia Control to set resolutions and invoke Surround.
• The ability to compensate for bezel width is a welcome tool and I really hope Nvidia include this feature on the GA versions of their drivers and software.
AMD Radeon Bootcamp Drivers
During my Mac OS X trials and tribulations I came across a site that offers enhanced drivers for AMD GPUs in Bootcamp (bootcampdrivers.com). This site provides vastly improved display drivers for AMD GPUs for use in Bootcamp. I have installed these and am currently testing. At present there is a pretty bad performance issue with mouse pointer freezing but this is actually an AMD reported issue which I hope will be rectified soon. However, its worth taking a look if you intend to use the internal LCD screen on your MBP in Bootcamp (with or without eGPU) as the performance improvements are in the order of 25-40% for GPU intensive tasks.
Windows eGPU Benchmarks
I will run the same tests and post updates to this implementation in due course.
I re-ran the Heaven and Valley benchmarks on the Windows 10 build (with NVidia Surround disabled) and at the same 2560x1440 resolution to compare results to the Mac deployment. Here are the results;
I also ran Superposition at 4K to test the VR capabilities (as this is the primary reason to do this whole eGPU thing anyway!);
Code 12 boot issue
I should report that I have seen no Code 12 issues
so far. (Edit : This is doubtless due to the updated firmware in my model of 2017 MBP having 'Large Memory' allocated by default)
EFi Bootcamp from External/ Venus SSD
I have used WinClone to copy my working Bootcamp implementation (Startup items disabled but without running SysPrep prior to install) to the internal SanDisk Ultra II installed in the Venus. At present I have had limited time to fully test why I cannot successfully boot from this drive as my main Bootcamp and it may be necessary to run SysPrep prior to creating the image to get this to work. Alternatively, I may need to install rEFind too. I will update this guide once this is working.
I have successfully tested booting into Windows with active displays from both LHS and RHS TB3 ports.
Iiyama Input Switching
One niggle I have with the Iiyama's is their inability to properly switch inputs from HDMI to DP when more than one 'live' GPU is attached. I have a 2013 nMP connected via TB2 cables to all three displays (2x DP and 1x HDMI). My eGPU is also connected to the same displays (2x HDMI and 1x DP). If the MacPro is powered and displaying a desktop across all three I am unable to switch inputs and successfully energise the displays with the eGPU. I have no idea why this is but it would be good to resolve.
This has not been an easy exercise. Setting up an eGPU on Mac OS X, due to a lack of in-built support, is not the 'plug and play' experience we've come to love and expect from Apple. Perversely, it does appear to be so in Windows; something that Mac users can only envy at present and hope Apple, Intel, AMD and Nvidia address sharpish.
Like anything new there is a learning curve but thanks to this forum help is at hand. Despite early frustrations I persevered and after much trial and error got to a working solution in a little over a week. Had I been more savvy and experienced I would doubtless have got there sooner. However, now I've done it and know what to look out for I am now in a position of partial authority and know where to look when things don't go according to plan. Should anyone wish to contact me for further details of my setup or for help with similar configurations I will do my best to assist.
Hey have you noticed any apps crashing? I have the same setup as you, but cannot for the life of me get Final Cut Pro to remain open.
I also had considerable mouse lag, but it only seems to be prevalent over HDMI or Mini Displayport. DP to DP = no mouse lag.
I have the same set up as you and until recently it was working like a charm, then I updated to High Seirra and updated the mantiz's firmware at the same time. I knew I would be giving up the egpu support for Nvidia on the mac side, but I mainly used it for gaiming under bootcamp so I figured no big deal. Since doing those two things I have not been able to get the egpu to run in boot camp at all. When I plug into the right side it makes the sound as if something is being registered but nothing is and when it goes into the left side of the MBP I get the error 12. I was wondering if anyone had any thoughts as to what might be causing this or some sort of trouble shooting?
Please update your experience on the external SSD booting. I am using Windows To Go on the external hard drive and curious whether it would work with eGPU. I only have about 100GB free space on the internal SSD and still getting less by the work goes, I don't want to waste the storage on the Windows system. Thank you for the guide!
It is curious that I am getting the code 43 problem and you are not getting it, as I explained in my thread:
Can anyone, hypernurd, or someone help me out with it? Cheers