Contribute
Register

[Success] AMD RX6000 Series working in macOS

Well, I've moved it up just in case.

I did test the 0x73AB just now and things have indeed changed slightly.
Instead of booting to the OS normally (but with no driver loaded), I'm now running into a black screen right as it would normally go to the login screen. I also saw the well-known purple lines appear for a split-second.
Will test the same setup with MacPro and no WEG now, since the black-screen thing may be related to that.
That sounds exactly like the issue that's fixed by agdpmod=pikera with WEG; also cured by switching to MacPro 7,1 with no WEG, as you said. You may be close!
 
Well, it turned out that I'd forgotten to re-enabled WEG after my last try, which led to the black screen on boot.
Re-enabling it again let me boot through into the OS.

Unfortunately the situation has not changed. While FakePCIID now attaches with 0x73AB, the GPU still shows up with its original Device ID in System Information and does not have a driver loaded. Strange.

The main thing that's weird is that through all these tries, the actual Device ID reported in System Information has never changed.
 
Last edited:
Well, it turned out that I'd forgotten to re-enabled WEG after my last try, which led to the black screen on boot.
Re-enabling it again let me boot through into the OS.

Unfortunately the situation has not changed. While FakePCIID now attaches with 0x73AB, the GPU still shows up with its original Device ID in System Information and does not have a driver loaded. Strange.
On the Z490 Vision D we use DeviceProperties to change Device ID 0x15F3 (2.5GbE, but unsupported) to 0x15F2 (supported Intel i225-V). But this alone does not attach the 2.5GbE driver even though the Device ID in IOReg has been changed.

This suggests that DeviceProperties might be injected a bit too late; macOS might already have probed the bus, found original device ID 0x15F3 and connected it to the standard 1GbE driver.

But when we install FakePCIID in addition to DeviceProperties, it forces macOS to attach the driver for 0x15F2 (2.5 GbE).

Now coming back to the RX 6900 XT, I can offer some suggestions:
  • Reverse the order of the two PCIID kexts by placing FakePCIID_RX6000_Graphics.kext first, before all other kexts.
  • In the IOKitPersonalities block, try removing some fields.
    • Remove IOPCIClassMatch by itself (i.e. make one change at a time) and reboot/test
    • Remove IOProbeScore and reboot/test
XML:
    <key>IOKitPersonalities</key>
    <dict>
        <key>RX6800 RX6800XT RX6900XT</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>org.rehabman.driver.FakePCIID</string>
            <key>FakeProperties</key>
            <dict>
                <key>RM,device-id</key>
                <data>
                q3MAAA==
                </data>
            </dict>
            <key>IOClass</key>
            <string>FakePCIID</string>
            <key>IOMatchCategory</key>
            <string>FakePCIID</string>
            <key>IOPCIClassMatch</key>
            <string>0x03000000&amp;0xff000000</string>
            <key>IOPCIPrimaryMatch</key>
            <string>0x73AB1002 0x73AF1002</string>
            <key>IOProbeScore</key>
            <integer>9001</integer>
            <key>IOProviderClass</key>
            <string>IOPCIDevice</string>
        </dict>
    </dict>
  • It's possible that we're still injecting this too late in the boot sequence. So the default driver gets attached early on and macOS will not allow that driver to be changed. Or FakePCIID was not designed for this case.
 
@byteminer,

One more thing...
  • What is your system product name? MacPro7,1 or ...?
  • Have you tried MacPro7,1 with WEG disabled?
 
@byteminer,

One more thing...
  • What is your system product name? MacPro7,1 or ...?
  • Have you tried MacPro7,1 with WEG disabled?
I'm daily-driving iMacPro1,1 but during this experiment I've tried MacPro7,1 as well.

I just tried your proposed changes in the following order and with a reboot between each:
- Reversed the two kexts so the Graphics one is first
- Removed IOPCIClassMatch
- Removed IOProbeScore
- Removed both entries at the same time

All of these led to the same result:
I can boot into macOS without problem, the 6900 XT is show in System Information, but with the message "No Kext Loaded". The Device ID shown in System Information as well as in IOReg is always the original 0x73AF.
Meanwhile I can see RM,device-id containing the values we've been trying out (currently 0x73AB).
 
I'm daily-driving iMacPro1,1 but during this experiment I've tried MacPro7,1 as well.

I just tried your proposed changes in the following order and with a reboot between each:
- Reversed the two kexts so the Graphics one is first
- Removed IOPCIClassMatch
- Removed IOProbeScore
- Removed both entries at the same time

All of these led to the same result:
I can boot into macOS without problem, the 6900 XT is show in System Information, but with the message "No Kext Loaded". The Device ID shown in System Information as well as in IOReg is always the original 0x73AF.
Meanwhile I can see RM,device-id containing the values we've been trying out (currently 0x73AB).
Have you tried adding device-id = 0x73AB to the SSDT?
 
Did a metal run on GB on my B550 Vision D and 5950X + 6800XT Reference... is this OK?


Screen Shot 2021-04-25 at 09.36.57.png
 
I don't believe anyone has found a way to boot macOS with Resize Bar enabled as yet.
I believe I have done so on my Z490 Aorus Xtreme i9 11900K setup. After I upgraded the firmware to F20 I enabled Resize Bar in the firmware and it was able to boot into macOS no problem (albeit it is with a GTX 1060 Ti card).
 
Back
Top