Ryzen 9800X3D + X870E + RX 6900 XT + RTX 5090 dual-GPU hackintosh — build log and current problem

mrt360

New member
AMD OS X Member
Apr 22, 2026
10
0
1
CPU:
9800x3d

Goal​

I'm consolidating a separate Intel Hackintosh and Windows gaming PC into a single dual-boot workstation.

macOS -> RX 6900 XT only
Windows -> RTX 5090 + RX 6900 XT

The RTX 5090 does not need to function in macOS. Ideally macOS would not even enumerate it.

Hardware​

CPU: Ryzen 7 9800X3D
Motherboard: Gigabyte X870E AORUS Elite WiFi7
GPU (macOS): XFX RX 6900 XT
GPU (Windows): Zotac RTX 5090 (this plan is to deactivate in Mac OS)
NIC: Intel I226-V PCIe (AppleIGC)
PSU: be quiet! Dark Power Pro 13 1600W
Case: Lian Li O11 Dynamic EVO XL

Current layout:
• RTX 5090 horizontal in Slot 1
• RX 6900 XT upright using the EVO XL upright GPU kit (Slot 3 connection)

OpenCore​

OpenCore 1.0.7
SMBIOS: MacPro7,1

Kexts:
Lilu, VirtualSMC, WhateverGreen, AppleALC, AppleIGC, AMFIPass, RestrictEvents, AppleMCEReporterDisabler, NVMeFix, USBMap

Boot Args:
-v keepsyms=1 debug=0x100 agdpmod=pikera alcid=11 npci=0x2000 dart=0

What Works​

With only the RX 6900 XT installed:
• Sonoma boots reliably
• Photoshop 32-bit HDR confirmed working
• USB fully mapped
• Apple ID / iCloud working
• Intel I226-V is en0 with IOBuiltin=Yes
• Windows boots independently via BIOS F12 → Windows Boot Manager
• LSI 9211-8i HBA working correctly

The machine is completely stable in this configuration.

The Problem​

As soon as the RTX 5090 is installed and powered:

• BIOS output appears on the 5090
• OpenCore picker appears on the 5090
• Verbose boot appears on the 5090
• RX 6900 XT remains dark throughout the entire process

Boot then loops on:

AppleUserHIDDrivers
ITE Upgrade Mode(128)
VID:04D8 PID:57DB

Behaviour Matrix​

RX 6900 XT only → Boots normally

RTX 5090 installed and powered →
OpenCore displays on 5090
RX 6900 XT receives no signal
Infinite ITE / AppleUserHIDDrivers loop

RTX 5090 physically removed → Boots normally

RTX 5090 installed but power disconnected →
Gigabyte POST code 99
No POST

ACPI / PCI Mapping​

RTX 5090
01:00.0 → \SB.PCI0.GPP0.VGA
01:00.1 → \_SB.PCI0.GPP0.HDAU

RX 6900 XT
11:00.0 → \_SB.PCI0.GPP7.UP00.DP40.UP00.DP40.EP00

The two GPUs are on completely separate PCIe branches:
RTX 5090 → GPP0
RX 6900 XT → GPP7

Additional Investigation Already Performed​

OpenCore DeviceProperties

Attempted to disable the RTX 5090 using:
PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)
disable-gpu = 01000000

Result:
• OpenCore still displayed on the RTX 5090
• Verbose boot still displayed on the RTX 5090
• RX 6900 XT remained dark
• Same ITE / AppleUserHIDDrivers loop

PCIe Slot Changes

Tested the RX 6900 XT in multiple slots.

Result:
• No change
• RTX 5090 remained the primary display device
• Same boot loop

Linux PCI / ACPI Investigation

Mapped PCI devices to ACPI paths under Ubuntu.

Confirmed:
RTX 5090 -> GPP0
RX 6900 XT -> GPP7

Behaviour With RTX 5090 Removed

• OpenCore boots normally
• RX 6900 XT becomes active
• Sonoma reaches desktop
• System remains stable

Behaviour With RTX 5090 Present

• GOP output transfers to the RTX 5090 before OpenCore loads
• OpenCore picker appears on the RTX 5090
• Verbose boot appears on the RTX 5090
• RX 6900 XT never receives a signal
• System enters the repeating ITE Upgrade Mode loop

Current Theory​

The issue may not be the NVIDIA display device itself, but something associated with the entire GPP0 branch.

Because:
5090 absent -> macOS works
5090 present -> macOS fails

DeviceProperties-based GPU disabling made no difference.

Questions​

• Has anyone successfully hidden or suppressed an RTX 50-series GPU from macOS on AM5 while keeping an AMD GPU active?
• Has anyone seen the repeating ITE Upgrade Mode / AppleUserHIDDrivers loop in a dual-GPU configuration?
• Has anyone used an SSDT to suppress an entire PCIe bridge (e.g. GPP0) under Darwin rather than disabling only the GPU function?
• Does GPP0 suppression sound like a sensible next avenue to investigate?

 

Attachments

Last edited:
Honestly, combining both the GPUs in one system is going to cause you unnecessary problems. The Nvidia GPU will not play nicely if it is set as the main display out connection.

The best you can do is set the Nvidia GPU in the second PCIe slot, vertically using the x16 slot adapter. Have the AMD GPU in the first x16 slot and use a custom SSDT to disable the Nvidia GPU when you boot in to macOS.

The AMD card will not work correctly if the Nvidia card is set as the primary display out in the bios.

Keeping the two systems separate is not a bad thing, given the incompatibility of the Nvidia card.
 
  • Like
Reactions: etorix
Does GPP0 suppression sound like a sensible next avenue to investigate?
Not quite: This is the direct PCIe root to the CPU and your AMD GPU hangs from the chipset, which is not a satisfactory setting for a main GPU.

Two separate builds looks like the most sensible option, even if it implies two sets of RAM.

If you absolutely want to have a single build, I'd suggest to change the motherboard for one which has TWO PCIe slots from the CPU, with x8/x8 bifurcation.
 
Not quite: This is the direct PCIe root to the CPU and your AMD GPU hangs from the chipset, which is not a satisfactory setting for a main GPU.

Two separate builds looks like the most sensible option, even if it implies two sets of RAM.

If you absolutely want to have a single build, I'd suggest to change the motherboard for one which has TWO PCIe slots from the CPU, with x8/x8 bifurcation.
Honestly, combining both the GPUs in one system is going to cause you unnecessary problems. The Nvidia GPU will not play nicely if it is set as the main display out connection.

The best you can do is set the Nvidia GPU in the second PCIe slot, vertically using the x16 slot adapter. Have the AMD GPU in the first x16 slot and use a custom SSDT to disable the Nvidia GPU when you boot in to macOS.

The AMD card will not work correctly if the Nvidia card is set as the primary display out in the bios.

Keeping the two systems separate is not a bad thing, given the incompatibility of the Nvidia card.

Thanks for the replies. The point about the GPU hanging off the chipset rather than connecting directly to the CPU is noted — two separate builds may ultimately be the right solution, and I'm keeping that option open.


However, I'm currently trying to get the 6900 XT working in a single-GPU configuration with the RTX 5090 completely disconnected from the motherboard — no PCIe slot, no power cables. Even in this simplified setup I'm still experiencing the black screen at GPU driver handoff after verbose completes. Windows boots perfectly every time, which rules out a hardware fault.


The system was stable on this exact hardware before a BIOS reset event on 6th June, so I know the combination can work. I've since rebuilt the config as close as possible to the pre-break baseline including WhateverGreen, agdpmod=pikera, npci=0x2000, SSDT-USB-Reset, SSDT-NOBT and OpenVariableRuntimeDxe, but haven't been able to recover consistent stability.


Has anyone run a 6900 XT successfully on X870/X870E in a single GPU configuration? And would a 6800 XT be more likely to behave on this platform?
 
Is you AMD GPU an RX 6900 XT or an RX 6700 XT?

Your signature says you are using an RX 6700 XT, but you are asking for help with an RX 6900 XT.

The RX 6700 XT won’t work with WhateverGreen.kext, it requires NootRX.kext to work in macOS.

Some RX 6900 XT cards require a fake device-id to work in macOS, usually the XTXH variants, your PowerColor card may require the device-id fix in the DeviceProperties or via a custom SSDT.
 
Is you AMD GPU an RX 6900 XT or an RX 6700 XT?

Your signature says you are using an RX 6700 XT, but you are asking for help with an RX 6900 XT.

The RX 6700 XT won’t work with WhateverGreen.kext, it requires NootRX.kext to work in macOS.

Some RX 6900 XT cards require a fake device-id to work in macOS, usually the XTXH variants, your PowerColor card may require the device-id fix in the DeviceProperties or via a custom SSDT.
Thanks Edhawk. To clarify — I have both cards available and I'm happy to use whichever gives the most stable build. My priority is stability.

The card is a PowerColor Red Devil RX 6900 XT. Device ID is 0x73BF so it should be the standard XTX variant. No device-id spoof has been added.
Current config for the 6900 XT:

WhateverGreen.kext + Lilu.kext
Boot args: -v keepsyms=1 debug=0x100 agdpmod=pikera alcid=11 dart=0 npci=0x2000 e1000=0
MacPro7,1 SMBIOS
SSDT-USB-Reset.aml, SSDT-NOBT.aml
OpenVariableRuntimeDxe.efi for emulated NVRAM
IOMMU disabled in BIOS
gpuswitch set to 0

Symptom: verbose boot completes normally, then black screen at GPU driver handoff. Machine is still running. Sometimes recovers after multiple retries or full PSU power cycle.

Windows boots perfectly every time.
The system was stable on this exact hardware before a BIOS reset event on 6th June. The config has been rebuilt as close as possible to the pre-break baseline but consistent stability hasn't been recovered.

Is there anything missing or incorrect in this config that could be causing the handoff failure? And if the 6700 XT would be more reliable on this platform, I'm happy to switch to that with NootRX instead.
 
I use a number of RX 6700 XT & RX 6750 XT cards (most are PowerColor) with no black screen issues. But I wouldn’t say they were any more reliable than the RX 6900 XT cards, when set correctly.

What happened with the Bios?
  1. Did you end up re-flashing the same version of the bios on the system?
  2. Did you flash a newer bios version on the system?
  3. Or was it just a case of resetting the bios to system defaults?
  4. Did you configure the bios to run macOS after the flash or reset?
  5. If a newer bios version was flashed, have you generated new custom SSDT’s and checked the MmioWhitelist entries are still correct for your system?
  6. Have you disabled the AMD iGPU in the bios?
I assume you have tried switching the display off and on again or to another display connector, to see if the screen initialises when it is reset to the normal display connector.
 
I use a number of RX 6700 XT & RX 6750 XT cards (most are PowerColor) with no black screen issues. But I wouldn’t say they were any more reliable than the RX 6900 XT cards, when set correctly.

What happened with the Bios?
  1. Did you end up re-flashing the same version of the bios on the system?
  2. Did you flash a newer bios version on the system?
  3. Or was it just a case of resetting the bios to system defaults?
  4. Did you configure the bios to run macOS after the flash or reset?
  5. If a newer bios version was flashed, have you generated new custom SSDT’s and checked the MmioWhitelist entries are still correct for your system?
  6. Have you disabled the AMD iGPU in the bios?
I assume you have tried switching the display off and on again or to another display connector, to see if the screen initialises when it is reset to the normal display connector.
Thanks. To answer your questions:

The BIOS situation was a reset to defaults — not a flash or version change. After the reset I reconfigured the settings for macOS. I'm not certain whether all the original settings were restored correctly, which may be relevant.

To your specific questions:

No reflash — just a reset to defaults
No newer version flashed
Yes, reset to system defaults
Yes, reconfigured for macOS after the reset

No new SSDTs were generated after the reset — this could be significant. The MmioWhitelist entries have not been checked since the reset
The AMD iGPU has been disabled in BIOS

Regarding switching display connectors — yes, the black screen has occurred across different connectors and cables, and with single monitor configurations on both HDMI and DisplayPort.

The point about SSDTs and MmioWhitelist after the BIOS reset is something we hadn't fully addressed. Could this be the cause? If the BIOS reset changed memory mapped IO regions, would the existing MmioWhitelist entries no longer be valid?
 
No, not if all you did was use the system defaults in the bios. They would only come in to play if the bios were changed to a different version.
 
Have tried connecting to the Hack, from a real Mac or another Hack, using screen sharing? Does it show a black screen or the normal login screen?
 
  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.