Jump to content

Tracing back the AMD GPU wakeup issue to its origin


Mieze
368 posts in this topic

Recommended Posts

Not working Amd 390X Asus Strix, tried al combination possible in Bios and Ati Inject Yes and No. 

 

- Connectors problem?

- If someone wants to cooperate and need a compiled Darwin or sth like that just tell me and I will add the file.

 

Did you decode your gpu bios as per VLADs guide and check if your connectors are the same as the one in the Baldi frame buffer? Or just use AtiFramebufferUtility.

 

edit:

corrected an autocorrect change

  • Like 1
Link to comment
Share on other sites

Just out of curiosity can you tell me the device ID for your GPU? Is it 67B0? right?

yup all the info was in the bios I gave you and the 290x has only one device Id

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Nice to see this issue finally being fully understood and solved! I've assumed that pre-OS initialization of the GPU was the culprit for quite a long time, but I never was able to prove/fix it (as documented in the other thread).

 

Great work Mieze!  :)

  • Like 1
Link to comment
Share on other sites

yup all the info was in the bios I gave you and the 290x has only one device Id

 

 

Sent from my iPhone using Tapatalk

When I tried to open the BIOS there was an error. So I couldn't say for sure, and I know that there's only one device ID for R9 290X but if it has a custom VBIOS or if it is a custom designed GPU things might change.

 

Anyways your problem is solved and that's what matters.

post-1011040-0-34763500-1510483118_thumb.png

Link to comment
Share on other sites

Added all the SSDTs in this thread to the repo https://ddi.hopto.org/gogs-server/henry.brock/AMD_SSDT

Thanks Pavo, it's nice to have a SSDT repo for all the AMD GPUs.

 

I created this one for @xtddd's RX 580 which he confirmed that it was working. I'll send you another one later for Sapphire Radeon HD 7790.

RX580 SSDT.zip

  • Like 2
Link to comment
Share on other sites

Thanks Pavo, it's nice to have a SSDT repo for all the AMD GPUs.

 

I created this one for @xtddd's RX 580 which he confirmed that it was working. I'll send you another one later for Sapphire Radeon HD 7790.

Uploaded, everyone is more than welcome to add to the repo themselves, just make a account

  • Like 1
Link to comment
Share on other sites

Here it's XFX Radeon RX 580 8GB on Asus Z270 Prime A board, CSM disabled and PEG0 as Primary display in BIOS.

 

I used the SSDT from Slice on post #22, but still 1thing is not working: multi-monitor... I added the property from Orinoco fb as cyberdevs' post #161 and also HDAU section for the digital audio. But both are still not working ... 

Link to comment
Share on other sites

Here it's XFX Radeon RX 580 8GB on Asus Z270 Prime A board, CSM disabled and PEG0 as Primary display in BIOS.

 

I used the SSDT from Slice on post #22, but still 1thing is not working: multi-monitor... I added the property from Orinoco fb as cyberdevs' post #161 and also HDAU section for the digital audio. But both are still not working ... 

You will need to do normal kext patching for multi monitor patching

Link to comment
Share on other sites

 

I know that 3D very well ... and I wrote there many times ... not the solution I want ... Mieze's SSDT gave us an elegant solution to solve AMD boot problems, I don't want to patch 580's kexts anymore - as we all did till 6 months ago, before whatevergreen - because those kexts won't survive any update. I'd like to change ATI connectors and/or AMD FB directly in SSDT without the need of patching kexts.

Link to comment
Share on other sites

I know that 3D very well ... and I wrote there many times ... not the solution I want ... Mieze's SSDT gave us an elegant solution to solve AMD boot problems, I don't want to patch 580's kexts anymore - as we all did till 6 months ago, before whatevergreen - because those kexts won't survive any update. I'd like to change ATI connectors and/or AMD FB directly in SSDT without the need of patching kexts.

Sorry, but this isn't possible because the framebuffer data is located inside the kext. By the way, Whatevergreen.kext also patches the framebuffer.

 

In order to be able to inject custom framebuffers via DSDT Apple would have to add this ability to the framebuffer controllers but I don't think that this will happen because they have no need for this feature.

 

Mieze

  • Like 2
Link to comment
Share on other sites

Sorry, but this isn't possible because the framebuffer data is located inside the kext. By the way, Whatevergreen.kext also patches the framebuffer.

 

In order to be able to inject custom framebuffers via DSDT Apple would have to add this ability to the framebuffer controllers but I don't think that this will happen because they have no need for this feature.

 

Mieze

hi ,great work you have done . i patched AMD9500Controller.kext to display correct amd card model but failed...now i use the parameter slice added into clover4296.

Link to comment
Share on other sites

@slice @mieze guide me...


Ive found 2 thing:

1.When ATIInject=Yes in clover i get Panic n it sys reboots
2.Every Version of OS X(or its AMD6000COntroller.kext) have diff versions/values/data of Framebuffers
 
AMD Radeon HD 7650M in not working on 10.13.1, can someone guide me !  
Link to comment
Share on other sites

@slice @mieze guide me...

Ive found 2 thing:

1.When ATIInject=Yes in clover i get Panic n it sys reboots

2.Every Version of OS X(or its AMD6000COntroller.kext) have diff versions/values/data of Framebuffers

 

AMD Radeon HD 7650M in not working on 10.13.1, can someone guide me !

 

Try clover boot manager set ATI fake ID 0x68401002.

Link to comment
Share on other sites

Sorry, but this isn't possible because the framebuffer data is located inside the kext. By the way, Whatevergreen.kext also patches the framebuffer.

 

In order to be able to inject custom framebuffers via DSDT Apple would have to add this ability to the framebuffer controllers but I don't think that this will happen because they have no need for this feature.

 

Mieze

This is not correct.

Firstly, it is possible, by updating the video bios and loading it via SSDT ATY,bin_image property, for example.

The algorithm Apple uses to generate connectors from ATOM VBIOS was properly reverse-engineered and even opensourced by me some time ago:

https://github.com/vit9696/WhateverGreen/blob/master/Manual/reference.cpp

 

Secondly, WhateverGreen does not patch any framebuffers, which is conceptually insane and may lead to other initialisation issues most of you cannot even imagine, but intercepts the autodetection algorithm and in fact only does very minor things like prioritisation or dvi lane downgrade if requested.

  • Like 3
Link to comment
Share on other sites

×
×
  • Create New...