Jump to content

Tracing back the AMD GPU wakeup issue to its origin


Mieze
368 posts in this topic

Recommended Posts

Slice sir, I've done as per ur advice, but no luck  :(

 

What I've done so far,

 

1. Change 4 kext + AMD6000.kext and DeInit=Yes

2. Applied diff SMBIOS 

3. Patch DSDT to Inject AMD (InjectATI=No is in clover)

4. Applied many FB patches

5. Sir I've tried ur SSDT-AML, n i see some thing diff(white background instead of black) , but it didn't made AMD work  :(

 

Sir Does MCFG.aml has any role to play coz i have to drop it! to get my radeon working.

 

sir can u plz share this 4 kext plz  :), one last try before "I QUIT"  :(

Link to comment
Share on other sites

Hi, can you please look at my attached ioreg screenshots and tell me if I set my radeon r9 290x GPU PM correctly. AGPM shows under ATY,AMD,RadeonFramebuffer@0 but my display is registered under ATY,AMD,RadeonFramebuffer@3. I have disabled IGPU in BIOS, set ASPM for PEG only and didn't use framebuffer injection or patching since i'm using only one LCD. Sorry if this is too much OT and thanks to all the developers for their priceless work

 

I use iMac13,2 as SMBIOS. In AGPM of  that there are only Nvidia type gpus (GFX0 ...).

If i look on AGPM part of iMac18,x there are AMD Gpus which have other keys in GFX0...

 

I use RX 460 with sucess in Sierra - works- only use whatevergreen, nothing more :).

But i am sure AGPM with unmodded iMac13,2 will make nothing for AMD because keys +IDs there  in GFX0 are for Nvidia gpu.

 

Below yo see my the .plist of AppleAGPM in which a marked my used iMac13,2 blue (second, lower ) and some iMac18 (has AMD) (first, upper)

Would it make sense to use the GFX0 from iMac18 in the iMac13,2 ? ( I have IVY CPU, so for CPU want stay this Modell)

 

post-110586-0-39529100-1511623722_thumb.jpg

Link to comment
Share on other sites

can i have this kext from 10.12.5 or 10.12.6 or both

AMDRadeonX3000.kext
AMDRadeonX3000GLDriver.bundle
IOAccelerator2D.plugin
IOAcceleratorFamily2.kext

does 10.12.6 n 10.13.1 kext behave same, coz i want it for AMD Radeon HD 7650M GPU

Link to comment
Share on other sites

SiddRamesh,

Cancel the spam!


I think I injected as Device Properties, take a look.

Hey Pavo!

SSDT is not a DeviceProperties protocol.

I asked one or another and you answered that you are using ACPI method not DeviceProperties method.

Link to comment
Share on other sites

In High Sierra's AMD kexts, I'm curious about what differences there are between ATIFramebuffer and IOFreambuffer. I think there is no ATIFramebuffer in Sierra's AMD kexts. Is it the reason there are cards that works on Sierra but don't work on High Sierra??

I made a topic http://www.insanelymac.com/forum/topic/329602-no-acceleration-for-radeon-rx460/.

Link to comment
Share on other sites

Have you tried to remove all the ATI injections and let the macOS default framebuffer to be loaded? What happens if you remove the KextToPatches as well?

 

Just keep the RadeonDeInit and remove the rest. and let me know

Link to comment
Share on other sites

Have you tried to remove all the ATI injections and let the macOS default framebuffer to be loaded? What happens if you remove the KextToPatches as well?

 

Just keep the RadeonDeInit and remove the rest. and let me know

AMD 6000 n X3000 Controller Loads but on 4mb VRam no QE/CI

Link to comment
Share on other sites

I found an interesting find.

I’m on ryzen 10.13.2 beta 5 and what happened is I always updated my clover and even my fakesmc.kext

I used the latest lilu and whatevergreen. When I wanted to put the computer to sleep it would turn off the monitor and reboot.

 

So I went my old hard drive (10.13.1) using this efi and was getting the same results. Reboot on sleep. Which was very odd for me because steep worked at great when I was in 10.13.1

 

I played around with a lot of files and ended up using my old efi which contained and older version of clover and fakesmc.kext.

Using this old efi and the latest lilu and whatevergreen sleep worked again!!!

 

I’m still playing around with the files I will try on 10.13.2 beta which gave me reboot when I put it to sleep.

 

I’ll report back

Link to comment
Share on other sites

External (_SB_.PCI0.GFX0.PEGP, DeviceObj)

Should be 

External (_SB_.PCI0.PEG0.PEGP, DeviceObj)

or 

 External (_SB_.PCI0.PEG0.GFX0, DeviceObj)

You either use PEGP or GFX0 not both, if you are replacing PEGP with GFX0 in ACPI patching you don't want _SB_.PCI0.PEG0.GFX0 also in SSDT

 

 

@pavo, can you please explain what you mean by "you don't want _SB_.PCI0.PEG0.GFX0 also in SSDT" ?

I patch ACPI PEGP -> GFX0 in Clover and having the same issue.

 

I cannot get a clean boot via my SSDT-AMD.aml for RX580 8GB

I see the Apple logo and the loading bar. Then the halfway through, the screen flashes partially white and back to half loading bar and the screen freezes. Non of the ports on the GPU work but macOS is up as I can shell via SSH into it remotely.

 

If I use use RadeonDeInit=true and no SSDT, then all is fine.

But I like to find out why my SSDT is not working.

 

Attached my config.plist & SSDT files.

 

I'm using Clover r4318

MacNB-config.plist.zip

SSDT-AMD.aml.zip

Link to comment
Share on other sites

@pavo, can you please explain what you mean by "you don't want _SB_.PCI0.PEG0.GFX0 also in SSDT" ?

I patch ACPI PEGP -> GFX0 in Clover and having the same issue.

 

I cannot get a clean boot via my SSDT-AMD.aml for RX580 8GB

I see the Apple logo and the loading bar. Then the halfway through, the screen flashes partially white and back to half loading bar and the screen freezes. Non of the ports on the GPU work but macOS is up as I can shell via SSH into it remotely.

 

If I use use RadeonDeInit=true and no SSDT, then all is fine.

But I like to find out why my SSDT is not working.

 

Attached my config.plist & SSDT files.

 

I'm using Clover r4318

In order for SSDT injection method to work you also must use InjectATI=True in config, using RadeonDeInit will not allow SSDT injection method to work. What I meant by "you don't want _SB_.PCI0.PEG0.GFX0 also in SSDT" is if in your clover config you have ACPI PEGP -> GFX0 in ACPI patching, then you only want _SB_.PCI0.PEG0 in your SSDT, because the ACPI patch is looking in your injected SSDT during patching process for PEGP to patch to GFX0, if you have _SB_.PCI0.PEG0.GFX0 then the ACPI patch will make it result in _SB_.PCI0.GFX0.GFX0 because you have it renaming PEGP to GFX0.

 

Wow you have a TON of fixes that you probably don't need, what is this system specs? You SSDT you attached is not complete at all, nothing is being injected. Try these.

MacNB-config.plist.zip

SSDT-RX-580.zip

  • Like 1
Link to comment
Share on other sites

:poster_oops:

In order for SSDT injection method to work you also must use InjectATI=True in config, using RadeonDeInit will not allow SSDT injection method to work. What I meant by "you don't want _SB_.PCI0.PEG0.GFX0 also in SSDT" is if in your clover config you have ACPI PEGP -> GFX0 in ACPI patching, then you only want _SB_.PCI0.PEG0 in your SSDT, because the ACPI patch is looking in your injected SSDT during patching process for PEGP to patch to GFX0, if you have _SB_.PCI0.PEG0.GFX0 then the ACPI patch will make it result in _SB_.PCI0.GFX0.GFX0 because you have it renaming PEGP to GFX0.

 

Wow you have a TON of fixes that you probably don't need, what is this system specs? You SSDT you attached is not complete at all, nothing is being injected. Try these.

 

Thanks for your help. 

Does not quite make sense. My ACPI patch was PEGP to GFX0 and not PEG0 to GFX0. So if I have _SB.PCI0.PEG0.GFX0, then the ACPI patch process should NOT patch that to _SB.PCI0.GFX0.GFX0 because I did NOT ask it to patch PEG0 to GFX0.

 

My system spec is Z77X-UP5-TH with i7-3770K with RX580.

 

Any way, I solved my problem. Feel like an idiot   :poster_oops:  :blush:

I placed my file : EFI/Clover/ACPI/Patched/SSDT-RX580.aml and assumed Clover will automatically inject it.
It wasn't for some reason. The only reason I can think of was that in config.plist ACPI->SortedOrder, the file was called SSDT-AMD.aml which Clover could not find but it ignored the SSDT-RX580.aml that was there.
Interestingly, Clover will load DSDT.aml even if you explicitly name BLAH-BLAH.aml in config.plist ACPI->DSDT->Name->BLAH-BLAH.aml. That is, it will not find BLAH-BLAH.aml but will find DSDT.aml and load it.

​As soon as I corrected the SortedOrder filename, my SSDT is loaded and I have the correct GPU board name, Framebuffers and HDMI audio without using RadeonDeInit.

 

Also, with the SSDT method, the System Profiler states " Metal: Supported, feature set macOS GPUFamily1 v3" but with RadeonDeInit method, it says " Metal: Supported"

  • Like 1
Link to comment
Share on other sites

:poster_oops:

 

 

Thanks for your help. 

Does not quite make sense. My ACPI patch was PEGP to GFX0 and not PEG0 to GFX0. So if I have _SB.PCI0.PEG0.GFX0, then the ACPI patch process should NOT patch that to _SB.PCI0.GFX0.GFX0 because I did NOT ask it to patch PEG0 to GFX0.

 

My system spec is Z77X-UP5-TH with i7-3770K with RX580.

 

Any way, I solved my problem. Feel like an idiot   :poster_oops:  :blush:

I placed my file : EFI/Clover/ACPI/Patched/SSDT-RX580.aml and assumed Clover will automatically inject it.It wasn't for some reason. The only reason I can think of was that in config.plist ACPI->SortedOrder, the file was called SSDT-AMD.aml which Clover could not find but it ignored the SSDT-RX580.aml that was there.Interestingly, Clover will load DSDT.aml even if you explicitly name BLAH-BLAH.aml in config.plist ACPI->DSDT->Name->BLAH-BLAH.aml. That is, it will not find BLAH-BLAH.aml but will find DSDT.aml and load it.

​As soon as I corrected the SortedOrder filename, my SSDT is loaded and I have the correct GPU board name, Framebuffers and HDMI audio without using RadeonDeInit.

 

Also, with the SSDT method, the System Profiler states " Metal:[/size] [/size]Supported, feature set macOS GPUFamily1 v3[/size]" but with RadeonDeInit method, it says " Metal:[/size] [/size]Supported[/size]"

Do you have IGPU partially enabled? The macOS GPUFamily1 status is a rare achievement unless using Intel igpu in some way.

Link to comment
Share on other sites

×
×
  • Create New...