Contribute
Register

[Success] Radeon RX 6800 XT - Big Sur

Joined
Oct 24, 2013
Messages
794
Motherboard
Gigabyte Z590 Vision D
CPU
i7-11700K OC @ 5.2GHz
Graphics
RX 6800 XT
Mac
  1. iMac
  2. MacBook
  3. MacBook Pro
Mobile Phone
  1. iOS
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.
What are benchmarks like with the spoofed device id? If they’re normal then probably not much to worry about?
 
Joined
Apr 5, 2021
Messages
9
Motherboard
Gigabyte Z590i Aorus Ultra
CPU
I9-10900
Graphics
RX 5500 XT
hey, i have the same problem. i have msi rx6800xt gaming trio with lg ultra wide monitor. when boot i get oc picker and i get verbose for a while. then monitor go to no signal until the login screen. i tried everything you mentioned also hdmi. still no difference. i used Radeon vii which doesn't had this problem. also i noticed when update mac os with this gpu no signal until the fully install and boot.
I have the same problem, MSI RX6800, OC 0.7.0, Gigabyte Z590 Vision G, dual monitor attached to DP port. I was using RX5700 and didn't have the problem. I see this on the kernel log.

Code:
2021-06-17 10:14:09.180896+0700  localhost kernel[0]: (AppleACPIPlatform) <AppleACPIPlatform`AcpiOsVprintf> VFCT 0x0000000039464000 00B084 (v01 ALASKA A M I    00000001 AMD  31504F47)
2021-06-17 10:14:09.180896+0700  localhost kernel[0]: (AppleACPIPlatform) <AppleACPIPlatform`AcpiOsVprintf> VFCT 0x0000000039464000 00B084 (v01 ALASKA A M I    00000001 AMD  31504F47)
2021-06-17 10:14:22.409221+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AMDRadeonX6000_AmdRadeonControllerNavi10::probe(IOService*, int*)> [3:0:0] AMDRadeonX6000_AmdRadeonControllerNavi10::probe() !!! FAIL: Check ID! device_id:0x73bf rev_id:0xc3
2021-06-17 10:14:22.473806+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAsicInit *AmdAsicInit::createAsicInit(AmdAtomFwHelper *) --- tableIndex:0, V 2.1.
2021-06-17 10:14:22.473810+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdDisplayControllerInit *AmdDisplayControllerInit::createDisplayControllerInit(AmdAtomFwHelper *) --- tableIndex:0xd, V 2.1.
2021-06-17 10:14:22.473812+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdDmcuService *AmdDmcuService::createDmcuService(AmdAtomFwHelper *) --- tableIndex:0x42, V 1.1.
2021-06-17 10:14:22.473814+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomFirmwareInfo *AmdAtomFirmwareInfo::createFirmwareInfo(AmdAtomFwHelper *, uint32_t) --- V 3.4.
2021-06-17 10:14:22.473816+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomDcInfo *AmdAtomDcInfo::createDcInfo(AmdAtomFwHelper *, uint32_t) --- V 4.4.
2021-06-17 10:14:22.473818+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomSmuInfo *AmdAtomSmuInfo::createSmuInfo(AmdAtomFwHelper *, uint32_t) --- V 3.5.
2021-06-17 10:14:22.473820+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomPspDirectory *AmdAtomPspDirectory::createPspDirectory(AmdAtomFwHelper *, uint32_t) --- V 2.6.
2021-06-17 10:14:22.473916+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomVramInfo *AmdAtomVramInfo::createVramInfo(AmdAtomFwHelper *, uint32_t) --- V 2.5.
2021-06-17 10:14:22.473923+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomVramUsageByFw *AmdAtomVramUsageByFw::createVramUsage(AmdAtomFwHelper *, uint32_t) --- V 2.1.
2021-06-17 10:14:22.473925+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomObjectInfo *AmdAtomObjectInfo::createObjectInfo(AmdAtomFwHelper *, uint32_t) --- V 1.4.
2021-06-17 10:14:22.473928+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AmdAtomFwHelper::debugPrint(unsigned int, char const*, ...) const> [3:0:0][ATOM][LIB] static AmdAtomGpioPinLut *AmdAtomGpioPinLut::createGpioPinLutTable(AmdAtomFwHelper *, uint32_t) --- V 2.1.
2021-06-17 10:14:22.475486+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::initialize(_TtlLibraryInitializationInput*)> [AMD INFO] TTL Interface: Boot mode Normal.
2021-06-17 10:14:23.225692+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::initialize(_TtlLibraryInitializationInput*)> [AMD INFO] TTL Interface: Boot mode Normal.
2021-06-17 10:14:23.227185+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::cosWritePciConfigData(void*, cos_access_pci_config_data_input*, cos_access_pci_config_data_output*)> AMD TTL COS:  [3:0:0]: Write PCI Config offset 0x60 size 2 data 0x20
2021-06-17 10:14:23.227188+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::cosWritePciConfigData(void*, cos_access_pci_config_data_input*, cos_access_pci_config_data_output*)> AMD TTL COS:  [3:0:1]: Write PCI Config offset 0x60 size 2 data 0x20
2021-06-17 10:14:23.228692+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::getFirmware(char const*, _TtlFwInfo*)> AMD Error:
2021-06-17 10:14:23.228694+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::cosReadFirmware(void*, cos_read_fw_input*, cos_read_fw_output*)> AMD Error:
2021-06-17 10:14:23.228727+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::cosWritePciConfigData(void*, cos_access_pci_config_data_input*, cos_access_pci_config_data_output*)> AMD TTL COS:  [3:0:0]: Write PCI Config offset 0x60 size 2 data 0x100
2021-06-17 10:14:23.228730+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::cosWritePciConfigData(void*, cos_access_pci_config_data_input*, cos_access_pci_config_data_output*)> AMD TTL COS:  [3:0:1]: Write PCI Config offset 0x60 size 2 data 0x100
2021-06-17 10:14:23.252633+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::amd_log_psp(void*, cos_write_amdlog_input*, char const*)> AMD TTL AMDLOG: [3:0:0] PSP: event_id=0x100211 event_info:type=2 hw_id=0 event_specific_tag=0x0 pData=0x0 data_size=0 psp_hardware_initialization finished loading PSP FWs
2021-06-17 10:14:23.284164+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::amd_log_psp(void*, cos_write_amdlog_input*, char const*)> AMD TTL AMDLOG: [3:0:0] PSP: event_id=0x180209 event_info:type=2 hw_id=0 event_specific_tag=0x0 pData=0x0 data_size=0 psp_hdcp_resume finished
2021-06-17 10:14:23.449330+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::amd_log_psp(void*, cos_write_amdlog_input*, char const*)> AMD TTL AMDLOG: [3:0:0] PSP: event_id=0x180209 event_info:type=2 hw_id=0 event_specific_tag=0x0 pData=0x0 data_size=0 psp_hdcp_initialize finished
2021-06-17 10:15:15.684493+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AMDRadeonX6000_AmdLogger::writeLog(LogType, LogSeverity, char const*, ...) const> [3:0:0] [AGDC] AMDRadeonX6000_AmdAgdcServices::vendor_doDeviceAttribute() ??? Controller is NOT enabled so SKIP. cmd:[       3].
2021-06-17 10:15:15.686600+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AMDRadeonX6000_AmdLogger::writeLog(LogType, LogSeverity, char const*, ...) const> [3:0:0] [FB:0] AmdRadeonFramebuffer::setCursorImage() !!! Driver is offline.
2021-06-17 10:15:15.686602+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AMDRadeonX6000_AmdLogger::writeLog(LogType, LogSeverity, char const*, ...) const> [3:0:0] [FB:1] AmdRadeonFramebuffer::setCursorImage() !!! Driver is offline.
2021-06-17 10:15:15.686604+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AMDRadeonX6000_AmdLogger::writeLog(LogType, LogSeverity, char const*, ...) const> [3:0:0] [FB:2] AmdRadeonFramebuffer::setCursorImage() !!! Driver is offline.
2021-06-17 10:15:15.686605+0700  localhost kernel[0]: (AMDRadeonX6000Framebuffer) <AMDRadeonX6000Framebuffer`AMDRadeonX6000_AmdLogger::writeLog(LogType, LogSeverity, char const*, ...) const> [3:0:0] [FB:3] AmdRadeonFramebuffer::setCursorImage() !!! Driver is offline.
2021-06-17 10:15:31.999532+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::pmRequestPower(void*, _TtlPmReqPwrInput*)> AMD Error:
2021-06-17 10:15:32.015264+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::pmRequestPower(void*, _TtlPmReqPwrInput*)> AMD Error:
2021-06-17 10:15:32.060543+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::pmRequestPower(void*, _TtlPmReqPwrInput*)> AMD Error:
2021-06-17 10:15:32.065383+0700  localhost kernel[0]: (AMDRadeonX6800HWLibs) <AMDRadeonX6800HWLibs`AmdTtlServices::pmRequestPower(void*, _TtlPmReqPwrInput*)> AMD Error:

 
Joined
Dec 11, 2016
Messages
43
Motherboard
Asrock TRX40 Creator
CPU
AMD 3970x
Graphics
Sapphire RX 6900XT Toxic Extreme Edition (Device ID 0x73AF)
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
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
 
Joined
Jul 20, 2014
Messages
851
Motherboard
AsRock X299 Creator
CPU
i9-10900X
Graphics
RX 6800 XT
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Joined
Dec 15, 2010
Messages
295
Motherboard
Gigabyte Z390 Aorus Master
CPU
i9-9900K
Graphics
HD 630HD + RX 6900 XT
Mac
  1. MacBook Pro
  2. Mac mini
  3. Mac Pro
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:
Joined
May 11, 2011
Messages
1,959
Motherboard
Gigabyte B550 Vision D
CPU
Ryzen 5900X
Graphics
RX 6800
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. MacBook Pro
  5. Mac mini
  6. Mac Pro
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
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?
 
Joined
Jun 15, 2012
Messages
471
Motherboard
Gigabyte Z370 AORUS Gaming 7-F13
CPU
i7-8700K OC @ 5.1Ghz
Graphics
RX 6900 XT
Mac
  1. MacBook Pro
  2. Mac Pro
Classic Mac
  1. Performa
Mobile Phone
  1. iOS
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.
 
Joined
May 11, 2011
Messages
1,959
Motherboard
Gigabyte B550 Vision D
CPU
Ryzen 5900X
Graphics
RX 6800
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. MacBook Pro
  5. Mac mini
  6. Mac Pro
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
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
 
Joined
Jun 15, 2012
Messages
471
Motherboard
Gigabyte Z370 AORUS Gaming 7-F13
CPU
i7-8700K OC @ 5.1Ghz
Graphics
RX 6900 XT
Mac
  1. MacBook Pro
  2. Mac Pro
Classic Mac
  1. Performa
Mobile Phone
  1. iOS
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.
 
Joined
Jun 18, 2021
Messages
1
Motherboard
asus b450i
CPU
ryzen 5600x
Graphics
RX 6800xt
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.
 
Top