Macbook Pro with AMD Vega 64


(Justin MV (Ride GG)) #1

Hey everyone-

Just thought I would share my experience in using Zwift with a Mackbook Pro (2017 - 15") with an external GPU (eGPU) box with an AMD Vega 64 GPU. I’m using the Sonnet Breakaway 650w box with the Vega 64 (technically the ASUS ROG Strix Vega 64 flavor) installed in it and connected to the MBP via Thunderbolt 3. The Vega 64 is then connected to a 49" 4K tv via HDMI. 

The good is that it works pretty darn well, without a ton of effort. There’s a couple of hiccups that I’ll explain below. The external GPU box has allowed me to keep my setup very simple, and not have to maintain/update/troubleshoot/support an entirely separate PC just to run Zwift. I like simple.

With the release of High Sierra 10.13.4 recently, Apple has officially enabled eGPU support for Macs. The first thing I figured out is that because Zwift locks into the GPU (and subsequent quality and resolution settings) upon initial startup, I have to start Zwift with the MBP closed in clamshell mode. This forces Zwift to start on only the TV, which is being powered by the Vega 64. If I start Zwift with the MacBook Pro open, it starts running on the Mac’s internal screen, which is powered by it’s own discrete GPU, and will not setup properly for the Vega 64 if I drag it to the second monitor (the tv in this case).

Unfortunately, Zwift does not recognize the Vega 64 as a high-end card and locks me in on the ‘High’ quality setting and will not go above 1440p in game.

I have manually edited my ‘High’ config file, and the ‘prefs.xml’ to enable Ultra settings at 3840x2160 resolution. This seems to work well, as I’m getting 35-75fps with everything maxed at 4K (more on this in a minute). Hopefully Zwift will update to properly recognize the Vega 64 to enable Ultra and 4K resolution by default; I have opened a support ticket for this.

The Ultra settings in 4K is pretty amazing. I have read in other posts that Zwift deprecated most of the settings from the quality files (Ultra.txt, High.txt, etc.), so I’m not sure if I’ve even reached the visual pinnacle. Some things from this file do still stick (e.g., FPS readout on screen and shadow resolution) that you can see in the log file after. I really wish Zwift made this kind of advanced configuration easier and documented (or at least possible).

The frames-per-second is adequate as far as I’m concerned, with me hitting 35-75 fps on Ultra at 3840x2160. I hit higher frame rates in the rural areas, and lower frame rates in the urban areas where there are more riders (like London). I just did a 90 minute London ride today where frame rates were around 35-45 for most of the urban sections, but when I was done, I noticed that the none of the 3 fans on the GPU board, nor the fan for the eGPU enclosure itself were kicked on. The thing was not even warm. So this tells me that there is still a TON of potential to be had from the Vega 64. A lot of this probably has to do with optimizing the built-in Apple drivers for AMD GPUs, but I bet Zwift has their own work to do that would improve visuals while keeping FPS up… because running 35 FPS on a card that’s still cold is kinda weird.

The only other bug I noticed was a 3-way median on the London course was missing it’s texture. It just appeared as white. Otherwise it was good to go.


(Mike Hanney [KRT] #W4R) #2

Very cool. Thanks for sharing. Have you looked at the log in https://zwiftalizer.com? It would be interesting to see how it compares to the top performing hackintoshes. Sounds about the same as a GTX 1060. 

Did you choose AMD for Apple applications? Out of the box support? The Nvidia Alternate Drivers for macOS are a bit more efficient on the CPU than Apple’s AMD drivers for OpenGL, but AMD is still the first choice for OpenCL accelerated apps like FCPX and Compressor, so I would have done the same.


(John McCain) #3

Ugh! Just upgraded the graphics card in Sonnet eGPU Breakaway Box 650 from a Sapphire PULSE Radeon RX 580 8GB Graphics Card (Developer Edition) to a Radeon RX Vega 64. I am using a 13" 2017 MacBook Pro (2.3 GHz i5) and went from ultra at 2160 on a 4k tv to only getting the high profile and 1440. On the plus side, my fps jumped from 28-47 fpm to 63-92. The down side is I miss the ultra profile and 2160 which looked amazing!

Any word on when Zwift is going to support the Radeon RX Vega 64 at ultra/4k?


(Justin MV (Ride GG)) #4

You can edit the prefs.xml and manually specificy 3840x2160 as your resolution. Note that if you go back into the in-game settings, Zwift will reset that resolution back to a lower level. But as long as you don’t go in there, it will stay at 2160p. Zwift was using the High graphics profile, so I just edited that with the Ultra settings.

Zwift support says they’ll be supporting the Vega 64 in the next update. It won’t necessarily be optimized for the Vega they said though. But at least the resolution and settings will be supported.


(John McCain) #5

Thanks! I try that. 


(John McCain) #6

Perfect! (Where “high” is actually ultra)


(Mike Hanney [KRT] #W4R) #7

Nice!


(Clayton Bigsby) #8

Anybody at Zwift care to chime in on this…

https://www.macrumors.com/2018/06/05/apple-deprecates-opengl-opencl-gaming/

FWIW, Zwiftalizer tells me my iMac with the 580Pro allows me 2160 ultra @35-to… I think a high of 70 FPS on occasion…so I’m thinking you should see much better than that…


(Clayton Bigsby) #9

I believe this is one of mine…


(Clayton Bigsby) #10

Oooops…laggy hotel WiFi …


(Justin MV (Ride GG)) #11

Clayton, I agree. We should be seeing far better FPS out of Zwift and the Vega64 than we are. I think it’s a three part issue:

  1. Zwift has admitted to not doing any optimization for the Vega GPU at all. Which is a bummer, considering the cost and capability of this GPU.

  2. We are using this GPU externally in an enclosure, connected to the MacBook Pro via a Thunderbolt 3 cable. This external position creates some loss in bandwidth compared to a native internal GPU card on a desktop, but not a ton.

  3. Apple has only just enabled this sort of native eGPU functionality, and the drivers (also supplied by Apple) are probably a little raw. There have been no updates since 10.13.4 launched back in March/April. 


(Mike Hanney [KRT] #W4R) #12

I’m not a graphics programmer, but I’d like to share my observations having run both AMD and Nvidia GPUs under Mac OS (not at the same time :slight_smile: ) …

CPU single core clock speed and generation matters, a little bit (but I see that isn’t an issue in the systems circled above).

If the profile says High in the logs, I think you are not getting the same level of detail - perhaps not as high polygon count - as Ultra, even though you can set the resolution to 2160 (ultra res).

Nvidia’s alternative drivers for Mac OS work very well. So unless you really want an AMD card for other applications (as you would for FCPX exports, Compressor and Photos), Nvidia would be my first choice for Zwift and OpenGL. (Mine is the GTX 960 above, which is an inexpensive card now, $100 USD on eBay)

With regards to Apple deprecating OpenGL in favor of Metal - that might be a good thing for Zwift because the iOS and AppleTV versions already use Metal (I think) so convergence could mean fewer differences to develop, test and support. Like I said though, I am not a graphics programmer, and nothing is ever that straightforward ;-). I would love to know Zwift’s opinion too.

 

 

 

 

 


(Clayton Bigsby) #13

I probably don’t have to bring it up…but I had a brain fart and didn’t realize I was plugged into the HDMI 1.4 port instead of the 2.0  input at 1st and was bangin my head on the wall for a bit…use a 2.0 rated cable too…

2.1 is on the horizon…:grin:


(Mike Hanney [KRT] #W4R) #14

I’m glad you brought that up. I don’t have a 4K monitor or TV so I wasn’t sure, but I’ve been asked in the past and it seems GPU, HDMI Cable, and monitor, or TV, all have be HDMI 2.0 spec to get 4K @ 60 Hz.


(John McCain) #15

I was getting similar results when I was running the 580. I switched the Vega 64. Here are the results from a workout I did yesterday. (Note: since the last update, Zwift now recognize the Vega 64 and gives the ultra setting.) I am using a 50" 4k TV for display. 

As you can see, the Vega 64 is a big improvement over the 580 card. 


(Clayton Bigsby) #16

Sweet…that’s more like it…I’m envious…I’ve been contemplating an egpu but will wait until indoor season returns…hopefully there will be some more offerings and less coveting by crypto speculators for higher performance offerings…and maybe HDMI 2.1 will be available in Black Friday tv’s…:crossed_fingers::shushing_face:


(Clayton Bigsby) #17

In light of our discussion…this is a pretty cool site with a mad scientist with the resources and mindset to push the envelope for our benefit…

http://barefeats.com/

one example…

“We have already demonstrated an NVIDIA GPU in an eGPU box running on the 2013 Mac Pro and 2016 MacBook Pro. Guess what happens when you connect an eGPU with a TITAN Xp to a 2017 iMac Pro?”

http://barefeats.com/egpu_titan_xp_imac_pro.html

Quick synopsis…

“OBSERVATIONS: Not only is the CUDA GPU processing mode in Blender much faster than OpenCL, but OpenCL under Windows is almost twice as fast as OpenCL under macOS!”:roll_eyes:


(Mike Hanney [KRT] #W4R) #18

Wow. The couple behind http://barefeats.com/ are my new heroes.


(Clayton Bigsby) #19

Yeah, right?  Good $#it…