Egpu support is gone? (MacOS 12.5.1)

I zwift on a MB Pro 2017, hooked up to a Razor Core X with a Sapphire Radeon RX VEGA 64 Nitro+.

It used to work perfect! But now the Zwift app launches as “zwiftappmetal”. And I can’t get that app/script (?) to choose the egpu over the inferior built in one…

Can this be fixed somehow?

I’m on Big Sur. on a 2014 mini with a rx 5500 xt eGPU. Same issue, I think. Frame rate in high single digits. Almost certainly using the integrated graphics for the heavy lifting instead of the eGPU.

I moved the metal version of the application out of the way and was able to run what I’ll call “Zwift Classic” to at least have a useable game.

ZwiftMetal lives in ~Library/Application Support/Zwift

Looking in my log file

[23:11:29] Initializing graphics window of size 0 x 0
[23:11:29] GFXDevice_Metal::Initialize(): Found device ‘<MTLIGAccelDevice: 0x7fd9aa8f2000>
name = Intel Iris Graphics’
[23:11:29] GFXDevice_Metal::Initialize(): Found device ‘<GFX10_MtlDevice: 0x7fd9aaf91000>
name = AMD Radeon RX 5500 XT’
[23:11:29] GFXDevice_Metal::Initialize(): Using device ‘<MTLIGAccelDevice: 0x7fd9aa8f2000>
name = Intel Iris Graphics’
[23:11:29] window scale (2.000000, 2.000000)
[23:11:29] framebuffer size (2560, 1440)
[23:11:29] Vendor = Intel Iris Graphics
[23:11:29] Renderer = Intel Iris Graphics
[23:11:29] [GFX]: Tier 1
[23:11:29] [LOADER]: Hardware instancing enabled
[23:11:29] Screen reported DPI: 34 physical DPI: 68 Scale: 2.00
[23:11:29] Calculating Graphics Score
[23:11:29] GFX: Found a vendor/model match for IRIS
[23:11:29] Initializing Render Targets
[23:11:29] Initializing Texture Systems

Both GPUs are found, but ZwiftAppMetal chooses to use the vastly inferior one.
My display is connected to the eGPU.

1 Like

Hopefully just a server side config tweak required. It shouldn’t be ignoring your dGPU.

Thanks a lot for that detective work, Mark!

But, how do you move the metal version out of the way? For me it only appears in the Application Support folder when the game has already launched (as “zwiftappmetal”).

Never mind, I think I managed to remove it from the equation! :+1:

Chiming in on the metal support.
I’m running a 2014 Mac mini with an eGPU. Today, I suddenly had single-digit fps. I found that I was running the metal version of Zwift. I strongly suspect that it was using the integrated gpu for the heavy lifting rather then the eGPU (radeon rx 5500 xt). I moved the metal application out of its folder and relaunched. got the “classic” version with expected fps.
Get Info on the metal app did not include the checkbox to force it to use the egpu. I was looking forward to seeing a native metal version of Zwift. But until this is fixed, it is a huge step backwards.

Hi Mark - that’s handy to know, thanks.
Is it just a question of removing the ‘ZwiftAppMetal’ icon from the Zwift>Application Support folder?

Hey al - thanks for flagging this up to us. We’ve been migrating Apple devices that can support the Metal graphics engine away from running OpenGL in phases. If you see the “ZwiftAppMetal” on your Macs - this is why.

That said - we have not yet built in support for external GPU’s, but it’s on our to-do list for the next release cycle. Appreciate your patience. In the meantime, sounds like @Mark_Napier found a viable workaround.


That’s how it worked for me.

1 Like

FYI: I ran the latest update (1.28.1) for the first time today, and the problem remains… The Metal app still chooses the internal GPU.

Today’s update (1.29)… Hurray!
Tried it out in “just watching” mode.
Zwiftalizer said I was using the medium profile. In the past, it had said I was using basic.
I’d actually symlinked basic to ultra.
So I did the same for medium.
Locked in at 30 fps. So I set my screen refresh to 60. Tried again. Almost locked in at 60fps. (occasionally drops a bit from 60 – but the average was 58-59)
I’m CPU-bound on my 2014 Mac mini. The eGPU is working about as hard as an A+ racer drafting a “D” Pacebot.
This was in Watopia. We’ll see how this rig fares in Neokyo…


I am very happy with the Zwift Metal support with my eGPU (AMD RX580 on a 2017 i7 MBP) in Zwift version 1.29. Consistent 30fps with the Ultra profile and 2160 resolution looked great. Activity Monitor reported 40-60% utilization of the eGPU for most of the ride, which is lower than I expected.

Credit where it is due, good job Zwift team!

1 Like

Utilisation is that low because you’re only at 30fps; either due to vsync settings or CPU bottleneck. 60fps is a lot nicer.


1 Like

Hi Mark,

So are you now running Zwift on Ultra & 4K with MacOS and the 5700XT? Is everything maxed out?

I’m thinking of also buying this eGPU for my MacBook.

1 Like

I am running it at Ultra and 2160 resolution on a 2017 i7 MacBook Pro and a RX580 eGPU (Gigabyte Gaming Box branded) and still getting 60fps Max with 50 Average. The 5700XT would be more powerful, but not sure what fps you might see. When Zwift switched to Metal on macOS, I feel like both quality and stability improved. Overall I’m pretty happy with the setup, especially since it based on hardware I already had around.

This recent article provides some more insight into the current state of Zwift on various CPU/GPU combinations: Search for the Best CPU and GPU Combination for Zwift | Zwift Insider

I believe is still the go to site for the latest on eGPU developments and compatibility.

1 Like

I had no idea there was a search feature on Zwiftalizer, Thank you!

Is just a forum for asking these question too?

1 Like

Is just a forum for asking these question too?

Yes, has a forum plus reviews of enclosures and build reports from other users. However, it seems to be less reliable these days that it was a few years ago. AMD eGPUs are pretty much plug and play on an Intel Mac, so less of a need to make configuration changes. It was a bit of a challenge a few years ago, so the forums were helpful.

1 Like

What’s weird about the 5700, is that when I search the 580 vs 5700 xt on zwiftalizer, it seems that the 580 is doing better?

Very strange

1 Like