Проблема с графическим процессором - загрузка зависает на сером экране

Я нашел это в соответствии с моей проблемой в этой теме:
загрузка зависает на сером экране (даже при загрузке с USB-накопителя с новой установкой OS X)

Мой MacBook Pro 15 дюймов в начале 2011 г. с AMD Radeon HD 6750M демонстрировал повреждение дисплея и связанные с ним сбои / сбросы системы в течение двух недель, прежде чем он полностью перестал загружаться. Загрузка проходила через серый экран с логотипом Apple и счетчиком, но как раз тогда, когда кажется, что он должен был переключиться на экран входа в систему, логотип Apple и счетчик исчезали и зависали на пустом сером экране.

Сначала я подозревал повреждение жесткого диска и пытался это исправить. Безуспешно я пробовал следующее, и каждое из них продолжало зависать, как описано выше:

Безопасная загрузка
Загрузка в режиме восстановления (включая восстановление через Интернет)
Загрузка с установочного носителя на USB-накопителе
Загрузка с установки OS X на USB-накопителе
Очистка NVRAM
Сброс SMC

Я также много раз запускал Apple Hardware Test, и он не обнаружил никаких проблем.

Подробная безопасная загрузка (Cmd+Shift+V) выводит все, что я ожидаю увидеть, но затем зависает, как описано выше.

Наткнувшись на другие сообщения в Интернете на дискуссионных форумах Apple о проблемах, связанных с графическим процессором, я пересмотрел это как причину:

MacBook Pro 2011 года и дискретная видеокарта или MacBook Pro 2011 года и дискретная видеокарта

Пытаясь загрузить Ubuntu с USB-накопителя, я смог добраться только до GRUB. При попытке загрузить Ubuntu Desktop или запустить графический тест в GRUB система зависала.

В этот момент запуск Apple Hardware Test завис прямо перед окончанием стандартного теста, возможно, [догадываясь] при выполнении видеотеста.

Основываясь на совете в сообщениях Apple Discussions выше, я сделал следующее:

Загрузитесь в однопользовательском режиме
. Выполните следующие команды:

/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, чтобы потребовать замены, поскольку большое количество отчетов других лиц, столкнувшихся с аналогичными проблемами, делает его похожим на повторение аналогичного сбоя, связанного с графическим процессором, который привел к отзыву.

Но когда я использую команду «mv», файлы не перемещаются (и не удаляются), и это показывает мне:
Sandbox deny(01) file-write-unlinked…

Любое решение?

@klanomath Да, в этом проблема. Случилось и с моим старым MBP (просто зеленоватый, а не серый экран).

Ответы (4)

Предыстория и пояснения

Пожалуйста, прочитайте весь этот пост хотя бы один раз от начала до конца, прежде чем предпринимать какие-либо действия.

Все MacBook Pro 2011 года выпуска имеют серьезный конструктивный дефект . Управление температурой и выделяемое тепло вместе с надежностью дискретных графических чипов AMD не очень хорошо сочетаются. Apple знала об этом и действовала как типичный Мыльный Смит , отреагировав на это только после возмущения. Этот скандал известен как RadeonGate. Только пригрозив коллективным иском, Apple наконец предложила так называемую «Программу продления ремонта» .

Программа Repair Extension больше недоступна . Единственный реальный способ решить эту проблему — заменить только чип AMD. Не логическая плата. Не "реболлинг", не "переплавка", не "запекание". Apple заменила неисправный чип неисправным чипом. Снова и снова. Только замена графического чипа по-прежнему является дорогостоящей аппаратной процедурой для такого винтажного ноутбука.

Единственный известный способ — то есть: только с программным обеспечением — заставить MacBook Pro 2011 года (8,2) с «только» неисправным графическим чипом AMD почти надежно снова включиться и загрузиться в macOS и быть вполне пригодным для использования с ускоренным графическим интерфейсом . это руководство или его вариант. Большинство предыдущих советов просто удалили все AMD-kexts, и это привело к ужасному пользовательскому опыту без ускорения графического интерфейса.

Необходимо знать точную версию вашей ОС. Следующее руководство будет проще для Yosemite, но предполагает использование El Capitan или новее. El Capitan, Sierra и High Sierra требуют отключения SIP (защита целостности системы). В предыдущих системах (10.6–10.10) эти шаги не нужны.

Важно: в этом руководстве также предполагается, что все кексты по-прежнему находятся в расположении по умолчанию /System/Library/Extensions. Наличие всех AMD-кекстов, кроме одного , полезно для «правильной» работы. Предыдущие взломы в этом направлении могли посоветовать вам переехать или, что еще хуже, удалить все расширения ядра AMD*/ATI*. Если это так: либо переместите кексты обратно в их расположение по умолчанию, либо переустановите систему по вашему выбору. Наличие большинства кекстов AMD на месте , а затем загрузка X3000-kext с задержкой позволит управлять питанием графического процессора, который в противном случае будет сжигать электричество впустую (и, кроме того, может ускорить окончательную тепловую смерть чипа). AMDRadeonX3000.kextПовторюсь: действительно должен отсутствовать только файлпри загрузке, чтобы обеспечить успешный запуск, но все остальные (необходимые) драйверы AMD должны находиться в своем расположении по умолчанию, а X3000-kext загружается после / с задержкой, чтобы вернуться в область почти разумного управления питанием и температурой.

Обход дискретного графического чипа

Чтобы вернуть некоторое ускорение отображения, необходимо заставить машину загружаться не с дискретной графикой (dGPU), а напрямую с интегрированной графикой (iGPU) и оставаться в этом режиме.

Загрузка в режиме dGPU по умолчанию используется на компьютерах Mac с двумя переключаемыми видеокартами. Приведенная ниже процедура установит переменную 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. уберите с пути только ОДИН оскорбительный текст:

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

  11. сообщите системе обновить свой kextcache:

    touch /System/Library/Extensions/

  12. перезагрузиться в обычном режиме:

Теперь у вас должен быть дисплей с ускорением iGPU, но система не знает, как управлять питанием неисправного чипа AMD. (В этом состоянии графический процессор всегда находится в режиме ожидания с относительно высокой мощностью, потребляя довольно много заряда батареи при отключении от сети и приводя к температуре графического процессора от 60 ° C и выше [в среднем 60-85 ° C], несмотря на то, что он не используется в других целях.)

Часть 2: улучшить управление температурой и питанием

Для улучшения управления питанием отключенного графического процессора вам необходимо либо вручную загрузить один важный кекс после загрузки, выполнив:

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 и повторное применение хака переменной, кажется, на время облегчают ситуацию. (Постоянные решения для этого приветствуются!) В качестве временных обходных путей вы можете попытаться избежать «сна с закрытием крышки», который, кажется, доставляет больше проблем, чем другие методы (Apple-Menu, Keyboard-Shorcut). Очевидные зависания при выключении обычно представляют собой просто очень длительные задержки, которые в конечном итоге завершатся чисто и успешно.
Ненаучная выборка предполагает, что Йосемити хуже всего подходит для этого, а Эль-Капитан и Сьерра вели себя в этом отношении гораздо лучше.

Ручная или иная отложенная загрузка этого важного расширения ядра позволяет системе немного лучше справляться с управлением питанием. Батарея будет использоваться меньше, а температура, исходящая от неиспользуемого графического процессора, упадет до диапазона значительно ниже 50°C (в среднем между 15-50°C).

Для правильного управления питанием минимальный набор загруженных кекстов находится при загрузке (версии для 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 останется «выключенным», может быть не лучшим подходом. Очистка NVRAM, где хранятся настройки SIP, может быть одним из таких непредвиденных нарушений.

Профилактические меры для будущего использования

Есть еще два предостережения, которые следует знать: Это обратимо при сбросе SMC/NVRAM. Если это произойдет, переменная GPU-power-pref 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

Эта установка теперь имеет один kext в месте, которого установщики Apple не ожидают. Вот почему в этом руководстве SIP не был повторно включен. Если должно произойти обновление, содержащее изменения в драйверах AMD, перед процессом обновления рекомендуется вернуть файл AMDRadeonX3000.kext в папку по умолчанию . В противном случае программа обновления запишет по крайней мере еще один kext другой версии в папку по умолчанию или, в худшем случае, вы получите неопределенное состояние частично несоответствующих драйверов.

После любого обновления системы необходимо проверить папку /System/Library/Extensions на наличие некорректного kext. Его присутствие там приведет, например, к зависанию загрузки на Yosemite и Sierra, перегреву boot-loop в High Sierra.

Обновление до High Sierra 10.13: с этим хаком почти просто: несмотря на применение обновления прошивки, процесс установки не должен затрагивать переменную NVRAM. В процессе установки также используется не полностью ускоренный чип AMD, а базовое ускорение, что не является проблемой для этого хака. Однако, как отмечалось в абзаце выше, первая загрузка системы, установка которой завершена, но процесс установки только начинается, приведет к циклу загрузки, вызванному перегревом/сбоем. Нарушающее работу расширение ядра необходимо снова переместить, как описано выше. (Начиная с шага 3) После перемещения kext все должно быть хорошо.

Важное уведомление о последних обновлениях от Apple:

Последние обновления для (High) Sierra снова ломают машину. Он обновляет прошивку, RecoveryPartition, похоже, отключает возможность загрузки в SingleUserRecoveryMode
и, в довершение всего, устанавливает — даже с DeltaUpdate — работающий AMDRadeonX3000.kext!
Без подготовки и только с машиной под рукой вы немного застрянете.

В случае, если SingleUserRecoveryMode ушел навсегда, используйте обычный RecoveryMode. Результаты те же, просто загрузка немного медленнее: описанная выше процедура по-прежнему действительна и выполняется быстрее для всех предыдущих версий Mac OS X/macOS.

Если вы обновляете до 10.13.6 или более поздней версии:
замените инструкции для SingleUserRecoveryMode ( Command+ r+ s) на обычный RecoveryMode ( Command+ r) и отключите SIP через терминал ( пример для этого конкретного варианта использования ).

Если вы обнаружите, что даже обычный RecoveryMode не работает
должным образом: Обходные пути для невозможности отключить SIP с помощью SingleUserRecovery:

  1. Сначала загрузитесь в однопользовательский режим восстановления. Редактирование csrutil не разрешено в этом режиме, но может установить свойство gpu-power-prefs nvram. В этом поможет перезагрузка машины в режиме восстановления. Затем вам нужно заменить инструкции для SingleUserRecoveryMode ( Command+ r+ s) на обычный RecoveryMode ( Command+ r) и отключить SIP через терминал ( пример для этого варианта использования ).

  2. Перед обновлением подготовьте загрузочный том. Это может быть внешний диск или флешка. Подойдет любая версия, которая загружает машину. Такой диск можно создать на другом Mac.
    Имейте в виду, что на внешнем диске AMDRadeonX3000.kext также должен быть (пере) перемещен. Попробуйте загрузиться с этого диска. Только если это работает должным образом, и вы можете смонтировать с ним свой внутренний диск: перезагрузитесь с внутреннего диска и продолжите обновление вашего внутреннего диска/системы до 10.13.6.
    После того, как обновление почти закончилось, зависнет одна перезагрузка. Принудительно завершите работу и перезагрузитесь с внешнего диска. Смонтируйте внутренний диск и переместите Radeon.kext. SIP защищает только загруженную систему.

  3. Предложено где-то в Интернете, но на самом деле это отчаянное предположение и непроверенное: вместо SingleUserRecoveryMode Cmdrsвы можете попробовать InternetRecoverySingleUserMode CmdOptrs. В качестве альтернативы, возможно, стоит попробовать проверить, работает ли SafeRecoveryMode CmdShiftr.

Графический режим восстановления тоже может не работать, как у меня. Однако в последней версии High Sierra по-прежнему можно загрузиться в однопользовательском режиме восстановления. Просто нужно хорошее время. Хитрость заключается в том, чтобы сначала включить режим восстановления, нажав cmd+R и сразу после того, как он будет распознан командой cmd+S для однопользовательского режима. Пользователь должен определить точный момент. Если одновременно нажать cmd+R+S, будет активирован только однопользовательский режим. Если сначала нажать cmd+R, а cmd+S нажать слишком поздно, загружается графический режим восстановления. – TAKeanice ↵

Клавиши яркости экрана не работают в High Sierra или Mojave?

Apple изменила способ обработки событий клавиатуры для изменения яркости экрана в High Sierra. С этим хаком клавиши могут быть бесполезными. Если это так: еще одна причина остаться с Sierra.

Но вы также можете прибегнуть к другому программному решению. Готовые приложения или приложения или расширения:

Рекомендуемая версия ОС

Этот хак был разработан для машин с Yosemite (10.10) и Sierra (10.12). Хорошо работается на тех.

Высокая Сьерра

High Sierra (10.13) тоже неплохо работает. И это последняя версия, «официально полностью поддерживаемая Apple». Ну раньше поддерживал. Он отлично работает с этим взломом, и вы можете снова включить SIP. Чтобы получить больше обновлений безопасности, вам нужно сделать еще один шаг:

Мохаве

В Mojave (10.14) процесс установки полностью не поддерживается Apple и становится намного сложнее:

  1. Вам нужно установить High Sierra один раз, чтобы получить обновления прошивки для поддержки загрузки APFS от Apple. (Альтернатива: часть руководства по патчу dosdude1 .)
  2. Вам необходимо выполнить процедуры, требуемые патчером dosdude1.
  3. Это означает доверять «этому парню».
  4. Требуется много перезагрузок.
  5. Настройка NVRAM, по-видимому, всегда теряется в процессе — повторно примените, как описано выше, после завершения процедуры исправления / установки. (Если вы видите странные цвета, например, на вкладках Safari после обновления до 10.14: AMD активен…, проверьте через системный отчет)
  6. Предупреждение: не следуйте рекомендациям dosdude1 по отключению графического процессора! — ; Как обычно, используйте тот, что выше (версия dosdude1 работает горячее…). Потому что, как только вы примете этот Франкен-статус «поддержки» от Apple, эту пропатченную ОС, SIP теперь отключен по необходимости (!), плюс обычные недостатки этого хака (например, более новые версии Safari убивают ваши любимые расширения…)
  7. Вам нужно будет иметь при себе внешний том / USB-накопитель с исправленным установщиком, иначе ваша машина может перестать загружаться из-за обновлений от Apple…
  8. Mojave в настоящее время является лучшей рабочей ОС (IMO) для этой машины. Попробуйте.

Чтобы избежать сбоев/зависаний/загрузочных циклов, которые никогда не являются хорошей идеей для вашей файловой системы, при новой установке или обновлении: обязательно следите за процессом установки и всегда загружайтесь в SafeMode (удерживайте Shiftнажатой во время загрузки, пока не появится kext перемещен в безопасное место – установка в SafeMode должна пройти нормально.

Заключительные замечания и рекомендации

Далее: этот ноутбук перегревается, что бы вы ни делали. Система охлаждения неадекватная и огромное количество вышедших из строя чипов AMD тому подтверждение.

Чтобы продлить жизнь этой ныне взломанной машине, рекомендуется воздерживаться от подъема действительно тяжелых грузов в течение длительного периода времени. Строго следуйте обычным рекомендациям для ноутбуков: используйте на твердых поверхностях, держите в чистоте вентиляторы и ребра внутри. Также должно помочь использование любого программного обеспечения для управления вентиляторами с относительно агрессивными настройками: например , smcFanControl , MacsFanControl или TGPro (оба коммерческие).

Отказ от ответственности: вся эта процедура не является волшебной палочкой. Состояние отказа для этих чипов не предсказуемо на 100%. У очень немногих пользователей возникают проблемы даже с этим взломом: могут быть проблемы с перезагрузкой, засыпанием или правильным пробуждением, большинство из них исходят от пользователей с Yosemite, меньше всего проблем с Sierra. В этих случаях иногда кажется необходимым не использовать AMDRadeonX3000.kext и, следовательно, не использовать LoginHook из части 3. (Но см. дополнительное примечание под *1 выше.) Пользователи High Sierra сообщают о проблемах с настройкой подсветки своих дисплеев.

В некоторых случаях, даже со всеми этими мерами, кажется, что все еще работающий порт Thunderbolt будет вызывать некоторые проблемы, если какие-либо периферийные устройства подключены и активны, когда машина переходит в спящий режим. После того, как это произойдет, любой последующий цикл сна может быть затронут, и снова потребуется сброс NVRAM с последующим танцем настройки переменных, описанным выше. В таких случаях представляется целесообразным либо предотвратить переход компьютера в спящий режим, либо отключить какое-либо оборудование от порта Thunderbolt, прежде чем переводить компьютер в спящий режим.

В пределах ограничений, изложенных в начале этого ответа: большинство пользователей сообщают о полном успехе.


Аппаратные моды/хаки

Сейчас доступно несколько способов, некоторые плохие, некоторые хорошие.

Плохое решение: очень дешевая аппаратная модификация доступна в/от RealMacMods: хотя они используют относительно сложный способ установки необходимой переменной EFI в Linux, следующее преимущество заключается в полном отключении напряжения ядра от dGPU за счет удаления всего одного крошечного резистора. ! (Фотографии по ссылке)

При этой перезагрузке важно один раз загрузиться в безопасном режиме (удерживать Shift во время загрузки), а затем выбрать в меню выключение (не перезапуск).
Выполните эту безопасную загрузку с установленным резистором R8911. Без этой SAFE BOOT следующие шаги могут не сработать.
Не делайте больше ботинок, пока не выполните следующие шаги.
Безопасная загрузка очищает настройки графического процессора на уровне ОС, что может помешать следующему процессу.
Теперь это приведет к тому, что ваш MacBook Pro перестанет автоматически переключаться на Radeon, но он по-прежнему будет потреблять энергию, выделять тепло и быть видимым для ОС.
Мы обнаружили, что простое удаление 1 резистора решит эту проблему.
Резистор также можно заменить переключателем на тот случай, если вам по какой-либо причине понадобится снова включить Radeon.
Расположение этого резистора зависит от модели платы логики.
Рассматриваемый резистор R8911 на 17-дюймовом MBP и R8911 на 15-дюймовом MBP резистор 1 Ом, который обеспечивает ток к преобразователю постоянного тока ISL6263C.
Этот резистор управляет питанием регулятора напряжения, который обеспечивает напряжение ядра графического процессора Radeon. Проще говоря, нет напряжения ядра, нет GPU. Вы найдете резистор справа от охлаждающего вентилятора (в указанной выше ориентации). Он будет рядом с микросхемой преобразователя напряжения ISL. Это чип, который мы будем отключать.
Просто удалите его. Предпочтительным методом является профессиональная станция оплавления, но утюг и твердая рука помогут вам в этом. Если вы использовали флюс для его удаления (не требуется), убедитесь, что вы очистили его небольшим количеством спирта или другого подходящего растворителя.
Это в основном все. При следующей загрузке вы заметите, что проблема с дефектом графического процессора исчезла, и вы больше не будете видеть графический процессор AMD в качестве установленного оборудования.

Я не проверял это, но это должно устранить необходимость заботиться о кекстах, а также решить любые проблемы, связанные со сном, пробуждением, гибернацией, перезагрузкой и т. д.
Предостережение для рассмотрения этого метода: поскольку он также, похоже, полагается на установку этой переменной NVRAM. Вероятно, абсолютно необходимо иметь полностью автоматизированный метод для установки этой переменной без какого-либо вмешательства пользователя. (Как Linux-флешка, которая вносит необходимые изменения). В противном случае сброс NVRAM может практически заблокировать машину. Производитель предлагает защититься от случайного сброса NVRAM с помощью пароля и, если сброс был сделан, вызвать их для «процедуры».

Если укусить этим методом, в конечном итоге просто черный экран: кажется возможным удаленный доступ к машине с помощью VNC или ssh, поэтому, если они настроены заранее, это может быть не таким уж плохим вариантом, в конце концов, поскольку переменная nvram может Ставка установлена ​​таким образом. Помните: непроверенная интернет-история.

Постоянное, надежное и дешевое аппаратное решение!

Dosdude1 нашел решение, которое выглядит как святой Грааль для этой проблемы: постоянное отключение 15-дюймового/17-дюймового MacBook Pro 2011 выделенного графического процессора — gMux IC Bypass

  • Вариант A, который будет подробно описан ниже, заключается в жестком подключении выходных линий LVDS от выходных линий встроенной графики LVDS напрямую к линиям, соединяющим дисплей.
  • Вариант Б — перепрограммировать микросхему gMux (которая представляет собой просто микроконтроллер Lattice LFXP2) с помощью специальной прошивки для отключения функции переключения графического процессора. Я могу поэкспериментировать с этим в будущем, но для этого требуется специальное оборудование, которого у меня нет. Хотя, конечно, это было бы оптимальным решением.

Это почти легко. Все, что нужно, это провода разной длины . Для ознакомления: на ютубе.изображение

«Плохое решение» выше теперь превращается в почти профессиональное и готовое аппаратное решение, устраняя предыдущую «плохость» этого подхода:

Тиресиас (убийца графических процессоров): Тиресиас — это небольшая плата, которую можно припаять к материнской плате моделей MacBook Pro 15 или 17 дюймов 2011 года (ранние или поздние).
Это все модели с материнской платой 820-2914-A, 820-2914-B, 820-2915-A или 820-2915-B.
Плата 820-2914 и 820-2915 имеет два графических процессора. Внутренний (Intel) GPU, который является частью PCH, и внешний (дискретный) AMD GPU. Это внешний графический процессор, который выходит из строя в «небольшом проценте систем MacBook Pro» (Apple говорит: «очень многие»). Tiresias записывает переменную nvram 'gpu-power-prefs' в ПЗУ, чтобы Mac больше не использовал (мертвый) внешний (дискретный) графический процессор AMD. Если пользователь очистит NVRAM (PRAM), проблем не возникнет, так как Tiresias снова запишет запись, и Mac снова заработает.

Это делает его идеальным решением для восстановления 820-2914 или 820-2915 с мертвым графическим процессором. Установка проста (нет проводов для пайки). Вам нужно будет установить очень маленькую плату на материнскую плату. Опытный специалист может сделать это за считанные минуты. Кроме этого R8911 следует удалить, чтобы отключить питание неисправного графического процессора. Это экономит энергию, выделяя меньше тепла и продлевая срок службы батареи. Удаление R8911 также предотвращает запутывание Mac из-за неисправного графического процессора, потому что даже при выключенном графическом процессоре он все равно будет пытаться общаться с мертвым графическим процессором. В зависимости от того, какие внутренние контакты в графическом процессоре разорваны, это может привести к сбоям или даже к сбою Mac.
Также поддерживается Mac OS X 10.13 High Sierra. Чтобы решить проблему с подсветкой, которая не включается после сна, также удалите R9704 и подключите контакт 2 R9704 к контакту 1 C9711.

OS X 10.6 - 10.12 (Sierra)
Ползунок подсветки (в Системных настройках) и клавиши подсветки (F1 и F2) работают. Система сна работает. Видеовыход через порт Thunderbolt не работает, но все остальные функции порта Thunderbolt работают.

OS X 10.13 (High Sierra)
Насколько нам известно, 10.13 (High Sierra) не имеет преимуществ перед 10.12 (Sierra). Apple полностью переделала видеодрайверы в High Sierra и, похоже, напортачила. Управление подсветкой не работает. И что еще хуже, после того, как машина выходит из спящего режима, подсветка вообще не включается.
Чтобы решить проблему с подсветкой, которая не включается после сна, удалите R9704 и подключите контакт 2 R9704 к контакту 1 C9711. Это установит полную яркость подсветки. Недостатком является то, что с этой модификацией яркость также будет на полной яркости со старыми ОС.
Tiresias для 820-2915 (15 дюймов) Количество один (1) Включая доставку (по всему миру) 60 евро.

изображение изображение изображение


Обновление универсального программного решения

Этот хак, кажется, был частично использован в приложении, связанном с аппаратным хаком! С одной стороны, это приложение более универсально, чем решение выше, так как оно, по-видимому, также работает с картами NVidia, то есть оно предназначено для отключения всех дискретных процессоров на всех компьютерах Mac.

Увы, это приложение от dosdude1 плохо документировано. В файле readme говорится, что он установит переменную NVRAM, переместит все драйверы графического ускорения, а затем установит демон запуска для обработки обновлений и обеспечения того, чтобы переменная оставалась установленной.

Не проверено и не одобрено — если вы уже следовали описанной выше процедуре!
Но если приведенный выше хак в какой-то момент не сработал для вас или кажется просто пугающим для начала, вы можете попробовать это:

dosdude1: Другое недокументированное программное обеспечение, которое я написал, хранится здесь: MacBook Pro dGPU Disabler.zip

Возможно, вам придется снова изучить описанную выше процедуру, поскольку приложение, похоже, упускает возможность улучшить часть управления температурой (если вы модифицируете аппаратное обеспечение, удалив транзистор, это становится настроением: смешивайте и сочетайте).
Если кто-то проверит это, пожалуйста, дайте отзыв здесь через комментарии или редактирование.


Обновление 2019: решение за 20 долларов , в котором используется 64-битный компьютер с Windows и программатор Lattice HW-USBN-2A ICSP FPGA для применения пользовательской прошивки к микросхеме gMux. Dosdude1 утверждает, что это «идеальное» решение, а это означает, что даже в HighSierra и Mojave время автономной работы, температура, регулировка яркости и режим пробуждения/сна работают должным образом. Использование этого решения является постоянным и делает все вышеперечисленное устаревшим.
Но это новое решение не бесплатное и требует оборудования в виде ПК с Windows и программатора); а также в настоящее время временно припаиваем несколько проводов к материнской плате.)

[Обновление, июнь 2020 г.]: этот gMUX Bypass со встроенным управлением яркостью является более дешевой (с открытым исходным кодом) версией аппаратного взлома Dosdude1. GitHub: gMUXBypass

«но система не знает, как управлять питанием неисправного чипа AMD». Что это значит?
@natario Из многочисленных отчетов и личного опыта: kext вообще не загружается = GPU работает на холостом ходу при hipower-> ~ 60-85 ° C; отложенная загрузка kext=управление питанием активно, экономит батарею и температуру->~15-50°C.
Спасибо. На самом деле я уже удалил все кексты AMD. Но я могу загрузить их все при загрузке, верно?
Собственно, какой смысл их удалять, если мы и так просили загружаться с интегрированным GPU? Я думал, что причина этого заключалась в том, чтобы не позволить ему использовать дискретный графический процессор в обычном режиме работы. Но если вы предлагаете их заново добавить при загрузке, то моя мысль уже не имеет особого смысла
В теории. Они каким-то образом взаимозависимы в определенной степени. Действительно лучше позволить системе выбирать их для себя, т.е. иметь все готовые на случай, если они загружаются динамически, для обновлений и т.д. За исключением X3000. Для управления питанием нужны драйвера, но слишком ранняя загрузка X3000 зависает.
Я понимаю. В вашем ответе не на 100% ясно, когда вы говорите «кроме одного», «только один», что вы имеете в виду конкретный X3000, а не «один из кекстов AMD» в целом, вы можете отредактировать это. Спасибо, отличный ответ.
Большое спасибо за этот ответ. У моего ноутбука снова возникла эта проблема (материнская плата менялась 4 раза). У меня не было никаких зависаний при загрузке или во время использования с момента применения этого хака (на 10.11.6) , но я заметил, что компьютер больше не засыпает должным образом, когда я закрываю крышку. Вместо этого кажется, что весь компьютер выключается. Любые идеи, почему это может быть?
@Twitch_City Знайте эту проблему. Нет реального исправления, но см. обновленный ответ (*1). // Попробуйте еще раз сбросить SMC и просто повторно примените переменную. Если это не удается: усыпите его с помощью команды и избегайте крышки до того, как начнет мигать индикатор сна. Обновите до 10.12. Если ничего не помогает: держите высокие температуры и X3000kext.
Интересно, спасибо за быстрый ответ. Это странное поведение - похоже, это происходит, когда я использую закрытие крышки и когда я использую пункт меню Apple, чтобы заснуть. Дисплей выключается, и компьютер переходит в спящий режим примерно через 30 секунд. Он засыпает (мигает свет) и пытается проснуться (клавиатура загорается, мигание прекращается), но дисплей отказывается включаться.
Поэтому я возился со сценарием LoadX3000.sh, и комментирование строки gpuswitch не повлияло на режим сна. Если я не загружаю скрипт при загрузке, компьютер может спать и просыпаться как обычно. Если я загружаю сценарий вручную после загрузки, ноутбук просыпается (включается экран), но затем зависает до перезагрузки. Думаю, я буду держать температуру на высоком уровне, пока не смогу выкроить время для обновления ОС.
Работал над MacBook Pro в начале 2011 года, который заменил четвертую видеокарту/материнскую плату — спасибо!
Я уже обновился до High Sierra до моей последней проблемы, и я не заметил каких-либо постоянных проблем, связанных со сном и пробуждением MacBook Pro. Тем не менее, было несколько раз, когда я открывал его, и казалось, что он загружается с нуля, но я связываю это с полной разрядкой аккумулятора, пока он оставался в спящем режиме. Я постараюсь уделить этому больше внимания и сообщу здесь, если замечу что-нибудь важное.
Как с загруженным X3000 kext, так и без него, я видел только температуру графического процессора 50-60 градусов в зависимости от нагрузки. Я основываю это на показаниях iStat Menus в разделе [GPU Die — Analog]. Это было даже при температуре ядра процессора до 99 градусов этим вечером при импорте фотографий в Lightroom (в то время был загружен X3000 kext). У меня также не было проблем со сном и пробуждением, независимо от того, как я сплю, закрываю ли крышку или использую команду меню.
@LangLangC Когда я пишу nvram boot-args="-v agc=0", я получаю сообщение sandboxviolation: nvram - разрешить (0). Это нормально?
@Tarek Да, увы, это нормально. Вам нужно либо отключить SIP, либо запустить его из RecoveryMode. Настройка будет придерживаться оттуда. – Честно говоря, стоит уточнить в ответе? Если вы получаете нарушение, вы, кажется, не в SingleUserRecovery (Восстановление жизненно важно в инструкции выше). Или вы получаете это в RecoveryMode? Это было бы ново (=ненормально).
@LangLangC Я получаю это в режиме SingleUserRecovery.
@ Тарек Странный. Вы, кажется, находитесь на Высокой Сьерре. Я не знаю, ужесточили ли они это в последнее время. У вас есть старая загрузочная система? Из Йосемити работает всегда; в Сьерре как описано выше (и из обоих сеттинг прилипнет). В противном случае я бы предложил отключить SIP и попробовать еще раз (тогда, возможно, и при обычной загрузке?). (Отсутствие agcне является катастрофическим, я запускал Mac в течение месяца без него, прежде чем нашел этот трюк. Улучшение варьируется только от «немного» до «ОК, почти отлично»). там…
Просто было немного беспорядка при обновлении до 10.13.4, и я застрял в цикле загрузки, но тщательное применение шагов инструкции здесь снова разобралось для меня. Первоначально после исправления цикла загрузки моя док-станция больше не была прозрачной, но после повторного применения она стала хорошей nvram boot-args="-v agc=0"- не совсем уверен, что это сделало это, или просто еще одна перезагрузка.
После пары месяцев попыток вернуть мой 17-дюймовый MBP конца 2011 года обратно в страну живых, я наконец обнаружил, что виновником была проблема с дискретным графическим процессором. Честно говоря, @LangLangC за все мои годы в ИТ, я никогда не видел такого логически написанное и исчерпывающее объяснение хорошо продуманного решения, с бесспорно экспертным уровнем детализации.И все из альтруистического желания помочь другим.Я печатаю это на своем возрожденном ПМБ, и хотя я знаю, что вы не сделайте это, чтобы заработать деньги, вы сэкономили мне потенциально тысячи, поэтому я напишу вам в личку в надежде, что смогу купить вам пиво через Patreon и т. д. Большое спасибо.
Для справки: по состоянию на 10.13.4 кексты, относящиеся к графическим процессорам AMD, следующие: 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).
Во-первых, большое спасибо за это прекрасное руководство, оно действительно помогло! Re: «Очевидные зависания при выключении обычно представляют собой просто очень длительные задержки, которые в конечном итоге завершатся чисто и успешно». В моем случае машина не смогла завершить работу (пытался оставить ее в «состоянии выключения» на всю ночь, никогда не было), что меня беспокоило, что мне приходилось все время принудительно выключать. Закомментировав строку kextload /System/Library/Extensions-off/AMDRadeonX3000.kext, я теперь могу снова нормально завершить работу на Yosemite. Если я в конечном итоге обновлю ОС, я попытаюсь включить эту строку и попробовать еще раз.
Работал у меня на mbp 15inch High Sierra начала 2011 года! Вы спасатель!
Просто сообщаю, что обновление 10.13.5 не позволило мне загрузиться, а описанная выше процедура позволила мне восстановиться как обычно. Моя док-станция снова стала непрозрачной (как это было после обновления 10.13.4), но снова стала полупрозрачной после перезагрузки — предположительно, такое поведение связано с отсутствием загрузки com.apple.kext.AMDRadeonX3000 при первой загрузке после повторного применения этого исправить.
Работал для меня на 17-дюймовом начале 2011 года под управлением Sierra! Внешний дисплей не работает, но лучше, чем гигантское пресс-папье! Обратите внимание (для таких нубов, как я), вам нужно печатать rebootпосле первоначального отключения SIP csrutil disableи после изменения gpu nvram в восстановлении Я не был уверен, как перезагрузиться с терминала восстановления, и попытался выключить питание, но изменение SIP не сохранилось таким образом.
Вау, это совершенно невероятно. Мой макбук был кирпичом, пока я не сделал все это. Спасибо огромное! Не очень хорошо работает.
После обновления программного обеспечения High Sierra 10.13.6 невозможно запустить однопользовательское восстановление, нажав cmd-RS, так как он просто переходит в однопользовательский режим, что делает невозможным отключение SIP. Кто-нибудь знает, как загрузиться в режиме однопользовательского восстановления в последних версиях?
@LucaBonavita Если это действительно так, вы должны задать это как отдельный вопрос здесь. – В вашем текущем случае: просто используйте обычный режим SingleUser (Cmd+s) или RecoveryMode (Cmd-R), а затем введите команды в терминале с графическим интерфейсом. Это работает, просто это намного медленнее, чем описанный выше метод.
@LangLangC спасибо. Проблема в том, что cmd-R пытается открыть графический интерфейс, что в данном случае невозможно увидеть, так как видеокарта сломана (у меня синий экран), а с cmd-S (однопользовательская) пишет «Включение и отключение служб не поддерживается в однопользовательском режиме», и если вы попытаетесь отключить csrutil, он ответит: «csrutil: не удалось изменить конфигурацию целостности системы. Этот инструмент необходимо запускать из ОС восстановления», поэтому я застрял там.
Спросил на apple.stackexchange.com/questions/332587/… , чтобы уменьшить шум здесь.
Спасибо за эту замечательную подборку всех возможных решений для нашего любимого 2011 mbp. Я воскресил свой мертвый ноутбук с помощью метода удаления nvram и kext на High Sierra, который теперь обновлен до 10.13.6. Все работает как надо, ноутбук работает теплее, регулировка яркости работает нормально, сон тоже работает нормально. Сегодня я подключил кабель Thunderbolt к другому рабочему Mac в режиме целевого диска, но ничего. Перезагрузил mbp 2011 в TDM, ничего на другом Mac. Я чувствую, что соединение для передачи данных Thunderbolt осуществляется через графический процессор, поэтому оно прервано. В отличие от некоторых упоминаний о том, что «туберкулез должен работать». Сейчас протестирую с eGPU
Спасибо! Только что восстановил свой MacBook Pro (17 дюймов, начало 2011 г.) (MacBookPro8,3) под управлением High Sierra 10.13.6. MacBook уже работает на второй материнской плате/графическом процессоре, а первая вышла из строя как раз в тот момент, когда началась программа замены. Заказал ноутбук на замену сейчас, но пока он не прибудет, с этим исправлением все работает нормально.
@Raj Спасибо за ваше редактирование. Я только что сделал этот хак с обычным Recovery на машине 10.13.6 без переменной nvram и без проблем. Можете ли вы подтвердить, что независимо от того, что вы пытались, вы застряли на белом экране с помощью cmd + r без установленной переменной nvram?
БОЛЬШОЕ СПАСИБО ЗА ТОЧНУЮ РУКОВОДСТВО. ПРЕВОСХОДНО, это работает, хотя, как упоминается, иногда зависает выключение, но это всего лишь небольшая проблема ... Что касается аппаратного решения, я пропускаю еще одно предложение: я имею в виду, если кто-то уже возится с микроэлектроникой и постоянно отключает dGPU, он / она также можно было бы переварить графический чип к плате (потому что в большинстве случаев дело не в том, что dGPU умирает, а в том, что соединения перегреваются и тормозят). Но если dGPU умер, его также может заменить тот же человек и приварить новый к материнской плате.
Небольшое замечание: обновление безопасности 2018-003 сломало мой MacBook Pro 10.13.6, и мне пришлось повторить этот процесс здесь снова.
Я считаю, что комментарий @WillBuck должен быть включен в ответ. А именно, после '''csrutil disable''' нужно ввести '''reboot''', а затем удерживать нажатыми Cmd+r+s, чтобы перезагрузка происходила в однопользовательском режиме восстановления. В противном случае на шаге 9 выдается ошибка «Операция не разрешена».
@LangLangC СПАСИБО за такое полное руководство по спасению MBP. Пара вещей: 1. Как @Tarek, я получил SandboxViolation: nvram(3) - allow(0)ошибку, но я на 10.12.6, в однопользовательском режиме восстановления и csrutil statusдействительно говорю, что он отключен. Любая подсказка? —— 2. Теперь я все время в подробных сообщениях (как установлено в args) — безопасно отключить это?
@Joan Verbose «безопасно» отключать. («Вкл.» = легче обнаружить зависания и их причины при загрузке, на ваш выбор) / «Нарушение»: попробуйте из обычного Recovery. Это тоже должно работать, только медленнее… (или не включать agc — его эффект невелик)
Некоторое время я был на 10.13.6, но сегодня перестал использовать клавиши регулировки яркости. Выполнение этого процесса в полном объеме снова восстановило их, о чем @MayankChandak также сообщил выше. Я не могу сказать, какое событие привело к тому, что они не работали, когда они были, но я публикую эту новость на случай, если она поможет кому-то еще. Для справки, мой MBP 2011 года на 10.13.6 больше не разрешает SingleUserRecovery, но Терминал через графический режим восстановления по-прежнему позволяет отключать SIP через csrutil disable.
Графический режим восстановления тоже может не работать, как у меня. Однако в последней версии High Sierra по-прежнему можно загрузиться в однопользовательском режиме восстановления. Просто нужно хорошее время. Хитрость заключается в том, чтобы сначала включить режим восстановления, нажав cmd+R и сразу после того, как он будет распознан командой cmd+S для однопользовательского режима. Пользователь должен определить точный момент. Если одновременно нажать cmd+R+S, будет активирован только однопользовательский режим. Если сначала нажать cmd+R, а cmd+S нажать слишком поздно, загружается графический режим восстановления.
@KendallLister Еще одно недавнее открытие: я могу успешно запустить eGPU TB3 с MBP 2011 года даже после отказа dGPU.
@LangLangC Доволен этим уже несколько месяцев. Просто проблема, которая возникает все более и более регулярно: при пробуждении от сна включается подсветка клавиатуры, но не экрана, и он сам перезагружается через некоторое время (если я не насильно). Может ли это быть связано с тем, что agc не меняется (#comment457154_295805)? И, может быть, обновление macOS, которое я до сих пор игнорировал, может это исправить? — Еще раз большое спасибо.
@joan Установка agc = 0 - это небольшое улучшение по сравнению со всеми остальными. Но основной причиной проблем с пробуждением является переход в спящий режим с подключенными кабелями (особенно Thunderbolt) и спящий режим, запускаемый аппаратно. Чтобы избежать этого, отключите TB от сети перед сном и старайтесь всегда использовать программное обеспечение (AppleMenu) для запуска сна (не закрывайте крышку, подождите, пока он не начнет храпеть). Небольшое временное исправление 4you теперь сбрасывает SMC и NVRAM, начиная с этого руководства (но только снова устанавливая переменную NVRAM + agc; остальное на месте / не забудьте установить загрузочный диск в SysPrefs). Не идеально, но на некоторое время уменьшает проблемы.
@LangLangC У меня такое же поведение, как у Джоан, когда я открываю крышку после сна, то есть подсветка клавиатуры включается, а экрана нет. Удерживая кнопку питания, чтобы принудительно выключить MacBook Pro, а затем перезапустить, я получаю предупреждение об ошибке с подробностями: «Паника графического процессора: mux-regs 2 3 7f 0 0 0 серьезность 3 WS-ready 1 switch- состояние 0 IG FB 1 EG FB 0:0 power-state 4 3D idle HDA idle system-state 2 power-level 20:20 connect-change 0 : UH eHlPH E0L H(L @ H HH : GPU не найден. Конфигурация PCI не удается получить доступ !!!» Я публикую это на случай, если это поможет еще больше улучшить это решение.
Недавно я столкнулся с той же проблемой, которую объяснили @Joan и Kendall. Я не обновлял свой Mac в последнее время, и я не совсем уверен, что вызвало это.
@LangLangC, есть ли у вас какие-либо предложения по установке диска APFS только для чтения?
Мне нужно было удалить AMD6000Controller.kext, чтобы заставить его работать
Спасибо огромное ! Мой небольшой вклад: у меня также была проблема с выключением (Sierra, черный экран и отсутствие выключения), и я исправил ее, просто перезагрузив компьютер один раз в безопасном режиме (клавиша SHIFT при перезагрузке). Затем выключение снова сработало!
Большое спасибо за это полезное и подробное объяснение, которое (на данный момент) вернуло к жизни мой MacBook Pro! Вопрос, который у меня был связан с использованием SMCFacnControl. По какой-то причине настройки не сохраняются даже после заполнения данных пароля администратора при сохранении изменений. Также не запускается приложение при запуске. Любая помощь в этом будет оценена по достоинству.
Итак, какое из этих решений снова активирует мой порт HDMI, чтобы я мог подключить внешний монитор?
Шаг № 4 застрял у меня сейчас ... потому что я получил csrutil: не удалось изменить конфигурацию целостности системы. Этот инструмент необходимо запускать из Recovery OS.
@jeand'arme К сожалению, ни один из них. Отключение графического процессора также отключает внешние графические порты. Единственным решением для вас было бы заплатить за замену чипа AMD. На этой неделе мастерская по ремонту Mac назвала мне 150 долларов, что я считаю очень разумным.
Спасибо! Это здорово, как раз собирался выбросить полотенце с этим MAC. У меня есть немного другой подход ко всему этому, который, кажется, работает, по крайней мере, изначально. Я отключил sip и использовал 'sudo nvram boot-args="-v"' и 'sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00' из одного пользовательском режиме, а затем загрузите мой Mac в «безопасном» режиме, удерживая нажатой клавишу Shift. Не уверен, что еще я теряю в безопасном режиме, но все, кроме внешнего дисплея, теперь работает. Конечно, чип Intel медленнее, чем Radeon.
@AndrewAtrens В SafeMode вы теряете все графическое ускорение, даже Intel. Попробуйте загрузиться в обычном режиме после завершения всего этого процесса и будете приятно удивлены тем, что ускоренный IntelGPU работает довольно хорошо. (То, с этим хаком ваш внешний дисплей исчезнет)
Комментарий к обновлению за июнь 2020 года, который ссылается на advancedreworks.com/forum/showthread.php/… , похоже, возвращает страницу 404 без архива Wayback Machine. Кто-нибудь знает, что это было в связи с?
@TSGM Черт возьми. Думал, что заархивировал страницу на .org… Но это известная проблема: github.com/ayilm1/gMUXBypass/issues/1
Нельзя ли выполнить шаги 7-12 в однопользовательском режиме восстановления (вместе с материалом LoginHook), изменив файлы, доступные в /Volumes/Your-HD-name/, без необходимости перезагрузки в однопользовательском режиме?
Как будут работать такие вещи, как loginhook, если вы используете Bootcamp и загружаетесь в Windows?
@ j-beda да, некоторые шаги в руководстве можно комбинировать. Если вы знаете, что делаете. Я только что сделал это, и это работает.
@LаngLаngС Привет, спасибо за это. Действительно. Следующий вопрос: как вы думаете, это долгосрочное решение (с известными компромиссами, такими как отсутствие внешнего монитора и т. д.)?
@MayankChandak Привет, Mayank, Какой eGPU вы используете, есть рекомендации? Все еще работает подключение к внешнему монитору через порт TB?
@Yogesch Sonnet eGPU с RX 580. Порт TB работает только как порт TB, а не как порт дисплея
Я получил два MacBook Pro летом 2011 года (если бы я только знал, что нужно просто ждать гораздо лучшего 2012 года!!). У обоих были проблемы с графическим процессором, и Apple заменила материнские платы, но проблемы с графическим процессором вернулись в течение 2 месяцев. В одном из ноутбуков снова заменили материнскую плату. После этого я установил gfxCardStatus и каждый раз после загрузки выбирал «Только интегрированный» и относился к нему как к пожилому гражданину. Но 1 января 2021 года появился зловещий зеленый столбик, когда мне нужно было перенести 2500 фотографий с айфона. Я бы хотел, чтобы Apple возместила нам всю боль, и замена ничего не исправила.
@HaoQiLi Да, здесь почти такая же история. Поведение Apple успешно убедило меня больше не использовать Mac после 10 лет использования Mac в качестве основного устройства.
У меня были проблемы с переходом в однопользовательский режим восстановления в приведенных выше инструкциях, но это сработало хорошо: apple.stackexchange.com/questions/332587/…
Кому-нибудь повезло с проблемой сна/пробуждения на> = 10.13? Мне нужно было обновиться с sierra на catalina (10.15) для какой-то нужной совместимости программного обеспечения, и теперь он не может выйти из сна (или просто подсветка не включается обратно?).
@user2561747 user2561747 Вплоть до Мохаве (Каталина: IDK) я не думаю, что сон/бодрствование в первую очередь вызвано какой-либо версией ОС. Бывало с 10.10 и выше разными способами, в т.ч. «работает, как ожидалось», но с такими обстоятельствами, как «за/против». Испытайте терпение: начните с чистого NVRAM, чистый хак; отключите все периферийные устройства перед сном, не позволяйте ему спать с подключенной молнией, избегайте сна с закрытой крышкой, запускайте мягкий сон (например, через меню). Если все это не помогает или действительно относится к Catalina (пожалуйста, проверьте .14): пожалуйста, задайте новый вопрос здесь (с вашим ответом; особенно если вы обнаружите, что это относится к Catalina!)
@LаngLаngС спасибо за быстрый ответ и очень полезное руководство!! На самом деле у меня есть модель 2012 года со сломанным NVIDIA dGPU, поэтому эта проблема может быть связана с этой моделью (хотя большая часть этого руководства по-прежнему применима!). Я попробовал чистый сброс и взлом NVRAM (что требует использования однопользовательского режима вслепую, но, к счастью, со сценарием и автозавершением табуляции это все еще работает хорошо). К сожалению, у меня нет времени тестировать 10.14, а нужна 10.15 для совместимости с программным обеспечением удаленного прокторинга для предстоящего экзамена. Я разместил новый, более подробный вопрос: apple.stackexchange.com/q/421083/203559
Что именно делает agc=0загрузочный аргумент? Я могу найти множество ресурсов, которые поддерживают этот параметр, некоторые прямо или косвенно ссылаются на ваш ответ здесь, но нигде я не нахожу действительно хорошего объяснения того, для чего он нужен.
Я имею дело с машиной, на которой это было сделано ранее, но с тех пор NVRAM была сброшена, и теперь машина загружается с черным экраном (не только подсветка вышла из строя). Я думаю, что могу загрузиться в однопользовательский режим, используя cmd+Sи слепо запуская команды (например, rebootработает), но ничего не происходит, когда я запускаю nvramкоманду и перезагружаюсь после этого, машина просто снова перезагружается с черным экраном. На всякий случай попробовал sudo nvram, тоже не помогло... есть мысли?
@jsavn Если подсветка сломалась, то какой смысл? Иногда эти машины действительно умирают. Тем не менее, пара 2 пунктов: действительно сильный внешний источник света может сделать вещи немного более заметными. Ввод этих cmds может привести к ошибке (попробуйте и попробуйте еще раз; если сценарий, который я предложил выше, отсутствует. Это намного проще). Попробуйте внешний вход (ssh или что-то еще, через Ethernet, такая служба должна быть включена [возможно, загрузите удаленный диск в «хорошем Mac» установите настройки]). Из-за проблем с оборудованием: попробуйте usb2video, попробуйте аппаратное решение, ремонт (-магазин?). В этом состоянии я бы также серьезно попробовал метод оплавления / запекания в печи.
@LangLangC спасибо за ваши предложения - в итоге я решил эту проблему с помощью комбинации reflow и ssh, которая, к счастью, была включена. Я почти уверен, что он не подключался к сети до перекомпоновки, но теперь он работает в любом случае! Большое спасибо за запись. Вот еще 10 лет...

Если проблема в том, что вы не можете переместить эти файлы, вероятно, вас останавливает защита целостности системы. Я предполагаю, что вы на Эль-Капитане или Сьерре.

  • Выключите свой ноутбук.
  • Нажмите Command + R, а затем кнопку питания, чтобы загрузиться в режиме восстановления.
  • Откройте меню «Утилиты» и выберите «Терминал».
  • Введите csrutil disableи нажмите клавишу возврата.
  • Закройте приложение «Терминал» и перезапустите его из режима восстановления.
  • Теперь попробуйте загрузиться обратно в однопользовательский режим и попробуйте выполнить mvкоманду.

Если это сработало, снова включите SIP:

  • Выключите свой ноутбук.
  • Нажмите Command + R, а затем кнопку питания, чтобы загрузиться в режиме восстановления.
  • Откройте меню «Утилиты» и выберите «Терминал».
  • Введите csrutil enable и нажмите клавишу возврата.
  • Закройте приложение «Терминал» и перезапустите его из режима восстановления.
@klanomath спасибо за быстрый ответ. Но единственный режим, который я могу пройти, - это однопользовательский режим. Он зависает в режиме восстановления даже в режиме восстановления Интернета.
@GhaziMarzouk Snacking_IT ответил на ваш вопрос! Я просто немного отредактировал...
@Snacking_IT спасибо за быстрый ответ. Но единственный режим, который я могу пройти, - это однопользовательский режим. Он зависает в режиме восстановления даже в режиме восстановления Интернета
В качестве обновления, в ответе @LangLangC, мне не удалось отключить SIP на El Capitan на шагах 1.3 и 1.4, поскольку Single User Recovery монтирует диск только как доступный только для чтения. Описанный выше подход (вместо этого загрузка в режим восстановления) действительно работает, поэтому полезно включить эту информацию.

Благодаря этому ответу https://apple.stackexchange.com/a/295805/300460 с https://apple.stackexchange.com/users/251859/langlangc . Я следил за этим, когда у меня была эта проблема в сентябре 2018 года. Однако я немного изо всех сил пытался выяснить, какие именно дельта-шаги нужно выполнить во второй раз, когда вчера я снова столкнулся с той же проблемой, когда выполнял обновление безопасности OSX 2019-003. Итак, подумал о том, чтобы прописать именно эти шаги, думая о тех пользователях, которые могут столкнуться с этой проблемой во второй раз. Еще раз огромное спасибо langlangc за оригинал.

Я был на OSX 10.13.6 в то время, когда я сделал обновление.

  1. Перезапустите в однопользовательском режиме, нажав и удерживая Cmd+S (Cmd+R не загрузится, и появится белый экран. На самом деле, langlangcменя попросили подтвердить это в сентябре 2018 года, но тогда я не мог ответить, так как у меня нет разрешения на комментарий)
    • Бег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, чтобы загрузить его в обычном режиме.

Все остальное должно работать так, как вы ожидали, поскольку вы сделали бы все остальные необходимые шаги, когда заработали в первый раз. Всего наилучшего.

Обновление от 12 августа 2019 г.

Раньше я зависел от программного решения, предложенного @LangLangC. Однако недавнее обновление в августе обнаружило, что нормальная загрузка зависла на индикаторе выполнения. Я могу пройти через безопасный режим загрузки, но экран часто мерцает.

Обновление от 14 августа 2019 г.

Загрузился успешно, когда я отключил SIP в режиме восстановления. Я не могу вспомнить, делал ли я это в прошлом, но теперь я думаю, что мог.

Я потратил много времени, подозревая множество разных причин, включая ухудшение проблемы с графическим процессором или потенциальные ошибки с обновлением безопасности 10.13.6 2019-004.

Однако теперь я заметил, что он загрузился на этот раз даже с проблемным /System/Library/Extensions/AMDRadeonX3000.kextместом !!!

Обновление 11 ноября 2019 г.

Это AMD6000Controller.kextнеобходимо, чтобы вернуть регулировку яркости в обычное состояние. Этот kext должен присутствовать в /System/Library/Extensions/.

Не могли бы вы объяснить, что именно вы имеете в виду под «вторым разом»? Вышеприведенное выглядит так, как будто вы сбросили NVRAM/PRAM в процессе. Или это действительно то, что вы сделали, работая с хаком на 10.13, и только что применили недавний SecUpdate? (Сам SecUpdate не должен делать ничего, чтобы аннулировать сам взлом, но должен установить работающий AMD.kext в неправильном для взлома месте, и, следовательно, его необходимо переместить). Или с другой стороны: ваш NVRAM при обновлении сбрасывался?
Я уже работал над взломом 10.13.6, который был сделан в сентябре 2018 года после вашего ответа. Затем вчера применил обновление безопасности, после чего я снова застрял с белым экраном. Я никогда не играю с файлами KEXT, если мне не нужно следовать вашим инструкциям, чтобы исправить проблему с белым экраном после обновления безопасности. Только шаг 1 (1-й однопользовательский режим) не решил проблему, поэтому мне пришлось перейти к шагу 2 (режим восстановления), а затем к шагу 3 (снова однопользовательский режим).
Я только что обновил свой том High Sierra последним обновлением безопасности 2019-005. Панель процесса застряла при перезагрузке, поэтому я дождался, пока остановятся вентиляторы, перезагрузил MBP вручную в однопользовательском режиме и последовал вашему руководству. Работал нормально! Однако есть несколько вопросов: зачем повторять взлом NVRAM на шаге 2? это уже в /force-iGPU-boot.shсценарии нет? и мой Extensions-offкаталог уже был на месте, я просто переместил новый AMDRadeonX3000.kextи назвал его AMDRadeonX3000v2.kext. Думаю, лучше сохранить и загрузить оригинал, как указано в руководстве @LangLangC.
@aroom Вышеупомянутое повторяет несколько избыточных шагов, не причиняя вреда, просто подходит ремень и подтяжки. Ключ к обновлениям заключается в том, что при наличии NVRAM рабочий X3000 зависает при загрузке. Довольно часто Apple отправляла дефектный кекст, который зависел от одной исходной установки, и во всех дельтах отсутствовал важный файл. (Для достижения оптимальных результатов нам пришлось установить mv старый kext на место, затем обновить, затем снова mv to Ext-off) Теперь, когда Apple, наконец, исправила это, лучше всего использовать новейший kext из обновления, соответствующий номерам версий в обновлении. . С выключенным SIP просто загрузите SafeMode и mv в Ext-off, удалив предыдущую версию.
Кто-нибудь когда-нибудь повторно включал настройку dGPU? Что было бы противоположным nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00?

Я не могу отблагодарить @LangLangC за этот ответ. Это только что реанимировал 2 машины. Несколько крученых шаров достойны лишь дополнения к вышесказанному:

  • одна машина была на Mavericks (10.9.5), так что да, команды, связанные с SIP, можно было отбросить. Однако, поскольку проблема с AMDRadeon начала возникать (и вы действительно сбросили множество SMC и PRAM), я каким-то образом создал разделенный экран с тонкой высокой вертикальной линией в качестве курсора. Для преодоления потребовалось два цикла фазы 1.

  • вторая машина была на High Sierre 10.13.6. csrutil disable(пункт 3 выше) не будет запускаться; это было сделано дважды с разными дисками с одинаковыми результатами. Только режим восстановления позволил выполнить команду успешно

    Cmd+ r[Будьте терпеливы. Раздел восстановления должен запускаться с графическим интерфейсом (я удерживал клавиши нажатыми, пока не появится диалоговое окно выбора языка, которое появляется при первой установке системы) ] Выберите терминал в Utilityменю. Это разрешило вызов. Следуйте инструкциям

    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
    nvram boot-args="-v"
    затем перезагрузите

    shutdown -r now и перейдите к шагу 8 выше. (Возможно, я сделал дополнительный раунд двух вышеуказанных команд; я потерял след - но не причинил вреда) ... После шага 11

    touch /System/Library/Extensions/на самом деле будет циклически проходить через пару перезагрузок и подробных сообщений, прежде чем представить хрустящее серое яблоко. [Продолжайте упражнение на терпение.]

Я поддерживаю предложение загрузить и активировать smcFanControl или аналогичный, прежде чем приступать к управлению теплом; видеть падение температуры более поучительно, чем ждать, пока вентилятор остановится.

  • после перехода измените настройки энергосбережения на автоматические computer sleepнастройки: при пробуждении на моем экране воспроизводилось 2020_shuffle. Поэтому под адаптером питания никогда не переводите компьютер в спящий режим (хотя экран может стать черным). Я не пробовал крышку вниз, но я считаю, что это может быть проблемой. Если экран действительно искажается, я обнаружил, что горячие клавиши выхода из системы Shift+ Cmd+ Qнеизменно возвращают видео в ожидаемое состояние.

Произойдет некоторое мерцание; Думаю, это практическое доказательство необходимости двух графических чипов. хотя ничего страшного.

  • наконец, меня осенило, что, поскольку это программное решение, извлечение загрузочного диска с уже подготовленными каталогами и файлами и установка на другую машину (если это возможно) может ускорить процесс редактирования сценариев архивирования и оболочки. Попытаюсь позже. попытался , но потерпел неудачу, поскольку шаг 8, похоже, не был зарегистрирован.

Примечания:

  • внешнее видео недоступно, как задумано, но через USB-порт.
  • Bootcamp также является жертвой.