acidanthera / bugtracker

Acidanthera Bugtracker
385 stars 44 forks source link

Ventura Boot Issues with certain GPU/Firmware combinations #2126

Open khronokernel opened 2 years ago

khronokernel commented 2 years ago

An odd issue that we've seen pop up on Ventura is certain GPUs having boot issues depending on the hardware combination. Specifically stalling around PCI configuration begin stage.

We've seen this happen on the following units:


When booting a normal configuration, we see the error show up extremely early:

QEMU VM Genuine 2013 Mac Pro (MacPro6,1)
Screen Shot 2022-09-23 at 7 20 22 PM

However on the QEMU VM, booting with serial=5 actually boots much further up to graphics init stage. Once arriving, we see a repeated newUserClientFailed 0x... 0x... IONVDRFramebuffer error:


Model GPU Output Protocol Is Functional
X299 (QEMU VM) Nvidia GT710 (2GB HP and 1GB Zotak) GOP NO
X299 (QEMU VM) AMD RX 470 GOP YES
X299 (Bare Metal) Nvidia GT710 (2GB HP and 1GB Zotak) GOP YES
HP Envy Intel HD4600 GOP NO
2013 Mac Pro AMD D300 GOP NO
2008 iMac ATI HD 2600 UGA NO
2008 Mac Pro Nvidia GT710 (2GB HP and 1GB Zotak) UGA (converted from GOP) YES

Additional Information:

khronokernel commented 2 years ago

For pre-XCPM machines, we found that restoring Power Management was a possible avenue to resolving IONDRVFramebuffer erroring in Ventura. Specifically the addition of modded AppleIntelCPUPowerManagement binaries (Source: build.py):

This resolved boot support on QEMU with GT710s installed as well as with iMac8,1, however Verbose Boot is still broken outright after PCI Configuration begin.

Screen Shot 2022-10-07 at 7 49 35 PM

Additionally, the 2013 Mac Pro still fails to boot even with power management restored. No known solution available.

ofawx commented 1 year ago
Seeing identical issue on: Model GPU Is Functional
X99 Broadwell-EP (QEMU 5.1 VM) AMD RX 6600 XT NO
X99 Broadwell-EP (QEMU 6.2 VM) AMD RX 6600 XT NO

Not yet tested:

Trunkzeh commented 1 year ago

@khronokernel I have a MacPro6,1 machine with AMD D300 graphics; keen to help out where possible in order to resolve the issue. Currently running on monterey; so will prepare a ventura install on an external drive and report findings.

googlegot commented 1 year ago

I have a MacPro6,1 running Ventura with AMD D500 graphics and I am encountering random boot issues that seem to be caused by this. I have a background in driver validation and debugging boot issues. I'll start digging in here to see if I can be of assistance, but if there's anything in particular you'd like tested, please don't hesitate to ask.

bland328 commented 1 year ago

I'm also seeing this problem with:

Model GPU Output Protocol Is Functional
H87 Haswell (QEMU 7.1 VM) AMD RX 560D (2GB OEM) GOP NO

Removing -v boot arg allows macOS VM to boot, instead of hanging at or near PCI configuration begin.

Alternately, switching to vnc/virtio virtual GPU also allows macOS VM to boot.

I'm happy to test any configuration changes that might provide additional information.

ExtremeXT commented 1 year ago

I'm not 100% sure if it's related but I think it is, I saw this issue on the bugtracker and remembered that I've come across this as well on my KVM VM, it would always stall at/around [PCI Configuration Begin] with my GPU passed-through (and it got to GPU initialization in serial as well), but would boot fine with a virtual GPU (albeit only VirtIO and VNC would work, others like VGA would get stuck as well), while Monterey worked fine. I fixed this by importing a patch related to PCI Hotplugging by CaseySJ from AMD OS X: https://github.com/AMD-OSX/AMD_Vanilla/blob/master/patches.plist#L520-L548 which fixed it, and now it boots properly. My GPU is an AMD RX 6650 XT if it matters.