julian-poidevin / MBPMid2010_GPUFix

MBPMid2010_GPUFix is an utility program that allows to fix MacBook Pro (15-inch, Mid 2010) intermittent black screen or loss of video. The algorithm is based on a solution provided by user fabioroberto on MacRumors forums.
MIT License
369 stars 60 forks source link

Patch covers all cases except when idle #116

Closed tunecino closed 5 years ago

tunecino commented 5 years ago

First of all thank you for this great patch that made my computer usable.

All cases seems to be covered now, so no more random restarts, except for one case, is when coming back from a sleep with the following error report:

Panic Report panic(cpu 3 caller 0xffffff7f88795705): "GPU Panic: mux-regs 3 3 7f 0 0 0 severity 3 switch-state 0 IG FBs 0 EG FBs 1:0 power-state 0 3D idle HDA idle : \n"@/Library/Caches/com.apple.xbs/Sources/AppleGraphicsControl/AppleGraphicsControl-3.14.49/src/AppleMuxControl/kext/GPUPanic.cpp:149

The Patch worked fine and SIP is disabled:

 | Checking compatibility
 MBPModelVersion :  MacBookPro6,2 ➔ Compatibility : OK ✓
  | macOS version : 
 macOS 10.12
  | Checking SIP Status
 SIP Disabled
  | Searching for AppleGraphicsPowerManagement.kext
 AppleGraphicsPowerManagement.kext found
  ********** Starting MBP GPU Fix **********
 Disabling Kext Signing verification :  ✓ 
 Copying Info.plist file
 Patching Info.plist
  - FindChild  - key|MacBookPro6,2
  - NextSibling  - dict
  - FindChild  - key|LogControl
  - ModifyIntValue  - integer|1
  - FindSibling  - key|Vendor10deDevice0a29
  - FindSibling  - key|BoostPState
  - FindSibling  - key|BoostTime
  - FindSibling  - key|Heuristic
  - FindSibling  - key|IdleInterval
  - ModifyIntValue  - integer|10
  - RemoveSiblingLabel - P3HistoryLength Not found 
  - FindSibling  - key|SensorSampleRate
  - ModifyIntValue  - integer|10
  - FindSibling  - key|Threshold_High
  - FindSibling  - key|Threshold_High_v
  - FindSibling  - key|Threshold_Low
  - FindSibling  - key|Threshold_Low_v
 Info.plist successfully patched
  | Loading Kernel Extension
 Removing existing kext in tmp :  ✓ 
 Copying actuel kext into tmp :  ✓ 
 Copying patched Info.plist into kext :  ✓ 
 Changing permission of kext :  ✓ /tmp/AppleGraphicsPowerManagement.kext/Contents/_CodeSignature/CodeResources
/tmp/AppleGraphicsPowerManagement.kext/Contents/_CodeSignature
/tmp/AppleGraphicsPowerManagement.kext/Contents/Info.plist
/tmp/AppleGraphicsPowerManagement.kext/Contents/MacOS/AppleGraphicsPowerManagement
/tmp/AppleGraphicsPowerManagement.kext/Contents/MacOS
/tmp/AppleGraphicsPowerManagement.kext/Contents/version.plist
/tmp/AppleGraphicsPowerManagement.kext/Contents
/tmp/AppleGraphicsPowerManagement.kext

 Removing existing kext :  ✓ 
 Copying patched kext into Extension :  ✓ 
 Loading modified kext :  ✓ 
 ********************* MBP GPU Fixed Successfully *********************

As noted in that output, it is a macOS 10.12.

Not sure how macOs is structured, I see the reported panic related to a file under /Library/Caches. Does that mean the OS is using older version of files before being patched? Is there a way to remove cached files? If yes, would that fix it? Thank you for any suggestion.

julian-poidevin commented 5 years ago

Hi ! Your issue has been reported in #32, unfortunately I don't know how to fix this. My only recommandation would be to power the MacBook off instead of putting it into sleep mode.