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 9800X3DMotherboard: 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.7SMBIOS: 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 normallyRTX 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 509001: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 DevicePropertiesAttempted 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: