Jump to content
Mieze

Tracing back the AMD GPU wakeup issue to its origin

365 posts in this topic

Recommended Posts

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

@Gigamaxx, this is completely wrong, GPUFamily1 is a feature set for Metal, has nothing to do with iGPU. https://developer.apple.com/documentation/metal/mtlfeatureset It probably because of the FB he is using or SMBIOS he is using.

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

Because when using RadeonDeInit method doesn't inject a framebuffer, which means it will use the default RadeonFramebuffer which doesn't have any feature sets allocated to it. when using injected framebuffer ie... InjectATI=True or SSDT method the framebuffer has a certain feature set allocated for it.

Share this post


Link to post
Share on other sites
Advertisement

@Gigamaxx, this is completely wrong, GPUFamily1 is a feature set for Metal, has nothing to do with iGPU. https://developer.apple.com/documentation/metal/mtlfeaturesetIt probably because of the FB he is using or SMBIOS he is using.

I have noticed with my pentium and Ryzen systems I always get the metal supported, but with my i5 6500 (metal supported igpu) I get the macOSGPUFamily1 status. I’ve never seen this status without IGPU metal active.

Share this post


Link to post
Share on other sites

I have noticed with my pentium and Ryzen systems I always get the metal supported, but with my i5 6500 (metal supported igpu) I get the macOSGPUFamily1 status. I’ve never seen this status without IGPU metal active.

Because there is a feature set that is allocated for the ig-platform-id you are using for your i5 6500 iGPU

Share this post


Link to post
Share on other sites

Because there is a feature set that is allocated for the ig-platform-id you are using for your i5 6500 iGPU

Exactly, it seems to assign the Radeon Framebuffer automatically to the family status. I’m not trying to be skeptical just curious I would like to be able to get this level on my non supported CPUs. I’ve also noticed using the deinitiate or whatevergreen it never gets family1.

Share this post


Link to post
Share on other sites

Exactly, it seems to assign the Radeon Framebuffer automatically to the family status. I’m not trying to be skeptical just curious I would like to be able to get this level on my non supported CPUs. I’ve also noticed using the deinitiate or whatevergreen it never gets family1.

Again because RadeonDeInit and Whatevergreen do not inject a framebuffer

Share this post


Link to post
Share on other sites

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

 

Nope IGPU is completely disabled. "Metal: Supported, feature set macOS GPUFamily1 v3" has nothing to do with IGPU.

See this tech doc from Apple. 

Share this post


Link to post
Share on other sites

Is there anyone with an rx560 that is having no issues? No crashes / artifacts, dual screen working.

 

I have a RX560 and the only issue I have is no sleep but that could also be macos 10.13.2 beta. I once had a working sleep but no more.

The issue is display goes into standby but fans keep working, the system is unreachable and can only be revived by restart. This is with latest Clover and RadeonDeInit = true. It uses the default Radeonframebuffer.

 

If I use Acre framebuffer I boot into black display and can login remote, IORegistryExplorer shows Acre framebuffer being used but no display connected to any of the three connectors, patched or not.

 

I can live with it not having sleep, because from system off to Desktop takes some 10 seconds and I use less energy if shutdown  :) = less warming the earth, so I do everyone a favor.

 

But it keeps nagging for a solution if I am being honest  :D

Share this post


Link to post
Share on other sites

Can someone explain to me why when I use GFX0 instead of PEGP the SSDT doesn't work but only works when using PEGP.

I only learned that recently as well, in my case I would have to first apply the renaming patch from PEGP -> GFX0, and then utilize the patch with GFX0 naming.

Share this post


Link to post
Share on other sites

I only learned that recently as well, in my case I would have to first apply the renaming patch from PEGP -> GFX0, and then utilize the patch with GFX0 naming.

hi,,i now only use redonindet=true in config.plist

Share this post


Link to post
Share on other sites

hi,,i now only use redonindet=true in config.plist

OK noted, thanks. But my response was for a specific question asked.

Share this post


Link to post
Share on other sites

Can someone explain to me why when I use GFX0 instead of PEGP the SSDT doesn't work but only works when using PEGP.

Check your Clover patches. There is probably one among them which renames GFX0 to IGPU and it gets applied to your SSDT too.

 

Mieze

Share this post


Link to post
Share on other sites

Check your Clover patches. There is probably one among them which renames GFX0 to IGPU and it gets applied to your SSDT too.

 

Mieze

 

 

I have a single goal right now.... to not use Clover DeInit and do it with a SSDT so that after that works I can inject FrameBuffer and specifics of my RX560. (iMac18,3 with i7-7700K). So... In my config.plist I have:

	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<true/>
			<key>Intel</key>
			<true/>
		</dict>
		<key>ig-platform-id</key>
		<string>0x59120003</string>
	</dict>

And in Patches:

				<dict>
					<key>Comment</key>
					<string>Intel GPU PM. Rename GFX0 to IGPU</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>R0ZYMA==</data>
					<key>Replace</key>
					<data>SUdQVQ==</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>Rename PEGP to GFX0</string>
					<key>Find</key>
					<data>
					UEVHUA==
					</data>
					<key>Replace</key>
					<data>
					R0ZYMA==
					</data>
				</dict>

I have this SSDT to do the DeInit:

DefinitionBlock ("", "SSDT", 2, "Apple", "Radeon", 0x00001000)
{
    External (_SB_.PCI0.PEG0.PEGP, DeviceObj)    // (from opcode)

    Scope (\_SB.PCI0.PEG0.PEGP)
    {
        OperationRegion (PCIB, PCI_Config, Zero, 0x0100)
        Field (PCIB, AnyAcc, NoLock, Preserve)
        {
            Offset (0x10), 
            BAR0,   32, 
            BAR1,   32, 
            BAR2,   64, 
            BAR4,   32, 
            BAR5,   32
        }

        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            If (LEqual (BAR5, Zero))
            {
                Store (BAR2, Local0)
            }
            Else
            {
                Store (BAR5, Local0)
            }

            OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFFFFFFFFFF0), 0x8000)
            Field (GREG, AnyAcc, NoLock, Preserve)
            {
                Offset (0x6800), 
                GENA,   32, 
                GCTL,   32, 
                LTBC,   32, 
                Offset (0x6810), 
                PSBL,   32, 
                SSBL,   32, 
                PTCH,   32, 
                PSBH,   32, 
                SSBH,   32, 
                Offset (0x6848), 
                FCTL,   32, 
                Offset (0x6EF8), 
                MUMD,   32
            }

            Store (Zero, FCTL)
            Store (Zero, PSBH)
            Store (Zero, SSBH)
            Store (Zero, LTBC)
            Store (One, GENA)
            Store (Zero, MUMD)
        }
    }
}

When I use all this I get gIOScreenLockState 3.

 

If I keep everything as above but enable DeInit in Clover, it boots fine.

 

Any assistance would be appreciated!

Share this post


Link to post
Share on other sites

Don't use this patch: "Rename PEGP to GFX0" and it should work.

If you rename PEGP to GFX0, your SSDT could not work, because it doesn't find any PEGP.

 

 

This worked!!! Thank you.

 

Better to rename PEGP in ssdt to GFX0

 

Sent from my ONEPLUS A5000 using Tapatalk

 

How do I do this? Can I do it in this same SSDT? Currently I'm not patching and SSDT other than with hotpaching in clover.

Actually, I changed the SSDT to be:


   External (_SB_.PCI0.PEG0.GFX0, DeviceObj)    // (from opcode)

    Scope (\_SB.PCI0.PEG0.GFX0)

Kept my renaming in config and it worked as well... now to attempt to use the Acre frame buffer!

Share this post


Link to post
Share on other sites

If you really have RX580, than ACRE is the wrong Framebuffer, cause it is using only 3 connectors: DP, HDMI and DVI.

Correct Framebuffer should be ORINOCO with five connectors: DP,DP, HDMI, HDMI and DVI

Share this post


Link to post
Share on other sites

If you really have RX580, than ACRE is the wrong Framebuffer, cause it is using only 3 connectors: DP, HDMI and DVI.

Correct Framebuffer should be ORINOCO with five connectors: DP,DP, HDMI, HDMI and DVI

 

I have a RX560 with 3 connectors, DP, HDMI and DVI. I looked at a bunch of different SSDTs and I'm trying to configure it based on my card. This is what I have so far... how can double check all of these or add others that might be needed? I know the DeviceID is correct for me 0x67FF.

        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }
                Return (Package (0x18)
                {
                    "AAPL,slot-name", 
                    Buffer (0x07)
                    {
                        "Slot-1"
                    }, 
                    "@0,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@0,AAPL,boot-display", 
                    Buffer (One)
                    {
                         0x00                                           
                    }, 
                    "@1,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@2,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@3,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@4,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    },
                    "@5,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    },           
                    "ATY,VendorID", 
                    Buffer (0x02)
                    {
                         0x02, 0x10                                     
                    }, 
                    "ATY,DeviceID", 
                    Buffer (0x02)
                    {
                         0xFF, 0x67                                     
                    }, 
                    "model", 
                    Buffer (0x12)
                    {
                        "AMD Radeon RX 560"
                    }, 
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
               })
            }
        }
        Device (HDAU)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }
                Return (Package (0x04)
                {
                    "layout-id", 
                    Buffer (0x04)
                    {
                         0x01, 0x00, 0x00, 0x00                         
                    }, 
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }

Share this post


Link to post
Share on other sites

 

I have a RX560 with 3 connectors, DP, HDMI and DVI. I looked at a bunch of different SSDTs and I'm trying to configure it based on my card. This is what I have so far... how can double check all of these or add others that might be needed? I know the DeviceID is correct for me 0x67FF.

        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }
                Return (Package (0x18)
                {
                    "AAPL,slot-name", 
                    Buffer (0x07)
                    {
                        "Slot-1"
                    }, 
                    "@0,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@0,AAPL,boot-display", 
                    Buffer (One)
                    {
                         0x00                                           
                    }, 
                    "@1,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@2,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@3,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    }, 
                    "@4,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    },
                    "@5,name", 
                    Buffer (0x0C)
                    {
                        "ATY,Acre"
                    },           
                    "ATY,VendorID", 
                    Buffer (0x02)
                    {
                         0x02, 0x10                                     
                    }, 
                    "ATY,DeviceID", 
                    Buffer (0x02)
                    {
                         0xFF, 0x67                                     
                    }, 
                    "model", 
                    Buffer (0x12)
                    {
                        "AMD Radeon RX 560"
                    }, 
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
               })
            }
        }
        Device (HDAU)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }
                Return (Package (0x04)
                {
                    "layout-id", 
                    Buffer (0x04)
                    {
                         0x01, 0x00, 0x00, 0x00                         
                    }, 
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }

2 things:

 

1. You have 5 connectors in your SSDT, you only have 3 then you only need 0-2

2. If you use AppleALC with lilu+applealc and patch your DSDT with HDAS then you need to change your HDMI audio to be onboard-2

 

But I asm using a RX 580 and only use Lilu+Whatevergreen with 2x monitors D-DVI and DP with no problems with using RadeonFramebuffer

Share this post


Link to post
Share on other sites

display is not getting detected properly n also m getting artefacts  !

 

how can i unlock 30bit colors

 

It looks like you have no accelerator kext loaded. Have you tried to add your 0x????1002 Device ID to one of the AMD?000kexts info.plist?

Share this post


Link to post
Share on other sites

I thing I got QE/CI! 

 

But now my only concern is 30-bit colors(its present in 10.11.6), how can I achieve it !


Sir I got QE/CI with screen  :)

 

Now my only concern is, how can I unlock 30-bit color (I got it in 10.11.6) !

 

AMD6000Controller/LVDS  -Pondweed 

 

​Sir its strange I've injected 2 FB patches 

 

1. AMD FrameBuffer Utility 

 

FB           02000000 00010000 19010100 00000000 10000505 00000000 (LVDS) 

Patch      02000000 40000000 09010100 00000000 10010007 00000000 

 

2. Manually Generated 

 

FB            00040000 04030000 00010000 12040105. (DP)

Patch       02000000 40000000 08010000 10000107

post-941217-0-52733300-1513136712_thumb.png

Share this post


Link to post
Share on other sites

Now m facing another issue :(

 

the screen is looking reddish !

 

The screen appears to be ok , but from certain angle it looks redish, while in 10.11.6 its clear n white(ok).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Ade866
      Hi everyone, I have been optimizing my Asus x54h for some time. But now I find myself with sierra 10.12.6 installed with the problem of sleep, well: as soon as I put the PC to sleep the fans keep running, after a while they stop for a second and then start to turn again waking up the PC. What do you think the problem is? The notebook is equipped with: Amd 6470M CPU intel core i3 2330m. 4gb Ram DDR3 SDRAM. Clover legacy bootloader.
      config.plist
      SSDT.aml
      DSDT.aml
      Andrea’s iMac.zip
    • By fantomas1
      Hi InsanelyMacaholics   

      Use this thread to link / talk about of the future Nvidia Web Driver updates for macOS Sierra.
       
      10.12.6
      Nvidia Web Driver - 378.05.05.25f15 --> build 16G1918 (thanks to BreBo) New!
      Nvidia Web Driver - 378.05.05.25f14 --> build 16G1917 (thanks to BreBo)
      Nvidia Web Driver - 378.05.05.25f13 --> build 16G1815 (thanks to flowrider)
      Nvidia Web Driver - 378.05.05.25f12 --> build 16G1710 (thanks to BreBo)
      Nvidia Web Driver - 378.05.05.25f11 --> build 16G1618 (thanks to Frank Nitty)
      Nvidia Web Driver - 378.05.05.25f10 --> build 16G1510 (thanks to BreBo) 
      Nvidia Web Driver - 378.05.05.25f09 --> build 16G1408 (thanks to BreBo)
      Nvidia Web Driver - 378.05.05.25f08 --> build 16G1314 (thanks to BreBo)
      Nvidia Web Driver - 378.05.05.25f07 --> build 16G1314 (thanks to haring)
      Nvidia Web Driver - 378.05.05.25f06 --> build 16G1212 (thanks to WeBeRiO)
      Nvidia Web Driver - 378.05.05.25f04 --> build 16G1114 (thanks to lukazm)
      Nvidia Web Driver - 378.05.05.25f03 --> build 16G1036 (thanks to Gradou)
      Nvidia Web Driver - 378.05.05.25f01 --> build 16G29 (thanks to Badruzeus)
       
       
      10.12.5
      Nvidia Web Driver - 378.05.05.15f01 --> build 16F73 (see this post)
       
       
      10.12.4
      Nvidia Web Driver - 378.05.05.05f02 --> build 16E195(thanks to crachmaster4999)
      Nvidia Web Driver - 378.05.05.05f01 --> build 16E195 (thanks to Moviemakergr)  Pascal support!!!
      Nvidia Web Driver - 367.15.10.45f01 --> build 16E195 (thanks to Lanc)
       
       
      10.12.3

      Nvidia Web Driver - 367.15.10.35f01 --> build 16D32 (thanks to shatterhenner)
       
       
      10.12.2
      Nvidia Web Driver - 367.15.10.25f02 --> build 16C68 (see this post)
      Nvidia Web Driver - 367.15.10.25f01 --> build 16C67 (see this post)
      Nvidia Web Driver - 367.15.10.25b06 --> build 16C60b/16C63a (see this post)
       
       
      10.12.1
      Nvidia Web Driver - 367.15.10.15f03 --> build 16B2657/16B2659 (thanks to Moviemakergr).
      Nvidia Web Driver - 367.15.10.15f01 --> build 16B2555 (thanks to Moviemakergr)
       
       
      10.12.0
      Nvidia Web Driver - 367.15.10.05f01 --> build 16A323 (thanks to phi777)
       
       
      GM
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A323 (same driver since DP4/PB3)
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A322 (see this post)
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A320 (see this post)
       
       
      DP/PB
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A313a (DP8 & PB7) (see this post)
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A304a (DP7 & PB6) (see this post)
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A294a (DP6 & PB5) (see this post)
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A286a (DP5 & PB4) (see this post)
      Nvidia Web Driver - 367.10.10.05b01 --> build 16A270f (DP4 & PB3) (thanks to TheRacerMaster)
      Nvidia Web Driver - 367.05.10.05b07 --> build 16A254g (DP3 & PB2) (see this post)
      Nvidia Web Driver - 367.05.10.05b07 --> build 16A238m (PB1) (thanks to Faun) 
      Nvidia Web Driver - 367.05.10.05b07 --> build 16A239j (DP2) (thanks to Faun)
      Nvidia Web Driver - 367.05.10.05b03 --> build 16A201w (DP1) (thanks to Xmedik)
       
    • By mossy
      Hi i have old laptop and i wanted to install os x i looked online for some TUT's but i didnt understand some people say works some say no 
       
      i being trying all day boots me to install menu for sierra but i cant move the mouse or the keyboard so can some plz help me 
       
      ASUS K50IN Intel® Core™2 Duo Processor T6500 2.10 GHz
       
      NVIDIA® GeForce® G102M, with 512MB VRAM
       
       
    • By slapbass_
      NO AUDIO/SIN SONIDO/ NO HDMI_MOJAVE 10.14.4_AYUDA POR FAVOR
       
      Hola compañeros, buen dia, espero que esten bien en todo,
       
      necesito de su ayuda por favor,
      no lógro activar el sonido de mi laptop eh aqui las especificaciones:
      Dell Inspiron 14 5000 series (5458)
       
      - Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
      - Ram 4GB»
      - Intel HD Graphics 5500
      - Red PCI :
      Intel Dual Band Wireless-AC 3160 AC HMC WiFi Adapter
      Realtek RTL8139/810x Fast Ethernet Adapter
       
      - Audio
      Intel Broadwell HDMI @ Intel Broadwell - Mini HD Audio
       
      Realtek ALC255 @ Intel Wildcat Point-LP PCH High defi.....
       
      alguien de ustedes que pueda darme una mano para ACTIVAR y que funcione todo el sonido y hdmi de mi laptop, les estare infinitamente agradecido con ustedes...
      aqui les dejo mi EFI
      https://www4.zippyshare.com/v/eBhG3AEy/file.html
      saludos
      Dios les bendiga n.n
    • By slapbass_
      Hello colleagues, good morning, I hope they are good in everything,
       
      I need your help please,
      I do not logically activate the sound of my laptop here specifications:
      Dell Inspiron 14 5000 series (5458)
       
      - Intel (R) Core (TM) i5-5200U CPU @ 2.20GHz
      - Ram 4GB »
      - Intel HD Graphics 5500
      - PCI Network:
      Intel Dual Band Wireless-AC 3160 AC HMC WiFi Adapter
      Realtek RTL8139 / 810x Fast Ethernet Adapter
       
      - Audio
      Intel Broadwell HDMI @ Intel Broadwell - Mini HD Audio
       
      Realtek ALC255 @ Intel Wildcat Point-LP PCH High defi .....
       
      Someone of you who can give me a hand to ACTIVATE and let all the sound and hdmi of my laptop work, I will be infinitely grateful to you ...
      Here is my EFI
      https://www4.zippyshare.com/v/eBhG3AEy/file.html
      regards
      God bless you n.n
×