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


43

Я виявив це відповідно до своєї проблеми в цій темі:
завантаження зависає на сірому екрані (навіть при завантаженні з USB-накопичувача зі свіжою установкою OS X)

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

Спочатку я підозрював корупцію на жорсткому диску і намагався виправити це. Невдало я спробував наступне, при цьому кожен продовжував звисати, як описано вище:

Безпечне завантаження
Завантаження у відновлення (включаючи відновлення через Інтернет)
Завантаження з інсталяційного носія на USB-накопичувач
Завантаження з установки OS X на USB-накопичувач
Очищення NVRAM
Скидання SMC

Я також багато разів запускав тест апаратного забезпечення Apple, не знаходячи жодних проблем.

Докладний завантажувач (Cmd + Shift + V) виводить усе, що я очікував би побачити, але потім зависне, як описано вище.

Після появи в Інтернеті більше публікацій на дискусійних форумах Apple щодо проблем, пов'язаних з GPU, я розглянув це як причину:

2011 MacBook Pro та дискретна відеокарта або 2011 MacBook Pro та дискретна відеокарта

Спроби завантажувати Ubuntu з флеш-пам’яті USB, я міг дістатись лише до GRUB. При спробі завантаження Ubuntu Desktop або запуску графічного тесту в GRUB система зависає.

У цей момент запущений тест апаратних засобів Apple висів безпосередньо перед закінченням стандартного тесту, можливо [здогадуючись] під час відеотестування.

Спираючись на поради в публікаціях 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 (просто зеленуватий, а не сірий екран).
сова

Відповіді:


81

Передумови та пояснення

Будь ласка, прочитайте весь цей пост принаймні один раз від початку до кінця, перш ніж робити будь-які дії.

Усі плюси MacBook від 2011 року мають серйозні дефекти дизайну . Теплоуправління та вироблене тепло разом із надійністю дискретних графічних мікросхем AMD не дуже добре співпадають. Apple знала це і діяла як типова Сопі Сміт , реагуючи на це лише після обурення. Цей скандал дістав назву RadeonGate. Лише під загрозою судового позову Apple, нарешті, чинили тиск, пропонуючи так звану "Програму розширення поновлення" .

Програма розширення Apple Repair Extension вже недоступна . Єдиний реальний спосіб виправити цю проблему - замінити чіп AMD самостійно. Не логічна дошка. Не "повторне балування", не "переправка", не "випічка". Apple замінила несправний чіп на несправний чіп. Знову і знову. Тільки заміна графічного чіпа все ще є дорогою апаратною процедурою для такого старовинного ноутбука.

Єдиний відомий спосіб - це лише одне програмне забезпечення - отримати 2011 MacBook Pro (8,2) із "лише" графічним чіпом AMD майже надійно знову ввімкнутись і завантажитися в macOS і бути досить корисним із прискореним графічним інтерфейсом це посібник чи його зміна. Більшість попередніх порад просто видалили всі AMD-кекси, і це призводить до жахливого досвіду користувача без зовсім прискорення графічного інтерфейсу.

Потрібно знати вашу точну версію ОС. Наступний посібник буде простішим для Yosemite, але передбачає El Capitan або новіший. Ель-Капітан, Сьєрра та Висока Сьєрра потребують відключення SIP (Захист цілісності системи). У попередніх системах (10.6–10.10) ці кроки непотрібні.

Важливо: Цей посібник передбачає, що всі кекси все ще знаходяться у стандартному розташуванні / Система / Бібліотека / Розширення. Наявність усіх AMD-кексів там, крім одного , вигідно для «правильної» роботи. Попередні хаки в цьому напрямку, можливо, доручили вам рухатись, або ще гірше: видаліть усі розширення ядра AMD * / ATI *. У такому випадку: або перенесіть кекси назад у їх місце за замовчуванням, або перевстановіть систему на ваш вибір. Якщо встановити більшість кексів AMD, а потім затримати X3000-кекс із затримкою, це дозволить керувати живленням GPU, який інакше буде спалювати електроенергію ні за що (і може прискорити остаточну теплову смерть мікросхеми поверх цього). Повторюю: Тільки файл AMDRadeonX3000.kextдійсно відсутній під час завантаження, щоб увімкнути успішний запуск, але всі інші (потрібні) драйвери AMD повинні знаходитись у своєму місці за замовчуванням, а X3000-кекс завантажуватись потім / затримуватися, щоб повернутися у сферу майже розумного управління потужністю та температурою.

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

Щоб повернути деяке прискорення дисплея, потрібно буде змусити машину не завантажуватися з дискретної графіки (dGPU), а безпосередньо в інтегровану графіку (iGPU) і залишатися в цьому режимі.

У режимі dGPU завантаження в Macs є двома перемикаючими відеокартами за замовчуванням. Наведена нижче процедура встановить змінну NVRAM, яка вимикає dGPU і змушує систему використовувати лише інтегровану графіку Intel навіть під час завантаження.

Змінна NVRAM недокументована, але, здається, є загальноприйнятною для всіх Macs з двома перемикаючими відеокартами. Це означає, що він повинен працювати на iMacs та MacBook Pros. Чи мають вони мікросхеми 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. створити каталог резервного копіювання

    mkdir -p /System/Library/Extensions-off

  10. лише перемістіть ОДИН ображаючий кекс із шляху:

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

  11. повідомте систему, щоб оновити свій кекст-кеш:

    touch /System/Library/Extensions/

  12. перезавантажте звичайно:

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

Частина 2: вдосконалення управління теплом та енергією

Для покращеного керування живленням відключеного GPU вам потрібно вручну завантажити один важливий кекс після завантаження:

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). Очевидно, що висить при відключенні, як правило, це дуже довгі затримки, які завершаться, зрештою, чисто і успішно.
Ненаукові вибірки свідчать про те, що Йосеміт є найгіршим для цього, а Ель-Капітан і Сьєрра в цьому плані набагато краще поводилися.

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

Ця налаштування тепер має один крапку в місці, що виробники Apple не очікують. Ось чому в цьому посібнику SIP не було оновлено. Якщо ось-ось відбудеться оновлення, яке містить зміни в драйверах AMD, доцільно повернути AMDRadeonX3000.kext до місця за замовчуванням перед процесом оновлення. В іншому випадку оновлення записує принаймні інший кекс іншої версії до свого місця за замовчуванням, або, в гіршому випадку, у вас виявляється невизначений стан частково невідповідних драйверів.

Після будь-якого оновлення системи папку / Система / Бібліотека / Розширення потрібно перевірити на наявність невідкритого тексту. Його присутність там призведе, наприклад, до висівання черевика на Йосеміті та Сьєррі, перегріву завантажувальної петлі у Високій Сьєррі.

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

Останні оновлення від Apple: Не оновлюйте, перш ніж прочитати наступне.

До подальшого повідомлення:
Останні оновлення знову ламають апарат. Оновлення вбудованого програмного забезпечення, 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 ↵

Клавіші яскравості екрану не працюють у Високій Сьєррі?

Apple змінила спосіб керування подіями на клавіатурі для зміни яскравості екрану у Високій Сьєррі. При такому злому або апаратних модах нижче на місці клавіші будуть без функцій. Ще одна причина залишитися із Сьєррою. Але за допомогою цього злому ви також можете вдатися до використання іншого програмного рішення. Крім злому власного рішення AppleScript, ви можете спробувати готові програми або програми.

Наприклад, слайдер яскравості в AppStore пропонує налаштовані комбінації клавіш.


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

Заключні зауваження та рекомендації

Далі: цей ноутбук перегрівається, незалежно від того, чим займаєтесь. Система охолодження неадекватна, і величезна кількість несправних мікросхем AMD - це лише підтвердження цього.

Щоб продовжити життя цієї тепер зламаної машини, бажано утриматися від дійсно важких підйомів протягом тривалих проміжків часу. Суворо дотримуйтесь звичайних рекомендацій для ноутбуків: використовуйте на твердих поверхнях, підтримуйте вентилятори та плавники всередині нього чистими. Використання будь-якого програмного забезпечення вентиляторів з відносно агресивними налаштуваннями також повинно допомогти: як smcFanControl , MacsFanControl або TGPro (обидва комерційні).

Відмова: Ця вся процедура не є магічною кулею. Стан виходу з ладу цих чіпів не на 100% передбачуваний. Дуже небагато користувачів мають проблеми навіть із цим злому: можуть виникнути проблеми з перезавантаженням, сном або прокиданням належним чином, більшість із них надходять від користувачів з Yosemite, найменше проблем виникає в Сьєррі. У цих випадках іноді виникає необхідність не використовувати AMDRadeonX3000.kext, а отже, також не LoginHook з Частини 3. (Але див. Додаткову примітку в розділі * 1 вище.) Непропорційна кількість користувачів, які повідомляють про проблеми High Sierra зі своїми екранами регулювання підсвітки Тож, на мій погляд, приємним місцем для вибору операційної системи є, на мій погляд, 10.12 Sierra.

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

У межах обмежень, викладених на початку цієї відповіді: Більшість користувачів повідомляють про повний успіх.


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

Зараз доступно кілька способів, деякі погані, деякі хороші.

Неправильне рішення: Дуже дешева модифікація обладнання доступна в / від RealMacMods: Хоча вони використовують відносно складний спосіб встановлення необхідної змінної EFI за допомогою Linux, наступне має перевагу в повному зменшенні напруги в ядрі до dGPU, видаливши лише один крихітний резистор ! (Фотографії за посиланням)

Після цього перезавантаження важливо, щоб ви перезавантажилися один раз у безпечному режимі (утримуйте Shift протягом усієї завантаження), а потім виберіть з меню вимкнення (не перезапуск).
Зробіть це безпечне завантаження з резистором R8911 на місці. Без цього БЕЗКОШТОВНОГО ЗАВДАННЯ наступні кроки можуть не працювати.
Не робіть більше чобіт, поки не виконаєте наступні кроки.
Безпечна завантаження очищає налаштування GPU на рівні ОС, що може заважати наступному процесу.
Це призведе до того, що ваш MacBook Pro автоматично перестане переходити на Radeon, але він все одно буде черпати живлення, створювати тепло та бути видимим для ОС.
Ми виявили, що просто видалення 1 резистора вирішить це.
Резистор також можна замінити перемикачем, якщо вам потрібно з будь-якої причини ввімкнути робочий режим.
Розміщення цього резистора залежить від моделей логічної плати.
Розмір резистора - R8911 на 17 ″ MBP і R8911 на 15 ″ MBP резистором 1 Ом, який забезпечує поточний шлях до перетворювача постійного струму в ISL6263C.
Цей резистор керує живленням регулятора напруги, який забезпечує основну напругу для Radeon GPU. Простіше кажучи, ні напруга в ядрі, ні GPU. Ви знайдете резистор праворуч від вентилятора охолодження (у наведеній вище орієнтації). Він буде поблизу мікросхеми перетворювача напруги ISL. Це фішка, яку ми будемо відключати.
Просто видаліть його. Кращий спосіб - це професійна станція заправки, але праска і стійка рука приведуть вас там, де вам потрібно бути. Якщо ви використовували флюс для його видалення (не потрібно), обов’язково очистіть трохи алкоголю або іншого підходящого розчинника.
Це в основному це. Наступного разу після завантаження ви помітите, що проблема з вадами графічного процесора відпадає, і ви більше не будете бачити GPU AMD як встановлене обладнання.

Я не перевіряв це , але це повинно усунути будь-яку потребу доглядати за кекстов , а також вирішувати будь-які питання , що стосуються сну, пробудження, сплячий режим, перезавантаження і т.д.
Одне застереження для розгляду цього методу: оскільки він також , здається, покладатися на що мають цей набір змінних NVRAM Схоже, абсолютно важливо мати повністю автоматизований метод для встановлення цієї змінної без будь-якого втручання користувача. (Як і Linux-палиця, яка вносить необхідні зміни) Інакше скидання NVRAM може практично цеглити машину. Продавець стверджує, що не має даних про це!

(Прочитавши історію, яку користувач покусав цим методом, і закінчився лише чорним екраном: видається можливим віддалений доступ до машини за допомогою VNC або ssh, тому, якщо вони встановлені заздалегідь, це може бути не дуже поганим варіантом після все, оскільки змінна nvram може зробити ставку, встановлену таким чином. Пам’ятайте: Неперевірена історія в Інтернеті.)

Постійне, надійне та дешеве апаратне рішення!

Dosdude1, очевидно, знайшов рішення, яке схоже на святу грааль для цієї проблеми: Постійно вимкнути 2011 15 "/ 17" MacBook Pro Виділений GPU - gMux IC Bypass

  • Варіант A, який буде детально описано нижче, полягає в тому, щоб жорстко підключити вихідні лінії LVDS від інтегрованих графічних LVDS вихідних ліній прямо до ліній, що підключаються до дисплея.
  • Варіант B полягає у перепрограмуванні IC IC gMux (який просто є мікроконтролером Lattice LFXP2) із власною програмною програмою для відключення функції комутації GPU. Я можу експериментувати з цим у майбутньому, але для цього потрібно спеціальне обладнання, якого у мене немає. Це, звичайно, було б оптимальним рішенням.

Це майже просто. Все, що потрібно - це різні довжини дроту . Щоб побачити: введіть тут опис зображення Також на youtube!

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

Tiresias (GPUkiller): Tiresias - це невелика плата, яку можна припаяти до материнської плати 15-дюймових або 17-дюймових моделей MacBook Pro 2011 (ранньою або пізньою).

Це всі моделі, які мають материнську плату 820-2914-A, 820-2914-B, 820-2915-A або 820-2915-B.

Плата 820-2914 і 820-2915 має два графічних процесора. Внутрішній (Intel) GPU, що входить до PCH, і зовнішній (дискретний) процесор AMD. Саме зовнішній графічний процесор виходить з ладу у «невеликому відсотку систем MacBook Pro» (Apple говорять за: «дуже багато»). Tiresias записує змінну nvram 'gpu-power-prefs' в ROM, щоб Mac більше не використовував (мертвий) зовнішній (дискретний) процесор AMD. Якщо користувач очистить NVRAM (PRAM), немає проблем, оскільки Tiresias запише запис знову, а Mac знову запрацює.

Це робить це ідеальним рішенням повернути до життя 820-2914 або 820-2915 із мертвим графічним процесором. Установка проста (без дротів для пайки). Вам потрібно буде встановити на материнській платі зовсім невелику дошку. Досвідчений технік може це зробити за лічені хвилини. Окрім цього, R8911 слід вилучити, щоб відключити живлення від мертвого GPU. Це економить енергію, генеруючи менше тепла та економить час автономної роботи. Видалення R8911 також не дозволяє плутати Mac з мертвою GPU, оскільки навіть при вимкненому графічному процесорі він все ще намагатиметься поговорити з мертвим GPU. Залежно від того, які внутрішні контакти в графічному процесорі розриваються, це може заплутати або навіть збіти Mac.

Mac OS X 10.13 High Sierra також підтримується. Щоб вирішити питання про те, що підсвітка не вмикається після сну, також видаліть R9704 і підключіть контактний контакт R9704 до контакту C9711.

Tiresias (GPUkiller) Технічні деталі Tiresias - це невелика плата, яку можна припаяти до материнської плати 15-дюймових або 17-дюймових (раннього або пізнього) моделей MacBook Pro.

Це всі моделі, які мають материнську плату 820-2914-A, 820-2914-B, 820-2915-A або 820-2915-B.

Плата 820-2914 і 820-2915 має два графічних процесора. Внутрішній (Intel) GPU, що входить до PCH, і зовнішній (дискретний) процесор AMD. Саме зовнішній графічний процесор виходить з ладу у «невеликому відсотку систем MacBook Pro» (Apple говорять за: «дуже багато»). Tiresias записує змінну nvram 'gpu-power-prefs' в ROM, щоб Mac більше не використовував (мертвий) зовнішній (дискретний) процесор AMD. Якщо користувач очистить NVRAM (PRAM), немає проблем, оскільки Tiresias запише запис знову, а Mac знову запрацює.

Це робить це ідеальним рішенням повернути до життя 820-2914 або 820-2915 із мертвим графічним процесором. Установка проста (без дротів для пайки). Вам потрібно буде встановити на материнській платі зовсім невелику дошку. Досвідчений технік може це зробити за лічені хвилини. Окрім цього, R8911 слід вилучити, щоб відключити живлення від мертвого GPU. Це економить енергію, генеруючи менше тепла та економить час автономної роботи. Видалення R8911 також не дозволяє плутати Mac з мертвою GPU, оскільки навіть при вимкненому графічному процесорі він все ще намагатиметься поговорити з мертвим GPU. Залежно від того, які внутрішні контакти в графічному процесорі розриваються, це може заплутати або навіть збіти Mac.

OS X 10.6 - 10.12 (Сьєрра)

Бігунок підсвічування (в системних налаштуваннях) та клавіші підсвічування (F1 і F2) працюють. Системний сон працює. Відеовипуск на порту Thunderbolt не працює, але всі інші функції порту Thunderbolt працюють.

OS X 10.13 (Висока Сьєрра)

Наскільки нам відомо, 10,13 (Висока Сьєрра) не має переваг над 10,12 (Сьєрра). Apple повністю переосмислила драйвери відео у Високій Сьєррі, і, здається, зіпсувала це. Елементи керування підсвічуванням не працюватимуть. І ще гірше, після того, як машина прокидається від сну, підсвічування взагалі не вмикається.

Щоб вирішити проблему, коли підсвітка не відновлюється після сну, видаліть R9704 та підключіть контактний контакт R9704 до контакту C9711 1. Це встановить підсвітку на повну яскравість. Недоліком є ​​те, що при цій модифікації яскравість також буде на повній яскравості у старих ОС.

Тиресі за 820-2915 (15 дюймів) Кількість перша (1) Включаючи доставку (у всьому світі) 60 ЄВРО.

введіть тут опис зображення введіть тут опис зображення введіть тут опис зображення


Оновлення програмного рішення для єдиного доступу

Згадана вище процедура, здається, була включена в додаток, пов’язаний з апаратним злому! Ну принаймні його частини. Але з іншого боку, ця програма є більш універсальною, ніж викладений вище, оскільки, здається, обробляє також карти NVidia, тобто: для відключення всіх дискретних процесорів у всіх Macs.

На жаль, це додаток зроблено dosdude1 і не задокументовано добре. Екран readme повідомляє, що він встановив би змінну NVRAM, перемістив усі драйвери графічного прискорення, а потім встановив запускаючу програму для обробки оновлень і забезпечив, щоб змінна залишалася встановленою.

Не перевірена мною і не схвалена мною, якщо ви вже дотримувались описаної вище процедури!
Але якщо процедура в якийсь момент не спрацювала для вас або здається, що це просто неприємно для початку, ви можете спробувати це:

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

Можливо, вам доведеться знову заглянути в процедуру, оскільки програма, здається, пропускає вдосконалення термічної частини управління (якщо ви модифікуєте апаратне забезпечення, видаляючи транзистор, це стає настроєм: змішуйте та співпадайте).
Якщо хтось тестує це, будь ласка, дайте тут відгуки через коментарі чи правки.


Пасхальне оновлення 2019: 20 $ рішення, яке використовує 64-бітовий комп'ютер Windows та програміст Lattice HW-USBN-2A ICSP FPGA, щоб застосувати власну прошивку до ICM gMux. Dosdude1 стверджує, що це "ідеальне" рішення, це означає, що навіть у режимі автономної роботи HighSierra та Mojave час роботи, контроль яскравості та режим сну / сну працюють як слід. Використання цього рішення є постійним і робить все вище застарілим.
Але це нове рішення не є безкоштовним і вимагає апаратного забезпечення у вигляді ПК з Windows та програміста); а також в даний час паяти кілька проводів тимчасово на логічну плату.)


2
@Tarek Дивно. Ви, здається, на Високій Сьєррі. Не знаю, чи останнім часом вони посилили цю справу. У вас є старіша система завантаження? З Йосеміті працює завжди; в Сьєррі, як описано вище (і від обох налаштування будуть дотримуватися). Інакше я б запропонував вимкнути SIP і спробувати це ще раз (тоді, можливо, також із звичайного завантаження?). (Покинути agcце не катастрофічно, я запускав Mac протягом місяця без нього, перш ніж знайти цей трюк. Поліпшення варіюється лише від "трохи" до "ОК, майже чудово"). Радикальним шиком було б використовувати паличку Linux і встановити змінну з там…
LangLangС

6
Через кілька місяців, намагаючись повернути свій пізній 2011 17 "mbp назад у землю живих, я нарешті виявив, що винуватцем є дискретна проблема GPU. Чесно кажучи @LangLangC за всі мої роки в IT, я ніколи не бачив такого логічно написане та всебічне пояснення добре продуманого рішення, з безперечно експертним рівнем деталей. І все від альтруїстичного бажання допомагати іншим. Я набираю це на моєму відродженому MBP, і хоча я знаю, що ви цього не зробили зробіть це, щоб заробити гроші, ви врятували мене потенційно тисячами, тож я пришлю вас у надію, що я можу купити вам пиво через Patreon і т. д. Дякую.
Бобсмелл

2
Для запису станом на 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).
Кендалл Лістер

4
Працював для мене 17-річний "Sierra" на початку 2011 року! Зовнішній дисплей не працює, але краще, ніж гігантський паперовий вага! Зверніть увагу (для нообів, як я), вам потрібно набрати rebootпісля початкового відключення SIP csrutil disableта після зміни gpu nvram . в одужанні я не був упевнений , як перезавантажити з терміналу відновлення, і з усіх сил намагався вимикаючи, але зміни SIP не зберігаються таким чином.
Вілл Бак

2
Дякую вам за цю чудову збірку всіх можливих рішень для нашого улюбленого 2011 mbp. Я воскресив свою мертву зошит методом видалення nvram і kext на Високій Сьєррі, тепер оновлений до 10.13.6. Все працює як слід, ноутбук працює крутіше, контроль яскравості працює чудово, сон теж працює чудово. Сьогодні я підключив громовідвід до іншого працюючого Mac у режимі цільового диска, але нічого. Перезавантажили 2011 mbp до TDM, нічого на інших mac. Я відчуваю, що з'єднання даних thunderbolt здійснюється через GPU, тому його розрив. На відміну від деяких згадок про "туберкульоз повинен працювати". Тестуватимемо його з eGPU зараз
Mayank Chandak

1

Якщо проблема полягає в тому, що ви не можете перемістити ці файли, це, ймовірно, захищає цілісність системи. Я припускаю, що ви перебуваєте на Ель-Капітан або Сьєрра.

  • Вимкніть ноутбук.
  • Натисніть Command + R, а потім кнопку живлення, щоб перейти в режим відновлення.
  • Клацніть меню Утиліти та виберіть Термінал.
  • Введіть csrutil disableта натисніть return.
  • Закрийте додаток Terminal і перезапустіть режим відновлення.
  • Тепер спробуйте завантажитися назад в режим однокористувача і спробуйте mvкомандувати.

Якщо це спрацювало, повторно увімкніть SIP:

  • Вимкніть ноутбук.
  • Натисніть Command + R, а потім кнопку живлення, щоб перейти в режим відновлення.
  • Клацніть меню Утиліти та виберіть Термінал.
  • Введіть csrutil enable і натисніть return.
  • Закрийте додаток Terminal і перезапустіть режим відновлення.

@klanomath дякую за швидку відповідь. Але єдиний режим, на який я можу потрапити, - це режим єдиного користувача. Він застигає в режимі відновлення навіть в режимі відновлення в Інтернеті.
Газі Марзук

@GhaziMarzouk Snacking_IT відповів на ваше запитання! Я лише трохи відредагував це ...
klanomath

@Snacking_IT дякую за швидку відповідь. Але єдиний режим, на який я можу потрапити, - це режим єдиного користувача. Він замерзає у режимі відновлення навіть у режимі відновлення в Інтернеті
Ghazi Marzouk

2
Як і оновлення, у відповіді @ LangLangC я не зміг відключити SIP на El Capitan під час кроків 1.3 та 1.4, оскільки для відновлення єдиного користувача монтується диск лише як для читання. Вищеописаний підхід (замість цього завантаження в режим відновлення) працює, тому цю інформацію корисно включити.
Twitch_City

1

Завдяки цій відповіді /apple//a/295805/300460 від /apple//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-2014.

Однак зараз я помітив, що цього разу він завантажився навіть із проблемних /System/Library/Extensions/AMDRadeonX3000.kextна місці !!!

Оновлення 11 листопада 2019 року

AMD6000Controller.kextНеобхідно , щоб отримати контроль яскравості назад на роботу , як зазвичай. Цей кекс повинен бути присутнім на /System/Library/Extensions/.


Чи можете ви пояснити, що саме ви маєте на увазі під "другим часом"? Вищезазначене виглядає так, ніби у процесі скидання NVRAM / PRAM. Або це справді те, що ви робили, працюючи з робочим злом 10.13 і просто застосували останні SecUpdate? (Сам SecUpdate не повинен робити нічого для того, щоб збити злом самого себе, але встановити робочий AMD.kext у неправильному місці - для хак - тому його потрібно перемістити). Або з іншого боку: чи був скинутий NVRAM під час оновлення?
LangLangС

Я вже був на робочому зламі 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.
кімната

1
@aroom Наведене вище повторює кілька зайвих кроків, не завдаючи шкоди, підходять лише пояс і підтяжки. Ключ до оновлень - це NVRAM на місці, працюючий X3000 висить під час завантаження. Досить часто Apple постачала несправний кекс, який залежав від однієї оригінальної інсталяції, у всіх дельтах відсутній важливий файл. (Для досягнення оптимальних результатів нам довелося перенести старий кекс на місце, потім оновити, а потім mv на Ext-off знову) Тепер, коли Apple, нарешті, це виправили, найкраще використовувати найновіший кекс з оновлення, який відповідає номерам версій в оновленнях . З вимкненням SIP просто завантажте SafeMode та mv на Ext-off, видаливши попередню версію.
LаngLangС
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.