AMD-OSX / bugtracker

AMD OS X Bugtracker
13 stars 2 forks source link

Ventura Broke Dual Monitor Support #115

Open Cryptiiiic opened 1 year ago

Cryptiiiic commented 1 year ago

Describe the bug Ventura Broke Dual Monitor Support. Happens on AMD OS X and real macs.

To Reproduce Steps to reproduce the behavior:

  1. Install macOS Ventura
  2. Plug in two monitors
  3. Use macOS normally
  4. Wait for WindowServer to freeze or drop mad fps

Expected behavior There should be no window server freezing especially since there was no such issue like this on Monterey.

Screenshots image

image

Logs

                                                        38   node::AsyncResource::get_async_id() const + 32892373 (Electron Framework + 82038725) [0x11e386fc5]
                                                          38   node::AsyncResource::get_async_id() const + 32885191 (Electron Framework + 82031543) [0x11e3853b7]
                                                            35   node::AsyncResource::get_async_id() const + 33055119 (Electron Framework + 82201471) [0x11e3aeb7f]
                                                              35   node::AsyncResource::get_async_id() const + 33076106 (Electron Framework + 82222458) [0x11e3b3d7a]
                                                                35   ANGLEResetDisplayPlatform + 2720802 (libGLESv2.dylib + 3331714) [0x10dc83682]
                                                                  35   glrATI_Hwl_SubmitPacketsWithToken + 112 (AMDRadeonX4000GLDriver + 55296) [0x10c549800]
                                                                    35   ??? (libGPUSupportMercury.dylib + 10621) [0x7ff91fe0a97d]
                                                                      35   IOAccelContextSubmitDataBuffersExt2 + 249 (IOAccelerator + 7057) [0x7ff8193afb91]
                                                                        35   IOConnectCallStructMethod + 46 (IOKit + 14853) [0x7ff812d2ba05]
                                                                          35   IOConnectCallMethod + 244 (IOKit + 10683) [0x7ff812d2a9bb]
                                                                            35   io_connect_method + 405 (IOKit + 11130) [0x7ff812d2ab7a]
                                                                              35   mach_msg2_trap + 10 (libsystem_kernel.dylib + 5554) [0x7ff80fcd85b2]
                                                                               *35   hndl_mach_scall64 + 22 (kernel + 1256886) [0xffffff800040edb6]
                                                                                 *35   mach_call_munger64 + 499 (kernel + 2868131) [0xffffff80005983a3]
                                                                                   *35   mach_msg2_trap + 967 (kernel + 1588007) [0xffffff800045fb27]
                                                                                     *35   ??? (kernel + 1586338) [0xffffff800045f4a2]
                                                                                       *35   ipc_kmsg_send + 1050 (kernel + 1492826) [0xffffff800044875a]
                                                                                         *35   ??? (kernel + 2700857) [0xffffff800056f639]
                                                                                           *35   is_io_connect_method + 894 (kernel + 8880526) [0xffffff8000b5418e]
                                                                                             *35   IOUserClient::externalMethod(unsigned int, IOExternalMethodArguments*, IOExternalMethodDispatch*, OSObject*, void*) + 867 (kernel + 8837907) [0xffffff8000b49b13]
                                                                                               *35   shim_io_connect_method_structureI_structureO + 364 (kernel + 8844956) [0xffffff8000b4b69c]
                                                                                                 *35   IOAccelContext2::submit_data_buffers(IOAccelContextSubmitDataBuffersIn*, IOAccelContextSubmitDataBuffersOut*, unsigned long long, unsigned long long*) + 1319 (com.apple.iokit.IOAcceleratorFamily2 + 30749) [0xffffff7f95ad781d]
                                                                                                   *35   IOAccelGLContext2::processDataBuffers(unsigned int) + 662 (com.apple.iokit.IOAcceleratorFamily2 + 105670) [0xffffff7f95ae9cc6]
                                                                                                     *35   IOAccelContext2::processDataBuffers(unsigned int) + 93 (com.apple.iokit.IOAcceleratorFamily2 + 43629) [0xffffff7f95adaa6d]
                                                                                                       *35   AMDRadeonX4000_AMDSIGLContext::processSidebandBuffer(IOAccelCommandDescriptor*, bool) + 351 (com.apple.kext.AMDRadeonX4000 + 285323) [0xffffff7f81003a8b]
                                                                                                         *35   IOAccelContext2::processSidebandBuffer(IOAccelCommandDescriptor*, bool) + 272 (com.apple.iokit.IOAcceleratorFamily2 + 42308) [0xffffff7f95ada544]
                                                                                                           *34   AMDRadeonX4000_AMDSIGLContext::process_ResourceList(IOAccelCommandStreamInfo&) + 606 (com.apple.kext.AMDRadeonX4000 + 250936) [0xffffff7f80ffb438]
                                                                                                             *31   AMDRadeonX4000_AMDAccelResource::BatchPrepare(AMDRadeonX4000_AMDGraphicsAccelerator*, AMDRadeonX4000_AMDAccelResource* const*, unsigned int) + 239 (com.apple.kext.AMDRadeonX4000 + 97313) [0xffffff7f80fd5c21]
                                                                                                               *31   AMDRadeonX4000_AMDAccelResource::BatchPrepareMappings(AMDRadeonX4000_AMDGraphicsAccelerator*, AMDRadeonX4000_AMDAccelResource* const*, unsigned int) + 116 (com.apple.kext.AMDRadeonX4000 + 96488) [0xffffff7f80fd58e8]
                                                                                                                 *30   AMDRadeonX4000_AMDGraphicsAccelerator::batchMemoryMapPrepare(IOAccelMemoryMap*) + 169 (com.apple.kext.AMDRadeonX4000 + 24699) [0xffffff7f80fc407b]
                                                                                                                   *29   IOGraphicsAccelerator2::freeWaitToPrepareVidMap(IOAccelMemoryMap*, bool, bool) + 230 (com.apple.iokit.IOAcceleratorFamily2 + 265078) [0xffffff7f95b10b76]
                                                                                                                     *29   AMDRadeonX4000_AMDAccelMemoryMap::prepare() + 89 (com.apple.kext.AMDRadeonX4000 + 241365) [0xffffff7f80ff8ed5]
                                                                                                                       *29   IOAccelMemoryMap::prepare() + 120 (com.apple.iokit.IOAcceleratorFamily2 + 343598) [0xffffff7f95b23e2e]
                                                                                                                         *29   IOAccelMemory::prepare() + 27 (com.apple.iokit.IOAcceleratorFamily2 + 12445) [0xffffff7f95ad309d]
                                                                                                                           *29   IOAccelVidMemory::wire() + 96 (com.apple.iokit.IOAcceleratorFamily2 + 357638) [0xffffff7f95b27506]
                                                                                                                             *29   AMDRadeonX4000_AMDAccelVidMemory::allocPhysical() + 676 (com.apple.kext.AMDRadeonX4000 + 239340) [0xffffff7f80ff86ec]
                                                                                                                               *20   AMDRadeonX4000_AMDHWMemory::allocateLargeBlocks(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE, bool) + 460 (com.apple.kext.AMDRadeonX4000 + 371834) [0xffffff7f81018c7a]
                                                                                                                                 *20   kprintf + 733 (kernel + 9237741) [0xffffff8000bab4ed] (running)
                                                                                                                               *4    AMDRadeonX4000_AMDHWMemory::allocateLargeBlocks(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE, bool) + 547 (com.apple.kext.AMDRadeonX4000 + 371921) [0xffffff7f81018cd1]
                                                                                                                                 *4    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, _eAMD_MEMORY_ALLOCATION_TYPE, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 168 (com.apple.kext.AMDRadeonX4000 + 371172) [0xffffff7f810189e4]
                                                                                                                                   *4    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 206 (com.apple.kext.AMDRadeonX4000 + 370710) [0xffffff7f81018816]
                                                                                                                                     *3    IOAccelMemoryAllocator2::allocPages(GLKMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, unsigned int) + 148 (com.apple.iokit.IOAcceleratorFamily2 + 133524) [0xffffff7f95af0994] (running)
                                                                                                                                     *1    IOAccelMemoryAllocator2::allocPages(GLKMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, unsigned int) + 214 (com.apple.iokit.IOAcceleratorFamily2 + 133590) [0xffffff7f95af09d6] (running)
                                                                                                                               *2    AMDRadeonX4000_AMDHWMemory::allocateLargeBlocks(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE, bool) + 186 (com.apple.kext.AMDRadeonX4000 + 371560) [0xffffff7f81018b68]
                                                                                                                                 *2    AMDRadeonX4000_AMDHWMemory::allocate(AMDMemoryElement*, unsigned long long, unsigned long long, _eAMD_MEMORY_ALLOCATION_TYPE, bool, _eOP_ORIGINATOR, _eOP_TYPE) + 17 (com.apple.kext.AMDRadeonX4000 + 370997) [0xffffff7f81018935]
                                                                                                                                   *2    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, _eAMD_MEMORY_ALLOCATION_TYPE, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 168 (com.apple.kext.AMDRadeonX4000 + 371172) [0xffffff7f810189e4]
                                                                                                                                     *2    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 206 (com.apple.kext.AMDRadeonX4000 + 370710) [0xffffff7f81018816]
                                                                                                                                       *2    IOAccelMemoryAllocator2::allocPages(GLKMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, unsigned int) + 148 (com.apple.iokit.IOAcceleratorFamily2 + 133524) [0xffffff7f95af0994] (running)
                                                                                                                               *1    AMDRadeonX4000_AMDHWMemory::allocateLargeBlocks(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE, bool) + 620 (com.apple.kext.AMDRadeonX4000 + 371994) [0xffffff7f81018d1a]
                                                                                                                                 *1    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, _eAMD_MEMORY_ALLOCATION_TYPE, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 168 (com.apple.kext.AMDRadeonX4000 + 371172) [0xffffff7f810189e4]
                                                                                                                                   *1    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 206 (com.apple.kext.AMDRadeonX4000 + 370710) [0xffffff7f81018816]
                                                                                                                                     *1    IOAccelMemoryAllocator2::allocPages(GLKMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, unsigned int) + 148 (com.apple.iokit.IOAcceleratorFamily2 + 133524) [0xffffff7f95af0994] (running)
                                                                                                                               *1    AMDRadeonX4000_AMDHWMemory::allocateLargeBlocks(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE, bool) + 357 (com.apple.kext.AMDRadeonX4000 + 371731) [0xffffff7f81018c13]
                                                                                                                                 *1    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, _eAMD_MEMORY_ALLOCATION_TYPE, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 168 (com.apple.kext.AMDRadeonX4000 + 371172) [0xffffff7f810189e4]
                                                                                                                                   *1    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 206 (com.apple.kext.AMDRadeonX4000 + 370710) [0xffffff7f81018816]
                                                                                                                                     *1    IOAccelMemoryAllocator2::allocPages(GLKMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, unsigned int) + 148 (com.apple.iokit.IOAcceleratorFamily2 + 133524) [0xffffff7f95af0994] (running)
                                                                                                                               *1    AMDRadeonX4000_AMDHWMemory::allocateLargeBlocks(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE, bool) + 122 (com.apple.kext.AMDRadeonX4000 + 371496) [0xffffff7f81018b28]
                                                                                                                                 *1    AMDRadeonX4000_AMDHWMemory::allocate(AMDMemoryElement*, unsigned long long, unsigned long long, _eAMD_MEMORY_ALLOCATION_TYPE, bool, _eOP_ORIGINATOR, _eOP_TYPE) + 17 (com.apple.kext.AMDRadeonX4000 + 370997) [0xffffff7f81018935]
                                                                                                                                   *1    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, _eAMD_MEMORY_ALLOCATION_TYPE, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 168 (com.apple.kext.AMDRadeonX4000 + 371172) [0xffffff7f810189e4]
                                                                                                                                     *1    AMDRadeonX4000_AMDHWMemory::allocateNonContiguous(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, bool, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE) + 206 (com.apple.kext.AMDRadeonX4000 + 370710) [0xffffff7f81018816]
                                                                                                                                       *1    IOAccelMemoryAllocator2::allocPages(GLKMemoryElement*, unsigned long long, unsigned long long, unsigned long long, unsigned long long, bool, unsigned int) + 140 (com.apple.iokit.IOAcceleratorFamily2 + 133516) [0xffffff7f95af098c] (running)
                                                                                                                   *1    IOGraphicsAccelerator2::freeWaitToPrepareVidMap(IOAccelMemoryMap*, bool, bool) + 93 (com.apple.iokit.IOAcceleratorFamily2 + 264941) [0xffffff7f95b10aed]
                                                                                                                     *1    IOAccelMemory::getPrepareCount() const + 39 (com.apple.iokit.IOAcceleratorFamily2 + 12527) [0xffffff7f95ad30ef]
                                                                                                                       *1    IOAccelMemoryMap::getPrepareCount() const + 36 (com.apple.iokit.IOAcceleratorFamily2 + 344270) [0xffffff7f95b240ce] (running)
                                                                                                                 *1    AMDRadeonX4000_AMDGraphicsAccelerator::batchMemoryMapPrepare(IOAccelMemoryMap*) + 63 (com.apple.kext.AMDRadeonX4000 + 24593) [0xffffff7f80fc4011]
                                                                                                                   *1    AMDRadeonX4000_AMDAccelMemoryMap::prepare() + 89 (com.apple.kext.AMDRadeonX4000 + 241365) [0xffffff7f80ff8ed5]
                                                                                                                     *1    IOAccelMemoryMap::prepare() + 120 (com.apple.iokit.IOAcceleratorFamily2 + 343598) [0xffffff7f95b23e2e]
                                                                                                                       *1    IOAccelMemory::prepare() + 27 (com.apple.iokit.IOAcceleratorFamily2 + 12445) [0xffffff7f95ad309d]
                                                                                                                         *1    IOAccelVidMemory::wire() + 96 (com.apple.iokit.IOAcceleratorFamily2 + 357638) [0xffffff7f95b27506]
                                                                                                                           *1    AMDRadeonX4000_AMDAccelVidMemory::allocPhysical() + 676 (com.apple.kext.AMDRadeonX4000 + 239340) [0xffffff7f80ff86ec]
                                                                                                                             *1    AMDRadeonX4000_AMDHWMemory::allocateLargeBlocks(AMDMemoryElement*, unsigned long long, unsigned long long, unsigned long long, _eOP_ORIGINATOR, _eOP_TYPE, bool) + 460 (com.apple.kext.AMDRadeonX4000 + 371834) [0xffffff7f81018c7a]
                                                                                                                               *1    kprintf + 733 (kernel + 9237741) [0xffffff8000bab4ed] (running)

// The kprintf means allocation failed as seen in the console app screenshot

System Version (please complete the following information):

System Information (please complete the following information):

Additional context GPU Drivers seem to fail allocations for some unknown reason resulting in very long surface operations. It should not take a full second to read a surface. A real mac will use 300% with 2 monitors and sometimes have WindowServer hang forever leading to a watchdogd checkin kernel panic.

What I'm mainly asking is should I do nothing and wait for apple to fix this if at all, or is there something that can be done about it via Kexts or OpenCore?