无需硬件和外部 USB 的解决方案(仅命令)

无需硬件和外部 USB 的解决方案(仅命令)

我有一台 2011 年初的 MacBook Pro,它受到显卡(AMD 6490M 256MB)众所周知的问题的影响。 Apple 论坛主题

希望等待苹果更换计划我想禁用独立显卡并仅启用 i7 中的 Intel HD3000 芯片。

我已经能够通过在“单用户模式”下运行以下命令来访问系统:

$ mkdir /DisabledExtensions
$ mv /Library/Extensions/AMD* /DisabledExtensions/

之后 Mac 会在 Mavericks 中启动,但我没有图形加速无论如何,每个动画都很慢。我无法改变屏幕的亮度,颜色校准不同。在“设置>监视器”下显示计算机已连接到外接监视器。

我已经安装卡状态v2.2.1 显示我正在使用独立显卡,无法切换到集成显卡。尽管我可以看到已加载 HD3000 扩展:

$ kextstat |复制代码

110 0 0xffffff7f837dc000 0x62000 0x62000 com.apple.driver.AppleIntelHD3000Graphics (8.2.4) <84 11 7 5 4 3 1>

苹果客服表示,他们没有禁用独立显卡的“官方”程序。

以下是规格:
处理器:2 GHz 英特尔酷睿 i7
记忆:4 GB 1333 MHz DDR3
显卡: AMD Radeon HD 6490M 256 MB
软件:OS X 10.9.5 (13F34)

答案1

禁用 ATI/AMD 内核扩展将不是强制操作系统切换到英特尔集成显卡。这是所有修复/说明中的误解……它所做的只是运行独立芯片和后备驱动程序,没有图形加速。这类似于以前在 Windows 上看到“640x480 VGA”标准显示模式,每当它无法加载专有 GPU 驱动程序时。使用的是相同的 GPU,只是没有发挥其全部能力。

禁用 AMD/ATI 扩展后会发生以下情况:

  • 黑屏(无显示)问题通常已得到解决。
  • 但是没有图形加速。

  • 现有或新的图形缺陷(蓝色或粉红色条/线、锯齿状/无序图像、噪音等)将随着温度波动(在高温下运行 GPU、打开/关闭电源等)而出现,这可能是由于无铅焊料问题造成的。

  • 这些缺陷是在启动时出现的。

  • 内部 LCD 被视为外部显示器,只有一种可能的分辨率:最大显示分辨率(1440x900 或 1680x1050)。

  • 使用笔记本电脑时,LCD 会保持全亮度,合上盖子后不会关闭。这会随着时间的推移对屏幕造成物理损坏(不会花很长时间,几周就会损坏)。

  • 如果笔记本电脑盖在启动时关闭(在图像出现在笔记本电脑 LCD 上之前),则可以使用 Thunderbolt 外接显示器。

  • 仅识别一个显示设备,即笔记本电脑 LCD 或外接 Thunderbolt 显示器。使用外接显示器时,无法进行镜像或扩展。
  • 使用外接显示器时,笔记本电脑的 LCD 显示屏将保持关闭状态。

我知道的唯一触发集成显卡开关的方法是过热关机方法。

0(可选)。如果您可以使用 disable-kernel-extensions 方法显示该显示,请将您的帐户设置为自动登录。安装切换GPU或类似的工具来自动执行下面的第 3 步。

  1. 让 Macbook Pro 过热后放入毯子或封闭的袋子中,以强制自动关机。

  2. 立即将其重新打开。它应该使用集成显卡。

  3. 使用 gfxCardStatus 快速切换到集成显卡(在系统偏好设置/节能器中进行适当设置)。

这种方法的问题在于,每当您运行某些使用图形加速的应用程序时,操作系统都会切换到独立显卡。所以这不是一个永久的解决方案。

现实情况是,只要 GPU BGA 位于 RoHS 焊球之上,禁用内核扩展方法也会在某个时候开始失效。如果你已经放弃 Apple,唯一持久的解决方案就是用铅焊料重新焊上 GPU BGA。寻找一家了解温度曲线并遵循正确焊接技术的可靠重新焊球服务是另一个障碍。

更新:Louis Rossmann 指出,问题不在于电路板上的焊球,而在于 GPU 芯片内部更小的焊点(观看视频@1:04:重新整理死马:来自我的 YT 收件箱的问答。)。文中提到,实际问题可能会作为重新植球/回流焊过程的副作用而暂时得到解决,但唯一的永久解决方案是通过 Apple 更换 GPU,即更换整个主板。

仅供参考,苹果的替换程序于 2016 年 12 月 31 日结束。

答案2

无需硬件和外部 USB 的解决方案(仅命令)

我在客户的计算机上遇到了这个问题,我接受了,因为它似乎与我的 MBP 2010 mid 存在相同的问题(更换了一个小芯片,我为这个机箱买了更多),但它不是同一个机箱。

看了一些之后Louis Rossmann 关于此事的视频(这有点令人沮丧),不知怎的我发现这个 macrumors 论坛链接并尝试使用简单的方法(不使用 Arch Linux),然后我发现另一个链接以更简单的方式解释 macforum 评论中列出的最完整的程序(#875(今天上市的有 2634 家)。

因此,总结一下:创建一个完整的指南将包括:

  1. 禁用 AMD GPU移动一个 AMD kext,以便它不会在初始启动时加载自动重新加载(这样可以使你的系统更凉爽)这里
  2. 然后创建一个额外的文件,供 SMC/PRAM/NVRAM 重置时使用,如下所述此链接从它所说的地方开始未来使用的预防措施
  3. 最后但同样重要的是,避免合上盖子 - 睡眠 - 唤醒问题如上所述在这里(这意味着在步骤 2 中创建的文件中添加一行)。

一个额外的提示:我在运行命令时遇到了困难,sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh所以我所做的是,一旦我终于可以进入 MacOS,第一件事就是打开终端 (Launchpad/Others/Terminal) 并从那里运行命令 (它会询问用户的系统密码)。之后,就可以安全地关机,而不需要再次执行该过程。

完整命令列表:

为了避免将来无法挽救的损坏链接网站存档,为了让大家方便使用,我将在这里发布完整的命令列表,但不提供说明:

  1. 按住并打开笔记本电脑<Cmd>+<r>+<s>
  2. 进入命令行后:
    • 禁用 SIP 输入csrutil disable
    • 重启进入reboot
  3. 按住<Cmd>+<s>以启动单用户模式(一旦关闭并开始启动)
  4. 进入命令行后输入以下内容:
    • nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
    • nvram boot-args=”-v”(我相信它是可选的,将在启动时打开详细模式)
    • 重启进入reboot
  5. <Cmd>+<s>开机时按住
  6. 移动一个 AMD kext(以便它不会在初始启动时加载)在命令行中输入:
    • /sbin/mount -uw /
    • mkdir -p /System/Library/Extensions-bkup
    • mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-bkup/
    • touch /System/Library/Extensions/(我相信您现在可以运行一次 MacOS 并从终端继续使用sudo每个命令的开头)
    • mkdir -p /Library/LoginHook
    • nano /Library/LoginHook/LoadAMD.sh
  7. 在 nano 中,添加以下 4 行命令(包括步骤 3 的额外行):

    #!/bin/bash kextload /System/Library/Extensions-bkup/AMDRadeonX3000.kext sudo pmset -a force gpuswitch 0 exit 0

  8. 然后点击<Ctrl>+<x>保存(会要求按Y和保存Enter
  9. 在命令行中输入:
    • chmod a+x /Library/LoginHook/LoadAMD.sh(使其可执行)
    • defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadAMD.sh (这就是我尝试时遇到的麻烦单用户模式并且必须sudo在开始时使用 MacOS 终端运行它)
    • nano /force-iGPU-boot.sh(这是预防措施步骤 2)
  10. 在nano中,添加以下4行命令:

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

  11. 再次点击<Ctrl>+<x>保存(会要求按Y和保存Enter
  12. 在命令行中输入:
    • chmod a+x /force-iGPU-boot.sh(使其可执行)
    • reboot(如果你在单用户模式,如果不需要终端,只需exit
  13. 就这样!您应该能够正常重启并让它像往常一样休眠(YEI!)

如果你仍然有问题合上盖子 - 睡眠您可以尝试 MacRumors 论坛中提到的另外 2 个解决方案:

  1. https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix.2037591/page-50#post-25573439
  2. https://github.com/blackgate/AMDGPUWakeHandler

预防措施:

当你需要使用预防措施因为您的计算机卡在启动重启循环中(当 SMC/PRAM/NVRAM 被重置时,通常是由于操作系统更新),这个简单的步骤应该可以解决问题:

  1. 打开笔记本电脑电源并按住<Cmd>+<s>以启动到单用户模式
  2. 进入命令行后:
    • 挂载根分区可写:/sbin/mount -uw /
    • 执行预防文件:sh /force-iGPU-boot.sh
    • 最后输入以下命令重新启动机器:reboot
  3. 您的计算机应该可以正确重启。

希望这能继续帮助很多使用 2011 MBP 的人。作为一个庞大的团队共同努力是人类能做的最好的事情。

相关内容