One of the most common questions we get is: “what gpu should I use for a Mac OS VM,” and it’s frankly a hard one to answer.

Nvidia is essentially out of the question at this point, assuming you want to use a new release of their operating system, and new AMD cards don’t work well with UEFI Passthrough. It’s damned if you do, damned if you don’t.

Consider supporting us if you value independent tech news and research. This site will always be free of ads and sponsored content.

Our VFIO Increments Page is generally OK to follow for macs, but as picky as OS X can be about supported cards, it’s good to err on the side of caution. This is an addendum to the Increments page specifically for Mac OS GPU Selection

So, What AMD GPUs Aren’t Safe?

As far as we can tell from our (extensive) research, Hawaii cards (The R9 290, 290X, 390, and 390X) are the first cards that shipped with the reset bug. All newer cards, including Vega and the 5700 are affected, and won’t reset properly in a VM. Apple Drivers support the RX 400 and 500 series as well as Vega/Fury Cards, but it isn’t advisable to pick one up unless you never plan on rebooting your VM.

Narrowing things down Further, we know that cards too old to support UEFI Boot won’t work either, except for the special UGA variants pulled from or made for old mac pros, but those end support in 10.14 Mojave, so they aren’t worth talking about.

So where does that leave us?

Explicitly Supported Cards

Well, Apple explicitly lists exactly 1 “metal capable” reset bug free card in their Mojave announcement:

  • The SAPPHIRE Radeon HD 7950

However, the drivers mojave ships with with support many cards out of the box as well. Mac OS is finnicky and won’t work if you don’t have an exact PCIe ID match, so, buyer beware, but generally we feel safe recommending these models:

  • Any 7950/70 or 280/X that supports UEFI boot *
  • Any 7850/70 or 270/X that supports UEFI boot *
  • Any Firepro Card Based on CGN 1.0 that supports UEFI boot **

[*] XFX Cards can cause kernel panics on some models, the brand should generally be avoided
[**] The models that fit this description are: The Firepro W7000, 8000, 9000, and D300, 500, 700 Cards. The D Series was designed specifically for Macs.

You can check if your card supports UEFI boot on the Tom’s Hardware VBIOS Archives. You may want to pass a supported rom or update to the most recent vbios as well to make sure you have a revision that will work, because some cards from this era did not ship with UEFI support.

There’s also one possible exception to the “Newer than Hawaii” rule for the reset bug: The Sapphire Radeon RX 580 Pulse (Model SKU 11265-05-20G) — these cards were shipped with the Apple eGPU dev kits and we’ve had at least a few reports of successful resets with this model. We’re not giving it a hard recommendation because of the issues with other polaris cards, but it’s definitely worth trying and reporting back to us if you do already own this model. 

The reason we don’t recommend 300 series cards is, while the apple drivers do support some of them, they seem to have PCIe ID mismatches more often than the older rebrands, so support varies on a model-by-model basis.

Lower end GCN 1.0 cards in the 7000 and 200 series can work as well, but often weren’t supported well or long enough to get a UEFI Boot bios update. If you already own one, though, it can’t hurt to look up if your model got a support update. We’ll be working on a patch guide as well, for those that already own a GCN 1.0 card with no UEFI support that still want to use their cards for Mac OS.

In addition to these conservative recommendations, Community member and MacOS-Simple-KVM Maintainer, Foxlet, Has compiled a list of explicitly supported PCI IDs in the Mac OS graphics drivers.

Some of these IDs do not match any known AMD device, so if you have a card that matches one with ??? in the model field, please contact us:

Apple Supported Device IDs

Device IDRaw (Mac)Model IdentifierNotes
1002:66400x66401002Saturn XT [FirePro M6100]Mobile
1002:66410x66411002Saturn PRO [Radeon HD 8930M] Mobile
1002:66460x66461002Bonaire XT [Radeon R9 M280X] Mobile
1002:66470x66471002Saturn PRO/XT [Radeon R9 M270X/M280X] Mobile
1002:66500x66501002Bonaire 
1002:66510x66511002Bonaire 
1002:67800x67801002Tahiti XT GL [FirePro W9000] 
1002:67900x67901002???
Firepro D 500?
1002:67980x67981002Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] Mobile
1002:68000x68001002Wimbledon XT [Radeon HD 7970M] Mobile
1002:68010x68011002Neptune XT [Radeon HD 8970M] Mobile
1002:68060x68061002Neptune Mobile
1002:68100x68101002Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]Certain cards require a GOP-patched VBIOS for operation
1002:68180x68181002Pitcairn XT [Radeon HD 7870 GHz Edition] 
1002:68190x68191002Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP] 
1002:68200x68201002Venus XTX [Radeon HD 8890M / R9 M275X/M375X] Mobile
1002:68210x68211002Venus XT [Radeon HD 8870M / R9 M270X/M370X] Mobile
1002:68230x68231002Venus PRO [Radeon HD 8850M / R9 M265X] Mobile
1002:68250x68251002Heathrow XT [Radeon HD 7870M] Mobile
1002:68270x68271002Heathrow PRO [Radeon HD 7850M/8850M] Mobile
1002:68350x68351002Cape Verde PRX [Radeon R9 255 OEM] 
1002:68390x68391002???
Firepro D300?
1002:68600x68601002Vega 10 [Radeon Instinct MI25]Reset Bug
1002:68610x68611002Vega 10 XT [Radeon PRO WX 9100]Reset Bug
1002:68620x68621002Vega 10 XT [Radeon PRO SSG]Reset Bug
1002:68630x68631002Vega 10 XTX [Radeon Vega Frontier Edition]Reset Bug
1002:68640x68641002VegaReset Bug
1002:68670x68671002Vega 10 XL [Radeon Pro Vega 56]Reset Bug
1002:68680x68681002Vega 10 [Radeon PRO WX 8100/8200]Reset Bug
1002:68690x68691002???
1002:69200x69201002??? 
1002:69210x69211002Amethyst XT [Radeon R9 M295X] Mobile
1002:69300x69301002???
1002:69380x69381002Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X] Mobile
1002:69390x69391002Tonga PRO [Radeon R9 285/380]Reset Bug
1002:665C0x665C1002Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] 
1002:665D0x665D1002Bonaire [Radeon R7 200 Series] 
1002:66A00x66A01002Vega 20 [Radeon Instinct]Reset Bug
1002:66A10x66A11002Vega 20Reset Bug
1002:66A20x66A21002Vega 20Reset Bug
1002:66A30x66A31002Vega 20Reset Bug
1002:66A70x66A71002Vega 20 [Radeon Pro Vega 20]Reset Bug
1002:66AF0x66AF1002Vega 20 [Radeon VII]Reset Bug
1002:679A0x679A1002Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] 
1002:679E0x679E1002Tahiti LE [Radeon HD 7870 XT] 
1002:67B00x67B01002Hawaii XT / Grenada XT [Radeon R9 290X/390X]Reset Bug
1002:67C90x67C91002???
 
1002:67CA0x67CA1002Ellesmere [Polaris10]Reset Bug
1002:67CC0x67CC1002Ellesmere [Polaris10]Reset Bug
1002:67CF0x67CF1002Ellesmere [Polaris10]Reset Bug
1002:67D00x67D01002Ellesmere [Radeon Pro V7300X / V7350x2]Reset Bug
1002:67DF0x67DF1002Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]Reset Bug
1002:67E00x67E01002Baffin [Radeon Pro WX 4170]Reset Bug
1002:67E10x67E11002Baffin [Polaris11]Reset Bug
1002:67E30x67E31002Baffin [Radeon Pro WX 4100]Reset Bug
1002:67E70x67E71002???
Reset Bug
1002:67E80x67E81002Baffin [Radeon Pro WX 4130/4150]Reset Bug
1002:67E90x67E91002Baffin [Polaris11]Reset Bug
1002:67EB0x67EB1002Baffin [Radeon Pro V5300X]Reset Bug
1002:67EF0x67EF1002Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]Reset Bug
1002:67FF0x67FF1002Baffin [Radeon RX 550 640SP / RX 560/560X]Reset Bug
1002:682B0x682B1002Venus LE / Tropo PRO-L [Radeon HD 8830M / R7 M465X] 
1002:682D0x682D1002Chelsea XT GL [FirePro M4000] Mobile
1002:682F0x682F1002Chelsea LP [Radeon HD 7730M] Mobile
1002:683B0x683B1002???
Firepro D700?
1002:683D0x683D1002Cape Verde XT [Radeon HD 7770/8760 / R7 250X] 
1002:683F0x683F1002Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] 
1002:686A0x686A1002???
1002:686B0x686B1002???
1002:686C0x686C1002Vega 10 [Radeon Instinct MI25 MxGPU]Reset Bug
1002:686D0x686D1002???
1002:686E0x686E1002???
1002:687F0x687F1002Vega 10 XL/XT [Radeon RX Vega 56/64]Reset Bug
1002:69A00x69A01002Vega 12Reset Bug
1002:69A10x69A11002Vega 12Reset Bug
1002:69A20x69A21002Vega 12Reset Bug
1002:69A30x69A31002Vega 12Reset Bug
1002:69AF0x69AF1002Vega 12 [Radeon Pro Vega 20]Reset Bug
1002:73000x73001002Fiji [Radeon R9 FURY / NANO Series]Reset Bug, Present in late High Sierra Builds
1002:730F0x730F1002??? 

 

Just because your GPU has the same Identifier as one of the IDs listed here does NOT necessarily mean it will work out of the box. Check to make sure the id matches by running lspci -nnk | grep VGA and cross referencing its output by searching for it in this document (ctrl +f.)

Even a matching ID does not guarantee functionality. Laptop GPUs will be difficult to set up and probably won’t work on the laptop’s built in monitor, because Apple uses custom muxing hardware in their implementations of those devices. In addition, cards with the reset bug or without UEFI Boot support out of the box will be a lot more trouble.

We’ll be working on populating this list with known good SKUs, so if you try one and have success, be sure to let us know in the discord or via email.


Consider Supporting us on Patreon if you like our work and want a say in what we cover and access to early content. We provide RSS feeds as well as regular updates on Twitter if you want to be the first to know about the next part in this series or other projects we’re working on. If you need help or have questions about any of our articles, you can find us on our Discord.

Images via Pixabay, special thanks to Foxlet for his tremendous help in Compiling the ID table