Jump to content

Tracing back the AMD GPU wakeup issue to its origin


Mieze
368 posts in this topic

Recommended Posts

@Mieze @vit9696

I'm following with a lot of interest this thread. Maybe this will sound a bit naive, but I wonder how come the wathevergreen.kext could make HDMI audio working and Mieze's method in some cases (like the hackaro's one) not. Is something missing there?

Besides that, this is really something. Thank you guys!

weg has patches that’s why but you can make a HDMI audio ssdt

 

 

Sent from my iPhone using Tapatalk

  • Like 1
Link to comment
Share on other sites

@slice sir nothing is working for me :(

 

Ive tried everything but no luck, Everyitme ATI is inject i get panic on 10.13.1, its working gr8 on 10.11.6.

N if i ignore ATI Inject, AMD6000 n AMD3000 controller load but no QE/CI.

 

1.FakeID

2.Mieze DSDT Patch

3.DeInit

4.AMD6000 Controller Patch

5.WhateverGreen 

6.replacing 4 kext as @slice said in one thread..

7.Directly patching Farmebuffer in AMD6000Controller 

 

m using AMDFrameBufferUtility App

 

The panic is regarding Legacy AMD ...

Archive.zip

Link to comment
Share on other sites

@slice sir nothing is working for me :(

 

Ive tried everything but no luck, Everyitme ATI is inject i get panic on 10.13.1, its working gr8 on 10.11.6.

N if i ignore ATI Inject, AMD6000 n AMD3000 controller load but no QE/CI.

1.FakeID

2.Mieze DSDT Patch

3.DeInit

4.AMD6000 Controller Patch

5.WhateverGreen

6.replacing 4 kext as @slice said in one thread..

7.Directly patching Farmebuffer in AMD6000Controller

m using AMDFrameBufferUtility App

The panic is regarding Legacy AMD ...

find away to patch for uefi a tool used to be a thing

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

@slice sir nothing is working for me :(

 

Ive tried everything but no luck, Everyitme ATI is inject i get panic on 10.13.1, its working gr8 on 10.11.6.

N if i ignore ATI Inject, AMD6000 n AMD3000 controller load but no QE/CI.

 

1.FakeID

2.Mieze DSDT Patch

3.DeInit

4.AMD6000 Controller Patch

5.WhateverGreen 

6.replacing 4 kext as @slice said in one thread..

7.Directly patching Farmebuffer in AMD6000Controller 

 

m using AMDFrameBufferUtility App

 

The panic is regarding Legacy AMD ...

AMDFrameBufferUtility App doesn't work btw

Link to comment
Share on other sites

@pavo sir,

 

AMD Utility worked grt in 10.11.6 :)

 

i didn't upgraded to 10.12, coz of usability n many other issue but i want to update to 10.13 n everything i working smooth only AMD is annoying me 

 

sir plz guide me :)

Link to comment
Share on other sites

This is wat i get in 10.11.6..

 

18/11/17 9:14:42.000 PM kernel[0]: RadeonSensors (pci1): found ATI Radeon ID: 0x6841, ATOM BIOS: Sony/Wistron

18/11/17 9:14:42.000 PM kernel[0]: RadeonSensors (pci1): using device-id to resolve temperature sensor type
18/11/17 9:14:42.000 PM kernel[0]: RadeonSensors (pci1): adding EverGreen thermal sensor
18/11/17 9:14:42.000 PM kernel[0]: RadeonSensors (pci1): started
 
18/11/17 9:14:37.000 PM kernel[0]: IOGraphics flags 0x43
 
This is wat i get in 10.13.1
 
18/11/17 9:14:37.000 PM kernel[0]: IOGraphics flags 0x43 (0x51)
wat is this 0x51(maybe the issue) !
Link to comment
Share on other sites

@pavo sir,

 

AMD Utility worked grt in 10.11.6 :)

 

i didn't upgraded to 10.12, coz of usability n many other issue but i want to update to 10.13 n everything i working smooth only AMD is annoying me 

 

sir plz guide me :)

No the app isn't complete, it doesn't do what it suppose to do. You need to go back to the first post in this thread and do the manual work of getting and converting.

Link to comment
Share on other sites

No the app isn't complete, it doesn't do what it suppose to do. You need to go back to the first post in this thread and do the manual work of getting and converting.

 

Pavo Sir, plz can u unlock at it , Ive Attached my ROM n DSDTs...

And suggest me a patch !

 

AMD Radeon HD 7650M, Pondweed(3)

Archive.zip

Link to comment
Share on other sites

Hey guys I have a quick question I’m on ryzen 10.13.2 beta 4 -rx 580 8 gigs xfx -msi mobo

I’m using latest lilu kext and what ever green

Once I updated to this beta 4 display port audio works (my monitor has speakers, and they work)

So sleep doesn’t work(all fans and leds stay on I have to manually reboot.

 

So what I did is add this to my config.plist

 

<key>Graphics</key>

<dict>

<key>RadeonDeInit</key>

<true/>

 

Then I change my fb to Damian (inject ati, and inject video bios) in clover -just these two options

I included lilu and whatevergreen to both s/l/e and my clover/kext /other

The I boot and sleep/ wake works!!! I still have to test but it works the only downside is it disables my

Display port audio (speakers no longer works and it does not say display port only my other audio ports)

If I boot with no options selected in clover for graphics my display port audio (speakers work again but sleep doesn’t)

I know weird

 

Any suggestions I’m on 10.13.2 beta 4

  • Like 1
Link to comment
Share on other sites

Hi Mieze (or sombody else),

 

my new Asus Dual RX 580 8GB runs smooth with new Clover settings RadeonDeInit=Yes. Just it consumes to much power when in idle, 30 Watt more than a NVIVIA 1060 i have tested.

The card is recognized as AMD R9 xxx. I use just Pike R. Alpha's generated SSDT.

 

In the moment AMD kexts active:

AMD9500Controller

AMDFramebuffer

AMDRadeonX4250

AMDSupport

 

Is there a way to get better power consumption? Thanks a lot in advance

 

Link to comment
Share on other sites

Hi Mieze (or sombody else), my new Asus Dual RX 580 8GB runs smooth with new Clover settings RadeonDeInit=Yes. Just it consumes to much power when in idle, 30 Watt more than a NVIVIA 1060 i have tested. The card is recognized as AMD R9 xxx. I use just Pike R. Alpha's generated SSDT. In the moment AMD kexts active: AMD9500Controller AMDFramebuffer AMDRadeonX4250 AMDSupport Is there a way to get better power consumption? Thanks a lot in advance

It will be a great achievement if someone found a way to control AMD card GPU PM.

  • Like 1
Link to comment
Share on other sites

What does injecting ati do exactly when enabled in clover?

In 10.13.2 beta 4 using my rx 580 when I change my fb to Damian and inject ati (using latest lilu and whatever green)

It fixed my sleep/ wake issue. Only thing is that it shows my card as rx 480 and it kills my display port audio (my monitor speakers get disabled when I inject ati)

Link to comment
Share on other sites

It's already controlled by PowerPlay library. Just submit correct card info for it.

Hi nms,

 

I just don´t know how to do it. What is the simplest way for a dummy to submit the correct data when using new RadeonDeInit=Yes for a RX 580? Things are changing so fast in the moment that I don´t know which informations are still valid.

Link to comment
Share on other sites

Hitting into milk.

For you to know the library in for Windows and not open source. That all.

Slicker:SLE nms$ strings AMD7000Controller.kext/Contents/MacOS/AMD7000Controller | egrep -i '(power|PP_)'
AAPL,aux-power-connected
SIPowerPlayManager
edp-display-power-sequence
display-power-sequence
virtual bool AMD7000Controller::detectPowerDown()
PP_Result_OK
PP_Result_Failed
PP_Result_NotSupported
PP_Result_NotInitialized
PP_Result_BadInputSize
PP_Result_BadOutputSize
PP_Result_BadInput
PP_Result_BadOutput
PP_Result_InitializationFailed
PP_Result_AsicNotSupported
PP_Result_VBIOSCorrupt
PP_Result_OutOfMemory
PP_Result_NoThermalController
PP_Result_StateNotFound
PP_Result_StateNotComparable
PP_Result_StateIsRequested
PP_Result_StateIsCurrent
PP_Result_TableImmediateExit
PP_Result_BiosTableNotFound
PP_Result_PXSwitchDeferred
PP_Result_Retry
PP_Result_????
DAL POWER
POWERPLAY
PP_RefreshRate
PP_VBlankTime
PP_BootupDisplayState
PP_CNEscapeInput
PP_BreakOnAssert
PP_BreakOnWarn
PP_LogSource
PP_LogLevel
PP_LogDestination
PP_LogField
PP_EnableAppProfile
PP_DisableMaxPCIEBandwidth
Power source change - PowerPlay enabled, limited power source
Power source change - PowerPlay enabled
Power source change - PowerPlay disabled
Power source change - with multi GPU customisation
Power source change - with Gemini primary customisation
Power source change - with Hardware DC switching
Readjust Power State
Enable PowerPlay - Limited power source
Enable PowerPlay
Disable PowerPlay
Change power source UI label - PowerPlay enabled
Change power source UI label - PowerPlay disabled
Reduce power limit for Dual Caicos XTX
Boost Power Limit
Update Power Optimization Settings
PP_PowerPlayEnabled_Default
PP_PowerPlayEnabled
PP_ConfigurableACPowerSourceUIMapping
PP_RestrictDPMLevelForCFOnDC
PP_EnableCFULPSPolicy
PP_ACPowerSourceUIMapping
PP_ACPowerSourceUIMapping_Default
PP_ConfigurableDCPowerSourceUIMapping
PP_DCPowerSourceUIMapping
PP_DCPowerSourceUIMapping_Default
PP_ForceReportOverdrive4
PP_EnableHardwareThermalProtection
PP_BACODelayIntervalInMilliSeconds
PP_ULPSDelayIntervalInMilliSeconds
PP_OS_BREAK_TO_DEBUGGER
PP_DeferFirstStateSwitch
PP_CCCNextEnabled
PP_EnableDualACTemplateForOD
PP_Apple_Bootcamp_Enable
PP_Force3DPerformanceMode
AsicOnLowPower
PP_GPUPowerDownEnabled
PP_SkipQueryATPXPowerDown
PP_EnableBACOSupportFeature
PP_UserBACOEnable
PP_HPC_interface
PP_DISPLAY_SCANLINE_LOW
PP_DISPLAY_SCANLINE_HIGH
PP_PhmUseDummyBackEnd
PP_FloorSCLKFor4K
PP_WantSAMClkWithDummyBackEnd
PP_WantACPClkWithDummyBackEnd
PP_WantUVDClkWithDummyBackEnd
PP_WantVCEClkWithDummyBackEnd
PP_IPSDBGINFO
PP_DisableThermalManagement
PP_StablePStateDisable
PP_UMDPStateDisable
PP_FPSDBGINFO
PP_FPSFeatureForceOn
PP_FPSEnabledInDC
PP_FPSEnabledInAC
PP_FPSUpperLimit
PP_FPSLowerLimit
PP_FPSUpperLimitForAC
PP_FPSLowerLimitForAC
PP_FPSMaxMinDeltaForDC
PP_FPSMaxMinDeltaForAC
PP_FPSMaxThresholdUpperBoundForDC
PP_FPSMaxThresholdLowerBoundForDC
PP_FPSMaxThresholdUpperBoundForAC
PP_FPSMaxThresholdLowerBoundForAC
PP_DALPowerLevel
PP_MinimumCoreClockCeiling
PP_MinimumCoreClockCeilingInSR
PP_DisableEngineTransition
PP_DisableMemoryTransition
PP_DisableVoltageTransition
PP_CGCGDisable
PP_MMClockGatingEnabled
PP_MemorySSEnabled
PP_EngineSSEnabled
PP_DynamicPCIEGen2Enabled
PP_MGCGDisable
PP_MGCGCGTSSMDisable
PP_LSCGDisable
PP_PowerGatingDisable
PP_StayInBootState
PP_DisableLightSleep
PP_DisableDPM
PP_UserMaxClockForMultiDisplays
PP_DisableSMUUVDHandshake
PP_DisablePCIePerformanceRequest
PP_ThermalAutoThrottlingEnable
PP_UVDDPM
PP_VCEDPM
PP_SAMUDPM
PP_ACPDPM
PP_PauseMMSessions
PP_PCIeLaneOverride
PP_PhmSoftPowerPlayTable
PP_StablePStateSclkDPMPercentage
PP_CGULVCONTROL
PP_CGULVPARAMETER
PP_ActivitySamplingInterval
PP_HighSamplingInterval
PP_SISLANDSActivityHysteresis
PP_SISLANDSTrendDetection
PP_SISLANDSVotingRightsClients
PP_SISLANDSfxIdleThreshold
PP_SISLANDSThermalProtectCounter
PP_SISLANDSStaticScreenThresholdUnit
PP_SISLANDSStaticScreenThreshold
PP_SISLANDSMediumStateHysteresisDown
PP_SISLANDSMediumStateDownThreshold
PP_SISLANDSLowStateUpThreshold
PP_SISLANDSUpTrendCoef
PP_SISLANDSDownTrendCoef
PP_DisableDynamicACTiming
PP_MCLKStutterModeThreshold
PP_MCLKEDCEnableThreshold
PP_MCLKEDCWREnableThreshold
PP_MCLSDisable
PP_CacInfo1
PP_CacInfo2
PP_CacInfo3
PP_CacInfo4
PP_CacInfo5
PP_CacInfo6
PP_EnableLoadPostProductionFirmware
PP_EnableLoadFalconSmcFirmware
PP_MvddSplitMclkFreq
PP_SMCGPIODebug
PP_EngineClockMarginSigned
PP_MemoryClockMarginSigned
PP_PhmOnePCIELaneInULV
PP_SISLANDSUlvVoltageChangeDelay
PP_MaxMclk
PP_MaxSclk
PP_MinMclk
pp_MinSclk
PP_EnableUserLimits
PP_DisableVddcPhaseShedding
PP_MMSTT
PP_BACOPcieGen
PP_BACOPcieLanes
PP_BACOUseIOAccess
PP_BACOSkipHardware
PP_MediumStateDownHysteresisTimeOut
PP_DisableDTE
PP_OverwriteDTETempSelect
PP_FastWaterMarkTreshold
PP_NearTDPDec
PP_AboveSafeInc
PP_BelowSafeInc
PP_TDPSafeLimitPercent
PP_MaxPSPercent_H
PP_MaxPSPercent_M
PP_DriverCalculateCACLeakage
PP_CACConfigurationRequired
PP_EnableCACLongTermAverage
PP_LTAWindowSize
PP_LTSTruncate
PP_PwrEfficiencyRatioMargin
PP_DisableUVDPowerContainment
PP_RegisterWriteRingSize
PP_FanControlCycleDelay
PP_DisablePPM
PP_SQRampingThreshold
PP_DisablePowerControl
PP_EnableGeminiAsymmetricPower
PP_SclkDpmDisabled
PP_MclkDpmDisabled
PP_PcieDpmDisabled
PP_EnableDFSBypass
PP_DriverEnableNBDPM
PP_DisableULPS
PP_BACOShowDBGInfo
PP_EnableLongIdleBACOSupport
PP_SclkThrottleLowNotification
PP_FPSFeatureEnable
PP_DisableODStateInDC
PP_DisablePowerContainment
PP_DisableCAC
PP_DisableDIDT
PP_DisableSQRamping
PP_DisableDBRamping
PP_DisableTDRamping
PP_DisableTCPRamping
PP_SclkDeepSleepDisable
PP_DisableULV
PP_EnableSclkDeepSleepAboveLow
PP_FuzzyFanControl
PP_DisableMCDownLoadFeature
PP_DisableMCCfgProgramming
PP_ForceHighDPMLevel
PP_MCLKStrobeModeThreshold
PP_DisableClockStretcher
PP_VRHotGpioDisabled
PP_ACDCGpioDisabled
PP_Falcon_QuickTransition_Enable
PP_ThermalOutGpioDisabled
PP_GetSclkParametersFromVbios
PP_DisableSPLLShutdownSupport
PP_ForceMCLKHigh
PP_DisableUVDClientMCTuning
PP_ODNFeatureEnable
PP_DisableXDMANaturalDPM
PP_DisableOCLPowerOptimization
PP_GPUActivityWeight
PP_EnablePerDPM
PP_EnablePowerOptimization
PP_DisableAutoWattman
PP_AutoWattManDebug
PP_AutoWattManSamplePeriod
PP_AutoWattManFeatureDepth
PP_AutoWattManDisableSampling
PP_AutoWattManSCLKHighLimits
PP_AutoWattManSCLKLowLimits
PP_AutoWattManMCLKHighLimits
PP_AutoWattManMCLKLowLimits
PP_AutoWattManAlgorithmThreshold
PP_AutoWattManAlgorithmMaxAdjustFactor
PP_DisableIgnoreMMRequest
PP_SclkDpmTuning0
PP_SclkDpmTuning1
PP_SclkDpmTuning2
PP_SclkDpmTuning3
PP_SclkDpmTuning4
PP_SclkDpmTuning5
PP_SclkDpmTuning6
PP_SclkDpmTuning7
PP_MclkDpmTuning0
PP_MclkDpmTuning1
PP_MclkDpmTuning2
PP_MclkDpmTuning3
PP_SCLKMMTuning
PP_MCLKMMTuning
PP_DisableFFC
PP_EnableMCLKOptimization
PP_PrefetcherDpmDisabled
PP_SocclkDpmDisabled
PP_DcefclkDpmDisabled
PP_DisableAVFS
PP_EnableTDCLimit
PP_EnablePkgPwrTracking
PP_ZeroRPMStopTemperature
PP_ZeroRPMStartTemperature
PP_DisableMultiUVDStates
PP_ForceHighUVDState
PP_DisableInitUVDClocks
PP_DefaultNumClockClients
PP_PermitReducedRefreshRate
PP_EnableForceMultiDisplayForHiDispClk
PP_MultipleDisplayOverride
PP_MinDisplayClockOverrideBCD
PP_StateManagerRuntimeChecks
PP_IpsPerformanceMeasure
PP_WaitOnRegisterTimeout
[ATI LIB=PowerPlay, 2.510]
PP_SmuPcDumpSize
PP_SmuPcDumpInterval
PowerLimit
Set PLL_CNTL.PLL_POWER_DOWN=1
Set BACO_CNTL.BACO_POWER_OFF[0x08]
Wait for BACO_CNTL.BACO_POWER_OFF[0x08]=1
Clr BACO_CNTL.BACO_POWER_OFF[0x08]
Wait for GPIO, MEM, DVO POWERGOOD[0x1C00]=1
Slicker:SLE nms$
Link to comment
Share on other sites

Hi nms, any tipps for my problem? It seems RadeonDeInit=Yes always leads to a AMD R9 xxx GPU definition. How to change that to RX 580?

You need to patch the AMD9500Controller.kext via clover. Add this patch to your config.plist under the "Kernel and Kext Patches"

 

Name: AMD9500Controller

 

Find: 41 4d 44 20 52 39 20 78 78 78

 

Replace: 41 4d 44 20 52 58 20 35 38 30

 

Comment: Rename AMD R9 xxx to AMD RX 580 

  • Like 3
Link to comment
Share on other sites

Hitting into milk.

For you to know the library in for Windows and not open source. That all.

OSX has “AutoWattMan” for power regulation of AMD cards. It’s in all the AMDxxxxControllerkext’s, maybe if we could alter these settings using kext to patch method we could adjust performance?

  • Like 1
Link to comment
Share on other sites

You need to patch the AMD9500Controller.kext via clover. Add this patch to your config.plist under the "Kernel and Kext Patches"

 

Thanks a lot. Now system setting display AMD RX 580 8GB. But power draw hasn´t changed.

 

Complete system idle:

88 watt with a NVIDIA 1060 = approx. 8 watt for the GPU

116 watt with RX 580 = approx. 36 watt (!) for the GPU

 

I use Pikes ssdt, generated with the 580 in place. Is there another possibility, perhaps a GPU ssdt? Or inject Ati, framebuffer or something else?

  • Like 1
Link to comment
Share on other sites

Probably not, High Sierra seems to be over cautious with fan speeds right now. The vega cards are idling with 75% fan speed at minimum. This happened in Sierra with the RX 480 until the Drivers were optimized over time. If you really like the 1060 go with it, but good luck surviving updates or running beta versions. The tradeoff is pretty clear, AMD = Apple Drivers, Nvidia = Web Drivers ( more user control).

 

Have you tested your RX in Sierra 12.6?

  • Like 1
Link to comment
Share on other sites

The 1060 had very bad performance, a lot of gliches, very slow in every days performance - bad choice. I sent it back.

 

I never had Sierra installed on my computer, I came from El Capitan. The RX 580 is just a few days old, so I have no experience with other systems. It is just running very nice with Photoshop, Lightroom, After Effects, video in common an so on.

 

Just would be nice to have better power consumption. If there is no way, we just can wait for Apple...

Just strange, that the patch changed nothing except name.

Link to comment
Share on other sites

Probably not, High Sierra seems to be over cautious with fan speeds right now. The vega cards are idling with 75% fan speed at minimum. This happened in Sierra with the RX 480 until the Drivers were optimized over time. If you really like the 1060 go with it, but good luck surviving updates or running beta versions. The tradeoff is pretty clear, AMD = Apple Drivers, Nvidia = Web Drivers ( more user control).

 

Have you tested your RX in Sierra 12.6?

 Vega should be fan ramp modified in bios, under windows. You can set percentage between temps and fan actuation. You can check the best way in Overclockers site, Vega/Amd forums. I did for 390X because my render times are extreme.

  • Like 1
Link to comment
Share on other sites

Hi nms, any tipps for my problem? It seems RadeonDeInit=Yes always leads to a AMD R9 xxx GPU definition. How to change that to RX 580?

Unfortunately my knowledge about ATI/AMD stuff very low )-;

Link to comment
Share on other sites

Has sombody else checked power consumption of his RX 580 or another AMD card under High Sierra? Are the Apple drivers this bad optimized?

 

Under windows the 580 is listed with 12 watt idle power consumption, under Mac it seams to be 36 watt. My 5960 processor jumps back to 1,2 MHz when idle, so speedsteps seem to work okay. It really seems to be the 580 GPU.

 

 

Link to comment
Share on other sites

×
×
  • Create New...