Contribute
Register

[SUCCESS] Gigabyte Z590 VISION D + 11700K + RX 6600 XT

Today I have tested my Config without CommanderProFix Kext and without these Port in my usb Port mapping.
But Sleep is still Not working correct- the first wake always works but if system goes again into sleep Mode the wake results in reboot.
Could you please describe all the external hardware used? I mean all the expansion PCIe cards in the system. I don't understand what is different between our systems? You have almost the same system as mine. My expansion PCIe cards are the following: LSI MegaRAID Hardware RAID controller on PCIe at 8x and one 4-Port USB 3.0 expansion card on PCIe at 1x. The RAID controller driver (kext) doesn't support sleep and that's why my system never sleeps. But when I disable this device and the kext as well system goes to sleep and wakes from sleep correct and this is done multiple times.

When your system restarts does it come with a kernel panic or a normal system restart without any sign of issues? The last thing to try is to enabe the AppleVTD.
 
Could you please describe all the external hardware used? I mean all the expansion PCIe cards in the system. I don't understand what is different between our systems? You have almost the same system as mine. My expansion PCIe cards are the following: LSI MegaRAID Hardware RAID controller on PCIe at 8x and one 4-Port USB 3.0 expansion card on PCIe at 1x. The RAID controller driver (kext) doesn't support sleep and that's why my system never sleeps. But when I disable this device and the kext as well system goes to sleep and wakes from sleep correct and this is done multiple times.

When your system restarts does it come with a kernel panic or a normal system restart without any sign of issues? The last thing to try is to enabe the AppleVTD.
Yeah that's why Im so confused tooo.

Nooo no kernel panic and no error messages are showing after reboot.


Further my hole specs:
- Gigabyte Z590 Vision D
- Intel Core i9 11900k
- 2x Corsair Vengeance RGB PRO DDR4 16GB CL16 3200MHz (connected to DDR4 A1 and B1)
- 2x Corsair Vengeance RGB PRO Light Enhancment Kit (connected to DDR4 A2 and B2)
- AMD Radeon RX 6900 XT (connected to PCIEX16 - TOP)
- Fenvi BCM94360NG (replaced original WiFi+BT card - connected to CNVI)
- Samsung 980 Pro 1TB (connected to M2A_CPU) - used for Mac OS
- Samsung 980 Pro 250GB (connected to M2M_SB) - used for Windows
- Case USB Type-C Front connector (connected to F_U320G)
- Case 2x USB Type-A Front connector (connected to F_U32)
- Case Power and Reset button (connected to F_Panel)
- Case Audio 3,5inch (connected to F_Audio)
- Corsair Commander Pro (connected to F_USB1)
Thats all components which are connected to my motherboard.

On external devices I only have the following connected:
- Original Antenne from the motherboard
- 3,5inch Audio to my soundbar
- Network cable
- 3 USB Hubs (My Monitors)
- 3 Monitors - all monitors directly connected to graphic card
- USB Logitech Reciver
- USB Logitech C920 webcam
 
Last edited:
@CrazyHeinke ,
I've currently testet my system again and I've 10 successful sleep and wakes with no issues and restarts. So the problem is not a hardware issue. I think it's a configurations issue and it's in your OC configuration. My advice to you is to try to run the system with enabled AppleVTD, just use my configuration and replace the USBMap.kext, edit the device section of OC and remove all the kexts you do not use, sync all the BIOS changes with mine.

I'm using OC 0.7.7, macOS 12.1, all the kexts are not the latest ones, there are all the previous ones. This evening I will update to the latest version of OC and will update all the kexts as well. macOS 12.2.1 is on the go too. I will repeat all the tests again I will report back. Forget to mention the BIOS version is F7. For now I will stay with this version and will no update to the latest beta. The changes are too small and bring nothing.
 
@CrazyHeinke ,
I've currently testet my system again and I've 10 successful sleep and wakes with no issues and restarts. So the problem is not a hardware issue. I think it's a configurations issue and it's in your OC configuration. My advice to you is to try to run the system with enabled AppleVTD, just use my configuration and replace the USBMap.kext, edit the device section of OC and remove all the kexts you do not use, sync all the BIOS changes with mine.

I'm using OC 0.7.7, macOS 12.1, all the kexts are not the latest ones, there are all the previous ones. This evening I will update to the latest version of OC and will update all the kexts as well. macOS 12.2.1 is on the go too. I will repeat all the tests again I will report back. Forget to mention the BIOS version is F7. For now I will stay with this version and will no update to the latest beta. The changes are too small and bring nothing.
Sooo after weekend I can give some new infos about my sleep.

I have now restored all bios settings to default and have copied your Bios settings.
Further I have downloaded your latest EFI OC_0.7.7 and have changed the following:
  • Add my PlatformInfo (MLB, Serial, UUID)
  • Change PlatformInfo SMBIOS to iMacPro1,1
  • Add my USBMap.kext (created for SMBIOS)
  • Delete the following Kext files from EFI folder and config.plist:
    • CPUFriendDataProvider-old.kext
    • RestrictEvents.kext (Because I'm using iMacPro1,1 SMBIOS)
    • SASMegaRAID.kext (Because I havent installed any RAID controller)
    • USBInjectAll.kext (Because I have my own USBPort mapping)
  • Deleted the following from Device Properties
    • LSI SAS MegaRAID 2108 [Liberator]
    • Fresco Logic FL1100 USB 3.0 Host Controller
    • Samsung 970 EVO Plus NVMe SSD Controller SM981/PM981/PM983
    • Corsair MP600 PCIe4 NVMe Controller
Now it seems to be sleep works fine. I can start sleep manually or sleep starts automatically.
The wake also works fine after several tests!

The only thing I doesn't understand is a system wake after exactly 30 minutes.
It doesn't matter if I start sleep manually or if the system start sleep automatically - After exactly 30 minutes in sleep mode the system wakes up. It doesn't matter much because its a wake not a reboot.
EDIT: I can fix this by change energy settings - disable Power Nap. If Power Nap is enable every 30 minutes Mac OS synchronize Calendar, Mail ....

Further I have some questions after comparing our config.plists:
  1. Why you have choose MacPro7,1 instead of iMacPro1,1
  2. Which advantage I have fill in the hardware in device properties section?
    If I doesn't fill in anything the hardware is also showing up (example Hackintool)
  3. I can see you have add a lot of ACPI files for example I only had added AWAC, PLUG and EX-USBX
    Maybe you can give me a recommendation which of these ACPI files I should add for my specs.
In the attachment you can find a log result for one sleep and wake process. (log show | grep -i "wake reason")
 

Attachments

  • wake_reason.txt
    6.8 KB · Views: 97
Last edited:
The only thing I doesn't understand is a system wake after exactly 30 minutes.
It doesn't matter if I start sleep manually or if the system start sleep automatically - After exactly 30 minutes in sleep mode the system wakes up. It doesn't matter much because its a wake not a reboot.

Further I have some questions after comparing our config.plists:
  1. Why you have choose MacPro7,1 instead of iMacPro1,1
  2. Which advantage I have fill in the hardware in device properties section?
    If I doesn't fill in anything the hardware is also showing up (example Hackintool)
  3. I can see you have add a lot of ACPI files for example I only had added AWAC, PLUG and EX-USBX
    Maybe you can give me a recommendation which of these ACPI files I should add for my specs.
Hi @CrazyHeinke
this instant wake could be a Mail sync task or Time Machine task or wake over ethernet (WOL). You should check what could cause this instant wake... have no idea

1. MacPro SMBIOS over the iMacPro SMBIOS - both of them are using dGPU only. It's on your decision witch one to choose. If you choose MacPro7,1 include the RestrictEvents.kext
2. This information is cosmetic only, but if you need to add a specific device property, you can do it via the device properties - for example setting the GPU name, HD audio layout etc
3. Most of them are cosmetic only, I found them in a real mac machine. All the files are mentioned at the first post with some information about every file used
 
Update (18.01.2022): Updated OC to 0.7.7 and all the kexts as well. Full EFI uploaded.

same here, updated oc to latest build as well as all kexts, no problems with update to 12.2.1

but still no sleep at my build.
 
Hi @Multisaft ,

I have done a lot of more tests because this had really triggered me :D
Now I have successfully created a own EFI configuration with sleep functionality.

You will need the following files for sleep:
  • ACPI Add section
    • SSDT-USBW.aml
      This file is needed for use USB devices after wake (mouse, keyboard...)
    • SSDT-GPRW.aml
      This file is needed for fix instant wake
  • ACPI Patch section
    • Change ADBG to XDBG
      This file is needed for fixing reboot after second wake from sleep
    • Change MC__ to MCHC
      Don't know what these patch do. My configuration works without these patch
      @tsanko.dimitrov: maybe you can explain these patch?
    • SSDT-GPRW: Rename GPRW to XPRW
      This Patch is needed for fixes instant wake (combination with SSDT-GPRW.aml)
  • Kext Add section
    • USBWakeFixup.kext
      This file is needed for use USB devices after wake (mouse, keyboard)
      (combination with SSDT-USBW.aml)
Note if you have enabled IGPU in BIOS you have to add "-wegnoigpu" BootArgs.
 
Hi @CrazyHeinke @Multisaft
  • rename MC__ to MCHC (table structure DSDT): renames the MC controller to MCHC. This is the Memory Controller. This is not strictly necessary
  • rename MC__ to MCHC (table structure SSDT): fixes the IgfxSsdt table, that causes reboot on wake
  • rename ADBG to XDBG (table structure SSDT): fixes the GSWApp table, that causes reboot on wake
 
I have found a fix for an issue discussed here and here

So the problem is compatibility issue between Z590 and Gigabyte Gaming RX580. I have encountered some strange behaviors: using 1 monitor connected the GPU clock is always at stock about 300MHz, but when using 2 or more monitors the GPU clock fluctuated between idle at 300MHz and boost clock (1340MHz). When fluctuating I'm experiencing this terrible audio crackling when listening to music (VLC, YouTube, etc.). When I put load to the GPU the crackling goes away and the GPU clock is always at boost (1340 MHz). So the question now is how to solve this? The only way I have found is to inject a custom PowerPlay table through OC so macOS can clock the GPU higher.

To inject our custom PowerPlay table we need the following:
  • GPU-Z to backup our GPU VBIOS
  • ATOMBIOSReader to find out the PowerPlay table offset and length
  • Red BIOS Editor to tune the PowerPlay table
  • HxD to extract the PowerPlay table
  • Inject the PowerPlay data into OC
1. Backup our GPU VBIOS
Boot into Windows and backup your VBIOS using the GPU-Z - there is an extract button near the BIOS version label.

2. Tune the PowerPlay table
Open the Red BIOS Editor and tune the power play data.

From
View attachment 537648

To
View attachment 537649

As you can see I have tuned the GPU clock to be the max boost clock and the voltage as well.
Save the changes and close the window.

3. Finding the PowerPlay table offset and length
Run the ATOMBIOSReader and point to the edited BIOS file from the previous step. As a result you will find a text file with all the data we need. Open the file and search for PowerPlayInfo. You will see a row with the following data:
000f: 9be0 Len 0341

So the PowerPlay table is at offset 9be0 with length 0341.

4. Extract the PowerPlay table
Open the HxD app and load the edited BIOS file from step 2. Copy all the data from offset 9be0 with length 0341 (not more not less)

5. Inject the PowerPlay data into OC
Open your OC EFI folder and inject two properties to your GPU:

name: PP_PhmSoftPowerPlayTable
type: DATA
value: the PowerPlay table from step 4

name: PP_PowerPlayEnabled
type: DATA
value: 01000000

Save your config and reboot the machine. Using this method you can even overclock or downclock you GPU and it's macOS only. Other OSes are not affected.

After injecting the new PowerPlay table the GPU clock is always at boost and thre is no more fluctuating between the idle and the boost clock and no more audio crackling. Perfect...... but, the negative thing is the higher power consumption. As for now I have no other options... the GPU prices are crazy and this is the only way to keep my GPU and save bucks. I'm start to think for selling this GPU as soon as posible and buy a 6600XT in the near future.

Hi @tsanko.dimitrov
I'm using a Sapphire Nitro 6600 XT on my build, fully recognized with hardware accel on but the fans are working only at heavy load. In macOS Monterey Its at 58-60° C when idle, while in Windows at 40-45° C...Is there any way like this guide, to define a power table for the GPU fans like it was PyVega / VGTab for the Vega 56 and 64?
Thanks in advance
 
Last edited:
@tsanko.dimitrov : Maybe you can tell me some more about the following entries in boot log? o_O
kernel: (Sandbox) System Policy: dirhelper(27) deny(1)
kernel: (Sandbox) 1 duplicate report for System Policy: dirhelper(27) deny(1)
 

Attachments

  • bootlog.txt
    243.9 KB · Views: 47
Back
Top