Contribute
Register

[Success] AMD RX6000 Series working in macOS

My HDMI/DisplayPort Audio works just fine. My audio device id was already supported before the spoofing.

Screen Shot 2021-06-17 at 6.28.05 AM.png


Here is my Geekbench 5 Metal score:

Screen Shot 2021-06-17 at 6.23.51 AM.png
 
I have the monitor drop out behavior on DP as well during boot on my 6900 xt. It drops out after several seconds in verbose mode then comes back just before the login screen. I did not experience this with my RVII. Otherwise, works fine.

ScreenShot3.jpg


EDIT: On latest public beta (11.5 beta 3) seeing significantly lower scores... 143000.
 
Last edited:
Found a caveat to the Spoofed Id method. It downgrades metal feature set to just basic. it doesn't list V1 or V2 family specific features anymore. The injected Id also injects a custom name, but I tried to make that match name it'd normally be and it wasn't enough. Something else must be injected into the fake device to make it recognize as a genuine V2 metal feature set card.

it could also just be cosmetic only to system profiler. trying to find a program or terminal command that lets me query metal feature set version card is running.
Have you tried to use GLView?
 
Have you tried to use GLView?
I did, but i did one better. I had a developer write an app that literally did nothing but quiery gpu for all relative apis and printed returns and it returns everything true it's supposed to

2021-06-17 18:35:54.331601-0400 GpuInfo[7758:412787] Metal GPU Frame Capture Enabled
2021-06-17 18:35:54.332128-0400 GpuInfo[7758:412787] Metal API Validation Enabled
2021-06-17 18:35:54.332377-0400 GpuInfo[7758:412787] Unable to locate MetalPluginName property or is of the wrong type
2021-06-17 18:35:54.348832-0400 GpuInfo[7758:412787] +[MTLIOAccelDevice registerDevices]: Zero Metal services found
Gpu Name: AMD Radeon HD GFX10 Family Unknown Prototype
recommendedMaxWorkingSetSize: 17163091968
hasUnifiedMemory: false
maxTransferRate: 0
supportsFamily: MTLGPUFamilyCommon1: true
supportsFamily: MTLGPUFamilyCommon2: true
supportsFamily: MTLGPUFamilyCommon3: true
supportsFamily: MTLGPUFamilyMac1: true
supportsFamily: MTLGPUFamilyMac2: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v1: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v2: true
supportsFeatureSet: MTLFeatureSet_macOS_ReadWriteTextureTier2: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v4: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily2_v1: true
Program ended with exit code: 0

What this means, system profiler not reporting feature set of card while it's spoofed is purely cosmetic. The feature sets are turning true. I'm gonna guess that system profiler does some lazy check like checking gpu string name or something else from vbios instead of matching device Id like driver does for determining features. Since amd driver sees 0x73bf it's returning 0x73bf feature set which is all of them.

so i'm pretty relieved that so far the only issue with spoofing a 0x73af to 0x73bf is a cosmetic issue with system profiler not listing the metal feature set correctly. Even then it's probably something that can be fixed with more injection/correction (if we knew what field system prfiler is checking, it's not gpu name cause I already corrected that)

the fact 0x73af new models continue coming out though, i hope it soon becomes a problem apple can't ignore. It's one thing to not support 6700 gpus because apple didn't announce they support them. it's another to say you DO support 6900XT yet have an increasing number of them not work as new models using 0x73af keep popping up almost weekly at this point.
 
I did, but i did one better. I had a developer write an app that literally did nothing but quiery gpu for all relative apis and printed returns and it returns everything true it's supposed to

2021-06-17 18:35:54.331601-0400 GpuInfo[7758:412787] Metal GPU Frame Capture Enabled
2021-06-17 18:35:54.332128-0400 GpuInfo[7758:412787] Metal API Validation Enabled
2021-06-17 18:35:54.332377-0400 GpuInfo[7758:412787] Unable to locate MetalPluginName property or is of the wrong type
2021-06-17 18:35:54.348832-0400 GpuInfo[7758:412787] +[MTLIOAccelDevice registerDevices]: Zero Metal services found
Gpu Name: AMD Radeon HD GFX10 Family Unknown Prototype
recommendedMaxWorkingSetSize: 17163091968
hasUnifiedMemory: false
maxTransferRate: 0
supportsFamily: MTLGPUFamilyCommon1: true
supportsFamily: MTLGPUFamilyCommon2: true
supportsFamily: MTLGPUFamilyCommon3: true
supportsFamily: MTLGPUFamilyMac1: true
supportsFamily: MTLGPUFamilyMac2: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v1: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v2: true
supportsFeatureSet: MTLFeatureSet_macOS_ReadWriteTextureTier2: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily1_v4: true
supportsFeatureSet: MTLFeatureSet_macOS_GPUFamily2_v1: true
Program ended with exit code: 0

What this means, system profiler not reporting feature set of card while it's spoofed is purely cosmetic. The feature sets are turning true. I'm gonna guess that system profiler does some lazy check like checking gpu string name or something else from vbios instead of matching device Id like driver does for determining features. Since amd driver sees 0x73bf it's returning 0x73bf feature set which is all of them.

so i'm pretty relieved that so far the only issue with spoofing a 0x73af to 0x73bf is a cosmetic issue with system profiler not listing the metal feature set correctly. Even then it's probably something that can be fixed with more injection/correction (if we knew what field system prfiler is checking, it's not gpu name cause I already corrected that)

the fact 0x73af new models continue coming out though, i hope it soon becomes a problem apple can't ignore. It's one thing to not support 6700 gpus because apple didn't announce they support them. it's another to say you DO support 6900XT yet have an increasing number of them not work as new models using 0x73af keep popping up almost weekly at this point.
Impressive feat! Are you going to release this app for the hackintosh community? Because that would be interesting
as it would help a lot of users know what their GPUS are capable of.

As to your query, I'm surprised, but did you not know that the System Profiler reports whatever is installed based on the AMD kexts in /S/L/E? If you look in there you'll find that there are a handful of 'driver' kexts that Apple has released that use the device-id to determine which family those cards are part of, and in so doing determine their feature sets and path of control. One way that Gigamaxx got around to booting the AMD APU was to spoof his GPU to a value that closely matched those of his series. He injected the value into two of the AMD kexts and that was what enabled his GPU to boot.

Anyways there is a list of reference AMD GPU device-id's you can check at this repository > https://pci-ids.ucw.cz/read/PC/1002
 
more testing, @property(readonly) NSString *name; returns Gpu Name: "AMD Radeon HD GFX10 Family Unknown Prototype" which is why all apps report same thing.

The name injection from spoof literally only injects name visible in about this mac, everywhere else gpu name is this. I think this is again mostly cosmetic as long as apps are requesting to just know gpu features directly via graphics apis and not using card name for anything other than reporting card name.
 
Does anyone know the fix for 6800xt reference card not sleeping? I'll hit sleep and wait for the Radeon light to turn off and I hear the GPU click, as soon as it turns off it turns back on, the monitor is still off btw. If I don't wake the computer up - it'll cycle and do this over and over again. I've searched but have come up short on what to do. I must have missed some setup file or something, other than that everything else works really well besides some slight stuttering depending on what mouse I'm using.
 
Success indeed! Thanks to this thread.

Flawless update from a Vega 64 to an MSI RX 6800XT trio, Big Sur 11.4. OC 0.7.0, iMac20,2.
Just added agdpmod=pikera in the boot-args. More than doubled my Geekbench Metal score, from 60750 with the Vega 64 to 150950 with the 6800's. Really? Hard to believe such a big jump between 2 recent cards.
I'll test it hard in the coming days.
 
Success indeed! Thanks to this thread.

Flawless update from a Vega 64 to an MSI RX 6800XT trio, Big Sur 11.4. OC 0.7.0, iMac20,2.
Just added agdpmod=pikera in the boot-args. More than doubled my Geekbench Metal score, from 60750 with the Vega 64 to 150950 with the 6800's. Really? Hard to believe such a big jump between 2 recent cards.
I'll test it hard in the coming days.
Do you have a problem with the display off and on during booting process?
 
Back
Top