GPU问题-引导在灰色屏幕上挂起


43

我在此线程中根据自己的问题发现了此问题:
引导挂起在灰屏上(即使从带有全新OS X安装的USB驱动器引导时)

我的MacBook Pro 15英寸2011年初,带有AMD Radeon HD 6750M,在完全无法启动之前的两个星期内,显示器损坏并伴随系统崩溃/复位。启动将通过带有Apple徽标和微调框的灰屏,但是似乎应该切换到登录屏幕时,Apple徽标和微调框将消失并挂在空白的灰色屏幕上。

最初,我怀疑硬盘驱动器损坏,因此尝试对其进行补救。我尝试了以下操作,但均失败,但仍然失败,如上所述:

安全启动
启动到恢复(包括Internet恢复)中
从USB驱动器上的安装媒体
启动从USB驱动器上的OS X安装启动
清除NVRAM
重置SMC

我还多次运行了Apple Hardware Test,但没有发现任何问题。

详细的安全启动(Cmd + Shift + V)输出所有我希望看到的内容,但会如上所述挂起。

在Apple的GPU相关问题讨论论坛上在线看到更多帖子后,我再次将其归因于以下原因:

2011 MacBook Pro和离散显卡2011 MacBook Pro和离散显卡

试图从USB闪存驱动器启动Ubuntu,我只能说到GRUB。尝试启动Ubuntu桌面或在GRUB中运行graphicstest时,系统将挂起。

此时,运行Apple Hardware Test的过程就在标准测试即将结束时挂起,可能在进行视频测试时猜测。

根据以上“ Apple讨论区”中的建议,我做了以下工作:

引导到单用户模式
执行以下命令:

/sbin/fsck -fy /
/sbin/mount -uw /
mkdir /Disabled_System_Library_Extensions
cd /Disabled_System_Library_Extensions
mv /System/Library/Extensions/ATI* .
mv /System/Library/Extensions/AMD* .
touch /System/Library/Extensions
exit

这次机器完全启动。但是,图形非常慢,即使在最小化窗口时也只是过渡。我将带我的MBP到Apple要求更换,因为大量其他人面临类似问题的报告似乎使类似GPU相关的故障再次发生,导致他们进行召回。

但是,当我使用“ mv”命令时,文件将不会移动(都不会删除),并且向我显示:
Sandbox deny(01)file-write-unlinked…

有什么办法吗?



@klanomath是的,就是这个问题。也发生在我的旧MBP(只是绿色而不是灰色屏幕)上。
owlswipe

Answers:


81

背景和说明

在采取任何措施之前,请至少从头至尾阅读所有这篇文章。

2011年以来的所有 MacBook Pro都存在严重的设计缺陷。散热管理和产生的热量以及分立的AMD图形芯片的坚固性并不能很好地匹配。苹果知道这一点,并像典型的 肥皂史密斯一样,只在愤怒后才对此做出反应。此丑闻取名为RadeonGate。最终,只有在集体诉讼提起诉讼的情况下,苹果才最终被迫提供所谓的“维修扩展计划”

Apple Repair Extension程序不再可用。解决此问题的唯一真正方法是仅更换AMD芯片。不是逻辑板。不是“重新堆积”,不是“回流”,不是“烘烤”。苹果用故障芯片替换了故障芯片。一次又一次。对于这种老式笔记本电脑,仅更换图形芯片仍然是昂贵的硬件过程。

唯一已知的方法-即:仅使用软件-即可使2011 MacBook Pro(8,2)仅带有故障的AMD图形芯片,从而几乎可以可靠地再次打开电源并启动进入macOS,并可以在加速的 GUI中使用是本指南还是它的变体。先前的大多数技巧只是删除了所有AMD-kexts,这导致了根本没有GUI加速的可怕用户体验。

有必要知道您的确切操作系统版本。对于优胜美地,以下指南将更简单,但假定使用El Capitan或更高版本。El Capitan,Sierra和High Sierra需要禁用SIP(系统完整性保护)。在以前的系统(10.6-10.10)中,这些步骤是不必要的。

重要提示:本指南进一步假设所有kext仍位于其默认位置/ System / Library / Extensions。除了其中一个以外的所有AMD-kext,对于“适当的”操作是有益的。以前在此方向上的破解可能已指示您采取行动,或更糟糕的是:删除所有AMD * / ATI *内核扩展。如果是这样的话:要么将kexts移回其默认位置,要么重新安装您选择的系统。将大多数AMD扩展安装到位然后为X3000-kext加载延迟,将启用GPU的电源管理,否则将无耗电地消耗电力(并且可能会加速芯片的最终热死)。重申一下:只有文件AMDRadeonX3000.kext确实不存在 在启动时可以成功启动,但所有其他(必需)AMD驱动程序应位于其默认位置,并且在X3000-kext之后/延迟加载后,才能恢复到几乎明智的电源和温度管理领域。

绕过独立显卡

要恢复某些显示加速,必须迫使计算机不启动离散图形(dGPU),而是直接进入集成图形(iGPU)并保持此模式。

在具有两个可切换图形卡的Mac上,默认情况下引导至dGPU模式。以下过程将设置一个NVRAM变量,该变量禁用dGPU并强制系统即使在引导时也仅使用集成的Intel图形。

NVRAM变量未记录,但似乎普遍适用于具有两个可切换图形卡的所有Mac。这意味着它应该可以在iMac和MacBook Pro上使用。他们是否拥有AMD或NVIDIA芯片。本指南仅涉及AMD可能需要移动的驱动程序细节。但是无论如何,NVRAM变量都会绕过离散图形芯片。

这将使您的机器恢复使用-但您将失去一些功能:例如,可以从DisplayPort驱动外部显示器的功能,一点点3D性能。Thunderbolt数据连接应该正常工作。

万一本指南失败或不再需要该指南:此过程是纯软件配置,因此可通过简单的NVRAM重置随时完全恢复

初始过程:

第1部分:禁用SIP,禁用dGPU,移动一个内核扩展

  1. 要从干净的状态开始:重置SMC和NVRAM:
    关闭,拔下除电源以外的所有电源,现在按住

    leftShift+ Ctrl+ Opt+ Power
    并同时释放所有内容;

  2. 现在再次开机并按住

    Cmd+ Opt+ p+ r
    ,直到两次听到启动提示音。

  3. 通过按住进入单用户恢复

    Cmd+ r+s

  4. 禁用SIP:输入:

    csrutil disable

  5. 通过设置以下变量在启动时禁用dGPU:

    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

  6. 启用详细启动模式:

    nvram boot-args="-v"

  7. 通过按住重启进入单用户模式

    Cmd+ s
    开机时

  8. 挂载根分区可写

    /sbin/mount -uw /

  9. 制作一个kext-backup目录

    mkdir -p /System/Library/Extensions-off

  10. 仅将一个令人讨厌的kext移开:

    mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/

  11. 通知系统更新其kextcache:

    touch /System/Library/Extensions/

  12. 正常重启:

现在,您应该拥有一个iGPU加速显示器,但是系统不知道如何对发生故障的AMD芯片进行电源管理。(在这种状态下,GPU总是闲置相对较高的功率,拔出电源会消耗大量电池,并且会导致GPU温度从60°C升高到[平均60-85°C],尽管系统没有使用它。 )

第2部分:改善散热和电源管理

为了改善禁用的GPU的电源管理,您必须启动手动加载一个关键的kext ,方法是:

sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext

如果您有温度传感器应用程序,则可能希望在发出上述命令之前先将其打开,然后观察温度下降。

使用下面的LoginHook自动化该操作,该操作将在下次重新引导后执行:

sudo mkdir -p /Library/LoginHook   
sudo nano /Library/LoginHook/LoadX3000.sh

具有以下内容:

#!/bin/bash
kextload  /System/Library/Extensions-off/AMDRadeonX3000.kext
pmset -a force gpuswitch 0    # undocumented/experimental
exit 0

然后使其* 1可执行并处于活动状态:

sudo chmod a+x /Library/LoginHook/LoadX3000.sh  
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh 

* 1:未记录使用此pmset命令似乎可以改善睡眠/唤醒/关机行为。如果不是,请尝试将其忽略。
请参阅下面的免责声明。以下只是推测:睡眠/唤醒/关机可能仍然很麻烦。这里的理论是“某些东西会慢慢破坏”存储在SMC中的内容。因此,重置SMC并重新应用变量hack似乎可以缓解这种情况。(永久的解决方案,欢迎您!)作为短时间的解决方法,您可能想要避免“闭门睡眠”,这似乎比其他方法(Apple-Menu,Keyboard-Shorcut)带来更多麻烦。关闭时明显挂起的延迟通常只是很长的延迟,最终会完全成功地关闭。
不科学的抽样表明,优胜美地对此最不利,而El Capitan和Sierra在这方面表现更好。

手动加载或以其他方式延迟加载此关键内核扩展,可使系统更好地处理电源管理。电池使用量将减少,并且未使用的GPU发出的温度将下降到明显低于50°C(平均15-50°C之间)的范围。

为了进行适当的电源管理,必须在引导时最小加载一组kext(针对10.12.6的版本,请通过进行检查kextstat | grep AMD):

com.apple.kext.AMDLegacySupport (1.5.1) 
com.apple.kext.AMD6000Controller (1.5.1)  
com.apple.kext.AMDSupport (1.5.1)
com.apple.kext.AMDLegacyFramebuffer (1.5.1) 

如果上述加载方法成功,则应将其添加到列表中:

com.apple.AMDRadeonX3000 (1.5.1) 


最后一步是再次重新启动进入SingleUserRecovery ,在激活命令行后,
使用Cmd+ r+ s
进行此操作,输入:

 nvram boot-args="-v agc=0"   

并正常重启。

这将使dGPU进一步冷却。

必须从SingleUserRecovery发出此命令,因为启用了SIP的系统将阻止您从常规引导卷引导(无论是在常规完全引导模式下还是在常规SingleUser中)设置此变量的尝试。重要的是要注意,因此此步骤不能轻松地集成到force-iGPU.sh脚本中(您将在一分钟内创建),并且必须在NVRAM重置后自行重复执行。

最后一步假定已重新启用SystemIntegretyProtection。但是,如果有意永久性地禁止SIP,则可以将该步骤集成到上面的force-iGPU.sh脚本中。
但是由于某种原因我打算永久关闭SIP,并且在没有引起我注意的情况下将其重新打开,因此依靠SIP保持“关闭”可能不是最好的方法。清除存储SIP设置的NVRAM可能是一种无法预料的干扰。

未来使用的预防措施

还有两个需要注意的警告:重置SMC / NVRAM时,这是可逆的。如果发生这种情况,则可以甚至必须重新设置GPU功耗偏好的NVRAM变量,以从启动时开始强制使用iGPU。

由于这很容易发生(并且经常被错误地建议使用多次,而不是实际有用的方法),因此您可能应该为这种情况做准备,并创建一个简单的脚本来大大加快该过程,并使输入必要的变量变多更少的错误倾向:

 sudo nano /force-iGPU-boot.sh

–在此文件中输入以下内容:

#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0

–现在使该可执行文件:

sudo chmod a+x /force-iGPU-boot.sh

将来,当SMC / PRAM / NVRAM重置为默认值时,现在可以通过以下方式启动到SingleUser中:

Cmd+s

–在安装引导卷读写后,仅执行以下一行:

sh /force-iGPU-boot.sh


请记住,agc变量现在也已清除。(请参见上文)
此外,请确保再次在“系统偏好设置”>“启动磁盘”中设置默认启动卷。

第3部分:处理来自Apple的更新

现在,此安装程序可以在Apple安装人员无法期望的位置安装一个kext。这就是为什么在本指南中尚未重新启用SIP的原因。如果即将进行包含AMD驱动程序更改的更新,建议在更新过程之前将AMDRadeonX3000.kext移回其默认位置。否则,更新程序将至少另一个不同版本的kext写入其默认位置,或者最糟糕的是,您最终会得到部分不匹配的驱动程序的未定义状态。

在任何系统更新之后,必须检查文件夹/ System / Library / Extensions中是否存在有害的kext。它的存在将导致例如优胜美地和塞拉的靴子悬挂,高塞拉山脉的靴子循环过热​​。

升级到High Sierra 10.13:有了这个hack,几乎是很简单的:尽管应用了固件更新,但是安装过程不应触及NVRAM变量。安装过程也不使用完全加速的AMD芯片,而是使用基本加速功能,对于这种黑客攻击而言,这没有问题。但是,如以上段落中所述,首次引导进入已完成安装但即将开始设置过程的系统时,会产生由热量/碰撞引起的引导循环。令人讨厌的内核扩展必须如上所述再次移动。(从第3步开始)移动完结点之后,一切都将恢复正常。

Apple的最新更新:在阅读以下内容之前,请不要更新。

直到另行通知:
最近的更新再次破坏了计算机。它更新了固件RecoveryPartition,似乎无法引导进入SingleUserRecoveryMode
并使其无法安装(即使使用DeltaUpdate),也可以正常运行AMDRadeonX3000.kext!
如果没有准备,只有手头的机器,您会有点卡住。

如果SingleUserRecoveryMode永久消失,请使用常规的RecoveryMode。结果是相同的,但是启动起来要慢一点:上面的过程仍然有效,并且对于所有先前版本的Mac OS X / macOS来说都更快。

但是,如果您更新到10.13.6或更高版本:
那么您必须用常规的RecoveryMode(+ )替换SingleUserRecoveryMode(Command+ r+ s)的说明,并通过终端禁用SIP(此精确用例的示例)。Commandr

如果您确实属于那些常规恢复模式无法正常工作的用户:
无法通过SingleUserRecovery禁用SIP的变通办法:

  1. 首先,启动进入单用户恢复模式。在此模式下,不允许进行csrutil编辑,但可以设置gpu-power-prefs nvram属性。这将有助于以恢复模式重新引导计算机。然后,您必须用常规的RecoveryMode(+ )替换SingleUserRecoveryMode(Command+ r+ s)的说明,并通过终端禁用SIP(此精确用例的示例)。Commandr

  2. 在更新之前,请准备可引导卷。那可以是外部磁盘或棒。引导计算机的任何版本都可以。可以在另一台Mac上创建这样的驱动器。
    请记住,在外部驱动器上,AMDRadeonX3000.kext也必须被移动。尝试从该驱动器启动。只有在按预期方式工作并且可以将其安装到内部驱动器上时:从内部驱动器重新引导,然后继续将内部驱动器/系统更新到10.13.6。
    更新快要结束后,将重新启动一次。强制关机并从外部驱动器重启。安装内部驱动器并移动Radeon.kext。SIP仅保护引导的系统。

  3. 建议在某处在线,但实际上是一个绝望的猜测,并且未经测试:Cmdrs您可以尝试使用InternetRecoverySingleUserMode 而不是SingleUserRecoveryMode CmdOptrs。另外,可能值得尝试看看SafeRecoveryMode是否有效CmdShiftr

    图形恢复模式可能无法像我一样正常工作。但是,在High Sierra的最新版本中,仍然可以引导到单用户恢复模式。它只需要适当的时机。诀窍是首先通过按cmd + R启用恢复模式,并在识别出单用户模式的cmd + S命令后立即启用恢复模式。确切的时刻必须由用户确定。如果同时按cmd + R + S,将仅激活单用户模式。如果先按cmd + R并按得太晚,则将加载图形恢复模式。– TAKeanice↵

屏幕亮度键在High Sierra中不起作用?

苹果公司更改了在High Sierra中处理用于更改屏幕亮度的键盘事件的方式。有了此hack或下面的硬件mod,密钥将失效。留在Sierra的另一原因。但是,使用此技巧,您可能还求助于使用其他软件解决方案。除了破解您自己的AppleScript解决方案外,您可能还想尝试现成的应用程序。

例如,AppStore上的Brightness Slider提供了可自定义的键盘快捷键。


为避免这些崩溃/死机/引导循环(对于您的文件系统而言从来都不是一个好主意),在全新安装或升级时:请确保坚持安装过程,并始终引导至“安全模式”(Shift在引导过程中一直按住直到将kext移到安全的地方–在SafeMode中安装应该可以正常进行。

结束语和建议

此外:无论您做什么,笔记本电脑都过热。冷却系统不足,大量故障的AMD芯片就是证明。

为了延长这台被黑客入侵的机器的寿命,建议不要在很长一段时间内都进行繁重的工作。严格遵循笔记本电脑的通常建议:在坚硬的表面上使用,保持风扇和散热片清洁。使用任何具有相对激进设置的fancontrol软件也应有所帮助:例如smcFanControl,MacsFanControl或TGPro(均为商业产品)。

免责声明:整个过程不是魔术。这些芯片的故障状态不是100%可预测的。即使存在这种黑客攻击,也很少有用户遇到问题:重新启动,进入睡眠或正常唤醒可能会出现问题,其中大多数来自优胜美地的用户,最小的麻烦似乎出在Sierra上。在这些情况下,有时候似乎有必要不使用 AMDRadeonX3000.kext,因此也不要使用第3部分中的LoginHook。(但请参阅上面* 1下的附加说明。)High Sierra上的用户数量过多,显示问题背光调节。因此,目前,我认为10.12 Sierra是选择操作系统的最佳时机。

在某些情况下,即使采取了所有这些措施,如果在机器进入睡眠状态时连接了任何外围设备并处于活动状态,仍可以使用的Thunderbolt端口似乎也会引起一些问题。在这种情况发生之后,任何后续的睡眠周期都可能受到影响,并且再次需要使用上述概述的后续变量设置舞蹈进行NVRAM重置。在这种情况下,建议在机器进入睡眠状态之前,防止机器进入睡眠状态或拔下Thunderbolt端口上的任何硬件。

在此答案开头列出的限制范围内:大多数用户报告完全成功。


硬件改装/黑客

现在有几种可用的方法,有些不好,有些很好。

错误的解决方案:RealMacMods提供了非常便宜的硬件修改 尽管他们使用相对复杂的方式在linux上设置必需的EFI变量,但以下优点是只需去除一个微小的电阻就可以完全切断dGPU的核心电压!(图片链接)

在这种重新启动过程中,至关重要的是,必须一次引导进入安全模式(在整个引导过程中按住Shift键),然后从菜单中选择“关机(不重新启动)”。
使用R8911电阻器进行此安全启动。没有此安全启动程序,后续步骤可能无法正常工作。
完成后续步骤之前,请勿再穿靴子。
安全启动会清除操作系统级别的GPU首选项,这可能会干扰以下过程。
现在,这将使MacBook Pro停止自动切换到Radeon,但仍会消耗功率,产生热量且对操作系统可见。
我们发现只需删除1个电阻器即可解决此问题。
如果出于任何原因需要重新打开radeon,也可以用一个开关代替该电阻器。
该电阻器的位置在逻辑板型号之间有所不同。
所涉及的电阻是17英寸MBP上的R8911和15英寸MBP上的R8911,这是一个1欧姆的电阻,可为ISL6263C直流至直流转换器提供电流路径。
该电阻器控制向稳压器供电,该稳压器向Radeon GPU提供核心电压。简而言之,没有核心电压,没有GPU。您会在冷却风扇的右侧找到电阻器(按上述方向)。它将在ISL电压转换器芯片附近。这是我们将禁用的芯片。
只需将其删除。首选的方法是专业的回流焊台,但是铁杆和稳定的手将使您到达需要的位置。如果使用助焊剂去除了助焊剂(不需要),请确保使用少量的酒精或其他合适的溶剂进行清洁。
基本上就是这样。下次启动时,您会注意到您的GPU缺陷问题已解决,并且您将不再将AMD GPU视为已安装的硬件。

我没有对此进行测试,但是它应该消除了对kext的任何需要,并且还解决了与睡眠,唤醒,休眠,重新启动等有关的所有问题
。考虑此方法的一个警告:因为它似乎也依赖于设置NVRAM变量似乎完全有必要采用一种全自动方法来设置此变量,而无需任何用户干预。(就像进行必要更改的Linux操作系统一样),否则NVRAM重置实际上可能会使计算机变砖。供应商声称对此没有数据!

(在读完用这种方法咬住用户的故事后,最终得到的只是一个黑屏:似乎可以通过VNC或ssh远程访问该计算机,因此,如果事先设置了这些设置,在之后确实可能不是一个糟糕的选择所有,因为可以通过这种方式设置nvram变量。请记住:未经测试的互联网故事。)

永久,可靠且便宜的硬件解决方案!

Dosdude1显然找到了解决该问题的方案:永久禁用2011 15“ / 17” MacBook Pro专用GPU-gMux IC旁路

  • 选项A(将在下面详细介绍)是将LVDS输出线从集成图形LVDS输出线直接硬连接到连接到显示器的线。
  • 选项B是使用自定义固件重新编程gMux IC(它只是莱迪思LFXP2微控制器),以禁用GPU切换功能。我将来可能会对此进行试验,但是这样做需要我没有的特殊硬件。当然,这将是最佳解决方案。

这几乎是容易的。所需要的只是各种长度的电线。瞥一眼: 在此处输入图片说明 也在youtube上!

上面的“错误解决方案”现在变成了一种几乎专业的预制硬件解决方案,从而消除了该方法以前的“缺点”:

Tiresias(GPU杀手): Tiresias是一块小板,可以焊接到15英寸或17英寸2011(早期或晚期)型号的MacBook Pro的主板上。

这些都是具有820-2914-A,820-2914-B,820-2915-A或820-2915-B主板的型号。

820-2914和820-2915板具有两个GPU。PCH的内部(英特尔)GPU和外部(离散)AMD GPU。它是外部GPU在“一小部分MacBook Pro系统”中发生故障(Apple表示:“很多”)。Tiresias将'gpu-power-prefs'nvram变量写入ROM,以便Mac不再使用(死)外部(离散)AMD GPU。如果用户清除了NVRAM(PRAM),就没有问题,因为Tiresias将再次写入记录,而Mac将再次运行。

这使其成为使死GPU的820-2914或820-2915复活的理想解决方案。安装简便(无需焊接电线)。您将需要在主板上安装一个很小的板。经验丰富的技术人员可以在几分钟内完成此操作。除此以外,还应卸下R8911以关闭死掉的GPU的电源。这样可以节省能源,产生更少的热量并节省电池寿命。卸下R8911还可以防止Mac被死掉的GPU弄糊涂,因为即使关闭了GPU,它仍会尝试与死掉的GPU对话。根据GPU中哪些内部触点破裂,这可能会使Mac感到困惑甚至崩溃。

还支持Mac OS X 10.13 High Sierra。要解决睡眠后背光不恢复的问题,请同时卸下R9704并将R9704的引脚2连接到C9711的引脚1。

Tiresias(GPUkiller)技术详细信息Tiresias是一块小板,可以焊接到15英寸或17英寸2011(早期或晚期)型号的MacBook Pro的主板上。

这些都是具有820-2914-A,820-2914-B,820-2915-A或820-2915-B主板的型号。

820-2914和820-2915板具有两个GPU。PCH的内部(英特尔)GPU和外部(离散)AMD GPU。它是外部GPU在“一小部分MacBook Pro系统”中发生故障(Apple表示:“很多”)。Tiresias将'gpu-power-prefs'nvram变量写入ROM,以便Mac不再使用(死)外部(离散)AMD GPU。如果用户清除了NVRAM(PRAM),就没有问题,因为Tiresias将再次写入记录,而Mac将再次运行。

这使其成为使死GPU的820-2914或820-2915复活的理想解决方案。安装简便(无需焊接电线)。您将需要在主板上安装一个很小的板。经验丰富的技术人员可以在几分钟内完成此操作。除此以外,还应卸下R8911以关闭死掉的GPU的电源。这样可以节省能源,产生更少的热量并节省电池寿命。卸下R8911还可以防止Mac被死掉的GPU弄糊涂,因为即使关闭了GPU,它仍会尝试与死掉的GPU对话。根据GPU中哪些内部触点破裂,这可能会使Mac感到困惑甚至崩溃。

OS X 10.6-10.12(Sierra)

背光滑块(在系统偏好设置中)和背光键(F1和F2)起作用。系统睡眠有效。Thunderbolt端口上的视频输出不起作用,但是Thunderbolt端口上的所有其他功能都起作用。

OS X 10.13(High Sierra)

据我们所知,10.13(塞拉利昂)没有比10.12(塞拉利昂)更具优势。苹果完全重塑了High Sierra中的视频驱动程序,并且似乎一团糟。背光控件将不起作用。更糟糕的是,机器从睡眠状态唤醒后,背光灯根本无法重新打开。

要解决睡眠后背光不恢复的问题,请卸下R9704并将R9704的引脚2连接到C9711的引脚1。这会将背光设置为全亮度。不利的一面是,通过此修改,亮度也将在旧版OS上达到全亮度。

轮胎820-2915(15英寸)轮胎(一)(1)包括运费(全球)60欧元。

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明


一站式软件解决方案更新

上面的过程似乎已植入与硬件黑客相关的应用程序中!好吧,至少它的一部分。但是另一方面,该应用程序比上面的应用程序更具通用性,因为它似乎还可以处理NVidia卡,即:它用于禁用所有Mac中的所有离散CPU。

,,此应用是由dosdude1制作的,没有很好的文档记录。自述文件屏幕显示,它将设置NVRAM变量,移动所有图形加速驱动程序,然后安装启动守护程序以处理更新并确保该变量保持设置状态。

如果您已经按照上述步骤操作,则未经我的测试,也未得到我的认可!
但是,如果该程序在某个时候对您不起作用,或者似乎只是令人生畏,那么您可以尝试以下操作:

dosdude1:我编写的其他未公开文档的软件存储在这里:MacBook Pro dGPU Disabler.zip

您可能不得不再次查看上述过程,因为该应用程序似乎错过了改进热管理部分的功能(如果您通过移除晶体管来修改硬件,则很容易出现:混搭)。
如果有人对此进行了测试,请在此处通过评论或编辑提供反馈。


Easter更新2019:20美元解决方案,使用64位Windows计算机和Lattice HW-USBN-2A ICSP FPGA编程器将自定义固件应用于gMux IC。Dosdude1声称这是“完美”的解决方案,这意味着即使在HighSierra和Mojave的电池寿命,温度,亮度控制和唤醒/睡眠状态下也能按预期工作。使用该解决方案是永久性的,并且会使以上所有内容都过时。
但是,这种新解决方案不是免费的,并且需要Windows PC和编程器形式的硬件。以及目前暂时将几根导线焊接到逻辑板上。)


2
@Tarek奇怪。您似乎在上高山脉。我不知道他们最近是否进一步加大了力度。您是否有可引导的旧系统?在优胜美地,它始终有效;如上所述,在Sierra中(并且两种设置都会保留)。否则,我建议禁用SIP并重试一次(那么也许也可以通过正常启动吗?)。(省去那agc不是灾难性的,在发现这个技巧之前,我在Mac上运行了一个月没有发现它。改进仅从“一点”到“确定,几乎很棒”)。有...
LаngLаngС

6
经过几个月的尝试,使我的2011年底的17“ Mbps重返生活之地,我终于发现离散的GPU问题是罪魁祸首。老实说,@ LangLangC在我从事IT工作的所有年份中,我从未见过这样的问题对精心设计的解决方案进行逻辑编写的全面解释,带有无可否认的专家级细节,所有这些都是出于无私的帮助他人的愿望。我在恢复的MBP上键入此信息,尽管我知道您没有这样做是为了赚钱,你可能救了我几千,所以我会PM你,希望我可以通过Patreon你买啤酒等。非常感谢。
bobsmells

2
作为记录,从10.13.4开始,与AMD GPU相关的kext是:com.apple.kext.AMDLegacySupport(1.6.6),com.apple.kext.AMD6000Controller(1.6.6),com.apple.kext.AMDLegacyFramebuffer (1.6.6)和com.apple.kext.AMDRadeonX3000(1.6.6)。
肯德尔·李斯特

4
在2011年初运行Sierra的17英寸显示器上为我工作!外部显示器不起作用,但比巨型镇纸好!请注意(对于像我这样的菜鸟),您需要reboot在初始SIP禁用csrutil disable和gpu nvram更改后键入我不确定如何从恢复终端重新启动,并尝试强制关闭电源,但是SIP更改并未以这种方式持续存在
Will Buck

2
感谢您对我们心爱的2011 Mbps的所有可能解决方案的精彩汇编。我在High Sierra上使用nvram和kext删除方法恢复了死掉的笔记本,现在已更新为10.13.6。一切正常,笔记本电脑运行温度较低,亮度控制正常,睡眠也正常。今天,我以目标磁盘模式将Thunderbolt电缆连接到了另一台正常工作的Mac,但没有进行任何操作。将2011 Mbp重新启动为TDM,其他Mac上则没有。我觉得雷电数据连接是通过GPU进行的,因此断开了。与提到“结核病应该起作用”不同。现在将使用eGPU进行测试
Mayank

1

如果问题是您无法移动这些文件,则可能是系统完整性保护阻止了您。我假设您在El Capitan或Sierra上。

  • 关闭笔记本电脑。
  • 按Command + R,然后按电源按钮启动进入恢复模式。
  • 单击实用程序菜单,然后选择终端。
  • 输入csrutil disable并按回车键。
  • 关闭终端应用程序,然后退出恢复模式。
  • 现在尝试引导回单用户模式并尝试mv命令。

如果可以,请重新启用SIP:

  • 关闭笔记本电脑。
  • 按Command + R,然后按电源按钮启动进入恢复模式。
  • 单击实用程序菜单,然后选择终端。
  • 键入csrutil enable,然后按回车键。
  • 关闭终端应用程序,然后退出恢复模式。

@klanomath感谢您的快速回复。但是我唯一可以通过的模式是单用户模式。即使在Internet恢复模式下,它也可以在恢复模式下冻结。
加兹·马祖克

@GhaziMarzouk Snacking_IT回答了您的问题!我只是对其进行了一点编辑……
klanomath

@Snacking_IT 感谢您的快速回复。但是我唯一可以通过的模式是单用户模式。即使在Internet恢复模式下,它也以恢复模式
冻结

2
作为一个更新,在@LangLangC的回答中,我无法在步骤1.3和1.4期间在El Capitan上禁用SIP,因为“单用户恢复”仅将驱动器安装为只读。上面的方法(改为引导到恢复模式)确实有效,因此包含此信息非常有用。
Twitch_City

1

感谢这个回答https://apple.stackexchange.com/a/295805/300460,来自https://apple.stackexchange.com/users/251859/langlangc。上次2018年9月遇到此问题时,我遵循了它。但是,当我昨天在做OSX Security更新2019-003时再次遇到相同的问题时,我很难弄清楚第二次要执行的确切增量步骤。因此,请考虑完全放下那些可能第二次遇到此问题的用户的步骤。再次感谢langlangc的原创作品。

进行更新时,我使用的是OSX 10.13.6。

  1. 按住Cmd + S(Cmd + R将不会加载以显示白屏,langlangc并在单用户模式下重新启动。实际上,我曾要求我在2018年9月进行确认;但是由于我无权访问,因此我无法回复评论)
    • sh /force-iGPU-boot.sh
  2. 按住Cmd + r并在恢复模式下重新启动
    • 运行这些命令。实际上,我将它们放在一个小的脚本文件/force-iGPU-boot_without_sudo.sh中。
      csrutil disable nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 nvram boot-args="-v"
  3. 按住Cmd + s以单用户模式重新启动
    • 确保/System/Library/Extensions-off在备份后删除了现有文件夹
    • 运行这些命令。同样,我将它们放入一个小的脚本文件/move_out_amd_kext.sh /sbin/mount -uw / mkdir -p /System/Library/Extensions-off mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/ touch /System/Library/Extensions/
    • 输入 nvram boot-args="agc=0"
    • 输入reboot以正常启动它。

其他一切都应该按预期工作,就像您第一次使所有其他必要步骤工作一样。祝一切顺利。

更新2019年8月12日

我以前依靠@LangLangC建议的基于软件的解决方案。但是,八月份的最新更新发现进度条上挂着正常的启动。我可以通过安全启动模式,但是会发现屏幕经常闪烁。

更新2019年8月14日

当我在恢复模式下禁用SIP时,成功启动。我不记得我过去是否做过-但现在我想我可能已经做过。

我浪费了很多时间怀疑很多不同的原因-包括GPU问题变得更糟,或者10.13.6安全更新2019-004的潜在错误。

但是,现在我注意到即使有问题/System/Library/Extensions/AMDRadeonX3000.kext的地方,它这次还是启动了!!!

更新11 November 2019

AMD6000Controller.kext获得亮度控制权交还给照常工作是必要的。该kext必须存在于/System/Library/Extensions/


您能解释一下“第二次”的确切含义吗?上面看起来好像您在此过程中重置了NVRAM / PRAM。还是这确实是您在使用10.13的可破解工具并刚刚应用了最新的SecUpdate时所做的事情?(SecUpdate本身不应该采取任何措施使黑​​客本身无效,而应在错误的位置(对于该黑客)在错误的位置安装有效的AMD.kext,因此需要移动它。)还是从另一面来看:更新过程中是否重置了NVRAM?
LаngLаngС

我已经在10.13.6上进行工作了,该问题已在您回答后于2018年9月完成。然后昨天应用了安全更新,之后我再次陷入白屏。除非确实要按照您的说明修复安全更新后的白屏问题,否则我不会玩KEXT文件。仅使用步骤1(第一个单用户模式)无法解决问题,因此我不得不进入步骤2(恢复模式),随后又进入步骤3(再次为单用户模式)。
拉吉

我刚刚用最新的2019-005安全更新更新了High Sierra卷。进程栏在重新启动时卡住了,因此我等待风扇停止并以单用户模式手动重新启动我的MBP,然后按照您的指南进行操作。工作正常!但是有几个问题:为什么您必须在步骤2中重复NVRAM破解?它已经在/force-iGPU-boot.sh脚本中了吗?并且Extensions-off目录已经到位,我刚刚移动了新目录AMDRadeonX3000.kext并将其命名为AMDRadeonX3000v2.kext。好像最好保存和加载我猜想的@LangLangC指南中所述的原件。
aroom

1
@aroom上面重复了一些多余的步骤,没有什么害处,只是皮带和吊带方法。更新的关键是通过NVRAM可以正常工作的 X3000挂起引导。苹果经常会发运一个有缺陷的kext,该kext 取决于一个原始安装,所有delta都丢失了关键文件。(为了获得最佳结果,我们必须先将旧的kext转换到位,然后进行更新,然后再将其转换为Ext-off。)现在,Apple终于解决了这一问题,最好使用更新中的最新kext,使其与更新中的版本号匹配。禁用SIP后,只需将SafeMode和mv引导至Ext-off,即可删除以前的版本。
LаngLаngС
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.