Я хотел бы отключить графический процессор NVidia GTX 750M на моем MacBook Pro 15 дюймов (Retina, середина 2014 г., Mac OS X 10.10 Yosemite). Я знаю, что могу использовать GfxCardStatus, но читал, что могу найти более постоянное решение, изменив некоторые EFI флаг.
Мой вопрос:
Как я могу отключить дискретный графический процессор от EFI?
Я предполагаю, что это сохраняется при нескольких перезагрузках. Я также хотел бы знать, как отменить это, если это необходимо.
Обновлять:
Вопрос в основном заключается в том, является ли команда, упомянутая в комментарии к проблеме GfxCardStatus github , правильной или нет, и как ее отменить, если она не работает.
.
Ответ только на это является правильным ответом, но было бы здорово, если бы вы также сказали мне:
Если вы включите встроенную графику в GfxCardStatus, Mac OS X (по крайней мере, до Yosemite) не позволит вам использовать несколько мониторов (хотя встроенная Iris Pro может это сделать).
Если я отключу дискретный графический процессор от EFI, будет ли macOS считать, что установлен интегрированный графический процессор, и позволит ли он мне использовать несколько мониторов с ним?
Я слышал, что тот же параметр EFI отвечает за то, что встроенный графический процессор даже не отображается в других операционных системах, кроме macOS, и вам нужно как-то обмануть его, чтобы он подумал, что это macOS.
Это правда? И если да, то как это сделать?
Вы можете навсегда отключить дискретную видеокарту, выполнив следующие действия:
Процедура, описанная в шагах 1-3, работала для меня до macOS Sierra, но с обновлением до High Sierra я начал получать розоватый/красноватый экран, и я не мог войти в режим восстановления, чтобы повторить шаг 3, как я должен был сделать в предыдущие обновления. Поискав в Интернете, я столкнулся с этой проблемой GitHub , объяснив, что вы можете заменить шаги 1 и 2 следующей командой, которую вы можете выполнить в однопользовательском режиме (загрузка, нажав cmd+ s):
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
1.1 Загрузите ISO-образ ArchLinux
1.2 Создание загрузочного USB с .iso
Откройте /Applications/Utilities/Terminal в MacOS и выведите список всех устройств хранения:
diskutil list
Ваше USB-устройство будет выглядеть примерно так /dev/disk2 (external, physical)
. Убедитесь, что это именно то устройство, которое вы хотите стереть, проверив его имя и размер, а затем используйте его идентификатор для приведенных ниже команд вместо /dev/diskX
.
USB-устройство обычно автоматически монтируется в macOS, и вы должны размонтировать (не извлекать) его перед блочной записью на него с помощью dd:
diskutil unmountDisk /dev/diskX
Теперь скопируйте файл образа ISO на устройство. Команда dd аналогична своему аналогу в Linux, но обратите внимание на «r» перед «disk» для необработанного режима, который делает передачу намного быстрее:
sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m
После завершения macOS может пожаловаться, что «Вставленный вами диск не читается этим компьютером». Выберите «Извлечь». USB-устройство станет загрузочным.
2.1 Загрузитесь с него
nomodeset
в конец этой строки и нажмите Enter.2.2 Очистить существующие переменные EFI
Похоже, что файловая система efivarfs смонтирована по умолчанию! Так что можно уже cd /sys/firmware/efi/efivars
и ls
исследовать эту директорию и посмотреть, есть ли там gpu-power-prefs-...
переменная (где... это UUID этой переменной).
Если есть такая переменная, лучше ее удалить с помощью rm.
rm gpu-power-prefs-…
Если вы получаете сообщение «Операция не разрешена» при попытке rm
, это означает, что efivarfs был смонтирован как доступный только для чтения, и вам необходимо перемонтировать его с разрешениями на чтение и запись и повторить попытку:
cd /
umount /sys/firmware/efi/efivars/
mount -t efivarfs rw /sys/firmware/efi/efivars/
cd /sys/firmware/efi/efivars/
rm gpu-power-prefs-…
Если это также не удается (вы все еще не можете стереть файл), используйте chattr
команду, чтобы отключить неизменность файла, а затем сотрите файл:
chattr -i "gpu-power-prefs-…”
rm gpu-power-prefs-…
2.3 Создайте новый файл gpu-power-prefs-…
printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
2.4 Добавьте неизменяемость в файл gpu-power-prefs-…
Эта chattr
команда предназначена для блокировки файла, чтобы сделать его доступным только для "суперпользователя" - и чтобы во время загрузки ваш EFI не имел шанса испортить вашу переменную gpu-power-prefs-... ни при каких обстоятельствах.
chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9"
2.5 Размонтируйте efivars и перезагрузите компьютер
Перейдите в корневой каталог, чтобы размонтировать efivars:
cd /
umount /sys/firmware/efi/efivars/
Гарантирует, что ваши переменные EFI будут сброшены в файловую систему efivarfs. Пожалуйста, размонтируйте его безопасно перед перезагрузкой.
reboot
Примечание . Возможно, вам придется делать это каждый раз, когда вы обновляете свою ОС, так как она обычно регенерирует эти кексты. Вы можете добавить этот ответ в избранное для справки, чтобы он был доступен с другого устройства, когда он вам понадобится.
После отключения dGPU с помощью Arch обычная загрузка зависнет на полпути, но безопасная загрузка будет работать.
3.1 Переместите файлы AMD / NVIDIA kext в каталог резервного копирования
Удалите все файлы kext AMD (или NVIDIA, в зависимости от вашей карты) в терминале консоли восстановления. Попытка удалить их в однопользовательском режиме приводит к ошибкам песочницы, поэтому не делайте этого в однопользовательском режиме! (тот, который вы загружаете с cmd+ s).
Start Terminal (Эти команды предназначены для AMD. Если у вас NVIDIA, измените соответствующим образом)
diskutil cs list
(найти UUID логического тома: последний элемент)
diskutil coreStorage unlockVolume UUID
(UUID: из предыдущей команды)
cd /Volumes/Macintosh\ HD
mkdir AMD_Kexts
mv System/Library/Extensions/AMD*.* AMD_Kexts/
reboot
Я нашел процедуру по этой ссылке , где вы можете прочитать атрибуцию различных разделов и ветку обсуждения по этой теме.
Я попробовал это сам на MacBook Pro начала 2011 года с неисправной дискретной видеокартой, которая не могла загрузиться даже с уловкой с перегревом, и в итоге получил полностью рабочий компьютер!
diskutil cs list
, он возвращает No CoreStorage logical volume groups found
. Дискретный графический процессор остается включенным. Есть идеи?diskutil
команды, и мне удалось удалить файлы AMD. К сожалению, дискретный GPU все еще используется...chattr -i
файл (иначе я не могу rm
), но я не могу воссоздать файл. Должен ли я chattr -i
содержать каталог? (Это не упоминается в шагах выше)chattr -i .
, он говорит: «chattr: недопустимый ioctl для устройства при чтении флагов на». -- Использование абсолютного пути также не работает. К вашему сведению, файл создается, но его размер равен 0./System/Library/Caches/com.apple.kext.caches
, а затем перестроил кеши с помощью touch /System/Library/Extensions
. С отключенным SIP и следуя инструкциям на экране по монтированию /
в режиме чтения-записи, я смог делать все в однопользовательском режиме: перемещать файлы kext и устанавливать gpu-power-prefs
переменную nvram. Большое спасибо за этот метод, он успешно отключил dGPU при загрузке, никаких проблем со сном, яркостью и т. Д. MacBook Pro (Retina, середина 2012 г.); 10.12.6Я полностью разделяю ваше желание «сэкономить на батарее и снизить нагрев, не платя за шум» при использовании дискретной видеокарты внутри MacBook Pro.
Прежде чем делать что-либо, что отключит ваш дисплей, убедитесь, что вы можете войти в свой MacBook Pro с помощью SSH , чтобы вы могли отменить свою работу. Хотя совместное использование экрана со всеми отключенными графическими картами, вероятно, будет работать с некоторым разрешением по умолчанию, я бы не стал ставить на это свой компьютер.
Что произойдет, если я навсегда отключу дискретную видеокарту nVidia от EFI? Будет ли Mac OS считать установленным встроенный графический процессор и позволит ли мне использовать с ним несколько мониторов?
Вы потеряете возможность использовать внешний монитор (под любой ОС). Внешние графические порты подключены к дискретному графическому чипу.
Мой собственный MacBook Pro 2011 работает со стабильными 60 градусами даже под нагрузкой с минимальным шумом вентилятора при использовании встроенной графики Intel и пиками до полного вентилятора (в диапазоне от 4000 до 6000 об / мин) при нагрузке с дискретным 6750. Проблема это реально. Я тоже хотел иметь возможность использовать только встроенную графику и управлять внешним монитором.
Ни как, ни как.
Правда ли, что тот же EFI даже не показывает встроенный графический процессор для других ОС, кроме Mac OS, и вам нужно как-то обмануть его, чтобы думать, что это Mac OS?
Да, это правда. Графический процессор Intel отключается EFI MacBook Pro 11,3, если вы загружаете что-либо, кроме Mac OS X. У вас есть четыре варианта, если вы хотите использовать встроенный чип Intel в альтернативной ОС:
- REFInd версии 0.10.0 или выше (рекомендуется): http://www.rodsbooks.com/refind
Последние версии rEFInd имеют встроенный хак «apple_set_os». Вы можете включить его, установив параметр spoof_osx_version в файле refind.conf.
apple_set_os.efi: https://github.com/0xbb/apple_set_os.efi
исправленный GRUB: https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html https://wiki.archlinux.org/index.php/MacBookPro11,x#Getting_the_integrated_intel_card_to_work_on_11.2C3
исправленное ядро: https://www.marc.info/?l=grub-deavel&m=141586614924917&w=2
Будьте осторожны, чтобы планировать заранее. Если вы не подготовитесь, вы столкнетесь с отключенной встроенной видеокартой и черным экраном. Конечно, вы всегда можете вернуться, загрузить Mac OS X и начать заново.
Самым простым из вышеперечисленных вариантов будет номер два — заменить Apple EFI. К сожалению, это тот, из-за которого вы вообще не сможете загрузиться в будущем. Apple не любит, когда люди играют с EFI, и оставляет за собой право блокировать ваше устройство за это. Если бы у вас была Apple Care и у вас все еще был гарантийный период, вы могли бы найти плечо, на котором можно поплакаться. Мощь. Когда вы меняете EFI, вы также берете на себя риски безопасности , то есть вы можете упростить взлом вашей машины. Вы должны иметь возможность обновиться до последней версии EFI, которая удалит ваш патч.
Вариант первый, rEFInd ставит себя между загрузкой и EFI, что оставляет значительные возможности для того, чтобы что-то пошло не так, и вы остались с кирпичом и долгой тяжелой тропой к работающему компьютеру. Насколько серьезны эти проблемы? Многие владельцы MacBook Pro потеряли свой жесткий диск из-за rEFInd:
Многочисленные отчеты об ошибках rEFIt указывают на проблемы с повреждением диска на дисках объемом более 500 ГиБ .... Я настоятельно рекомендую вам не печатать
sudo bless --info
, чтобы проверить статус вашей установки, если у вас есть такой диск, или даже если вы подозреваете, что у вас может быть такой диск . (Я видел диски расширенного формата размером до 320 ГБ.)
Третий вариант относительно прост. Исправление grub — это процесс, с которым хорошо знаком любой ранний владелец Hackintosh. Исправление Grub работает и его легко отменить, так как изменения не вносятся на уровне прошивки. Если вы консервативно исправляете grub, дополнительный код grub включается только при удерживании option/alt при загрузке .
Если вы предпочитаете использовать свой компьютер, а не ремонтировать его, gfxCardStatus Коди Кригер в его готовой конфигурации выглядит все более и более привлекательным. Если вы действительно хотите, чтобы gfxCardStatus запускался при запуске, г-н Кригер участвовал в разъяснительной беседе , которая привела к переключению GPU. SwitchGPU предварительно устанавливает gfxCardStatus на дискретную или интегрированную графику достаточно рано, чтобы вы могли работать с интегрированной графикой, когда в противном случае ваш дискретный графический процессор перегрелся бы и вышел из строя. gfxCardStatus продолжает нормально работать (т. е. вы можете вернуться к дискретному графическому процессору после загрузки с помощью пункта меню gfxCardStatus). Нет причин устанавливать switchGPU, если у вас нет серьезных аппаратных проблем .с вашим дискретным графическим процессором, что означает, что вам нужно все время держать его выключенным.
Поразмыслив, моя собственная ситуация с интегрированным AMD 6750 достаточно плохая (такая горячая и громкая даже после термической переклейки), что я воспользуюсь программой ремонта Apple с расширенной гарантией для MacBook Pro 2011 года с графикой AMD. Марко Армент, вероятно, был прав, заменив свой 2,2-ГГц MBP 2011 года с 6750 на 2,0-ГГц версию с 6490 . Хотя в то время я думал сделать то же самое, мне пришлось бы отправить свой MBP за границу, чтобы изменить его. К сожалению, Retina MacBook Pro продолжают страдать от тех же проблем с нагревом и шумом . MacBook Pro 2013 года моей подруги только с интегрированной графикой ведет себя намного лучше.
Из-за проблем с нагревом и шумом на четырехъядерных рабочих станциях MBP я отказался и купил два Mac Pro (2006 и 2009 годов), модернизировал процессоры до восьми и шести ядер соответственно. Модель 2006 года с установленным процессором Apple AMD 5870 работает почти бесшумно (гораздо тише, чем модель 2009 года) и справляется с несколькими задачами лучше, чем MBP 15". Два серебряных корпуса (для дома и офиса) стоят меньше, чем один новый MacBook Pro. запуск 15-дюймового MBP 2011 года на встроенной графике только для переноски (без внешнего монитора).
Это решение предназначено для модели Retina MBP 15 дюймов 2014 года. Я лично интересовался отключением дискретного графического процессора для модели MBP 17 дюймов 2011 года. Поскольку важная часть программного обеспечения для меня требовала Mojave, я недавно вернулся к отключению дискретного графического процессора. gfxCardStatus не работает в Мохаве (он показывает информацию, но не отключает дискретный графический процессор).
Установка переменной NVRAM сработала ( nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
). Переменная NVRAM также активировала режим открытой раскладушки на 16-дюймовом MBP , который у меня есть здесь для тестирования. Установка переменной NVRAM кажется лучшим и самым безопасным способом решения серьезных проблем с графической картой на MacBook.
Полное решение NVRAM для семейства MBP 2011 было тщательно исследовано и задокументировано Луисом Пуэрто . Я успешно выполнил это решение. На случай, если сайт Луиса не работает, аналогичный пост, но более многословный, есть на AskDifferent .
Ваша запланированная процедура возможна. Ваша запланированная процедура не так сложна. Ваша запланированная процедура - не лучший вариант.
Почему этот маршрут неоптимален
MacBook Pro будет и должен переключиться на дискретный графический процессор (dGPU) после подключения внешнего дисплея. Таким образом, установленный, но отключенный dGPU лишает возможности использовать внешний монитор с этим dGPU.
Теперь есть и другие варианты, такие как использование USB-решений или внешних графических процессоров (eGPU). Но установка искомой переменной EFI определенно отключит прямой вывод одним кабелем из порта Thunderbolt на внешний монитор.
Как вы можете отключить дискретный графический процессор от EFI?
Команда, которую вы упомянули в своем обновлении, почти верна. Он просто пропускает правильный идентификатор:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Это записывает соответствующую переменную EFI в NVRAM и заставляет MacBook Pro всегда загружаться прямо во встроенный графический процессор (iGPU). Идентификатор предназначен не только для AMD dGPU, но и для всех dGPU. Подтверждено, что это работает с чипами NVidia. Это также легко обратимо с помощью сброса NVRAM.
Недостатки этой стратегии в данной ситуации
А теперь обратная сторона: потенциально есть две небольшие проблемы:
После принудительного применения этих настроек NVRAM macOS может «немного запутаться». Чип все еще там, подключен и запитан.
Чтобы это загрузилось, вам может потребоваться отключить графические драйверы для вашего dGPU. Или, по крайней мере, тот kext, который управляет фактическим переключением графики. В противном случае загрузка может зависнуть при попытке инициировать переключение графического процессора.
Обе вновь возникшие проблемы можно решить, переместив все файлы NVidia /System/Library/Extensions
в безопасное резервное место. Это загрузит машину в ускоренном режиме iGPU. Но установки переменной EFI может быть недостаточно для разумного управления питанием. Для этого вам, вероятно, придется вернуть кексты NVidia, кроме тех, которые отвечают за переключение графики. Невыполнение этого требования приведет к излишне высокой мощности dGPU. По крайней мере, он будет работать на «полной мощности» (в переводе на> ~ 60 ° C).
Это высокое энергопотребление в режиме ожидания потенциально может стать большим поражением для вашего плана по снижению шума вентилятора и увеличению заряда батареи. Боковое примечание из литературы: общепризнанной истиной должно быть то, что перемещение кекстов также требует отключения SIP в более новых версиях OS X/macOS, если вы перемещаете подобные вещи.
Общая стратегия поиска кекстов для экспериментов: загрузка без переменной NVRAM в стандартной системе (с кекстами NVidia по умолчанию). Затем обратите внимание на то, какие расширения загружает ваша система kextstat
. Затем перезагрузитесь с ранее загруженными кекстами NVidia / Geforce, удаленными и включенным взломом. Получите подробный сенсорный монитор (iStatMenus, TGPro и т. д.) и наблюдайте за температурой на графическом процессоре и вокруг него. Теперь загрузите один за другим соответствующие кексты обратно в ядро с расширением sudo kextload /path-to/NVDA***.kext
. Подождите одну-две минуты после каждого.
Поскольку метод, описанный в этом посте, или столь же правильный, но долгий способ: манипулирование EFIvars в Linux — это NVRAM, он будет корректно восстановлен, если вы выполните сброс SMC/NVRAM. Взлом NVRAM на самом деле единственная часть этого поста, которая точно не доставит вам особых хлопот.
Выполнение этого сброса NVRAM восстанавливает минимальный набор заводских настроек для переменных EFI/NVRAM. Эта заводская настройка не будет затронута.
Это можно делать так часто, как вам нравится.
В Linux система драйверов намного лучше документирована и имхо реализована чище. Есть много способов добиться этого с помощью или загрузки Linux. И Linux (будь то с учетом этой настройки NVRAM / EFIvars или с помощью других методов) доставит вам гораздо меньше проблем с драйверами (кто бы мог подумать). Для других ОС, таких как Microsoft Windows, у меня нет данных.
Повторюсь: если ОС не распознает dGPU должным образом, это не означает, что он выключен. Это может привести к нежелательным тепловым побочным эффектам.
Взгляните на это руководство для MacBook Pro 2011 года , чтобы найти похожее решение и немного больше возможностей; также быстро отменить и повторить взлом NVRAM.
Несколько мониторов и отключенный dGPU
Сказав, что все: gfxCardStatus (или попробуйте разные версии оригинала — у них разные параметры / возможности…) — это лучший вариант, если у вас нет реальных проблем с оборудованием. Это гораздо более гибко, и вы по-прежнему можете легко переключаться обратно на dGPU или внешние мониторы в работающей системе.
Будь то через EFI/NVRAM или с помощью gfxCardStatus: принудительное переключение Mac с переключаемой графикой на встроенную отключит режимы внешнего дисплея с использованием встроенного графического выхода DisplayPort или Thunderbolt. Это является следствием конструкции оборудования, которая направляет сигнал дисплея для внешних мониторов через dGPU. Использование не дискретных, а внешних графических адаптеров может быть обходным путем для этого ограничения.
Настройка EFI для включения интеграции в другие операционные системы.
Как должно быть ясно, настройка EFI, позволяющая другим операционным системам, таким как Linux, «видеть» переключаемую настройку графики, отличается от приведенной выше, которая отключает dGPU. Программа Tiny EFI для разблокировки Intel IGD на Macbook Pro 11,3 для Linux и Windows:
Программа Tiny EFI для разблокировки Intel IGD на Macbook Pro 11,3 для Linux и Windows. Он был сделан так, чтобы его можно было легко загружать немодифицированным загрузчиком EFI, таким как Grub, rEFInd и т. Д.
EFI модели Macbook Pro 11,3 отключает графический процессор Intel, если вы загружаете что-либо, кроме Mac OS X. Поэтому требуется небольшая хитрость, подделка идентификатора ОС, чтобы сделать все оборудование доступным.
Все кредиты принадлежат Андреасу Хайдеру, который первоначально обнаружил этот взлом: https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html .
nvram
команду со строкой, вызывающей сатану, необходимо давать всякий раз, когда что-то вмешивается во внутренние настройки, в результате чего ваш экран остается пустым. Это случилось со мной уже три раза, когда я невинно нажимал на информацию об этом Mac , когда отключал автопереключение видеокарты в настройках и при использовании какого-либо инструмента, поддерживающего OpenGL. Доступ в безопасном режиме и ввод команды вернули мне Mac (и мой сон тоже).Запоздалый ответ на один из ваших побочных вопросов: вам, вероятно, нужен дискретный графический процессор для использования внешнего дисплея. Причина должна заключаться в том, как подключены графические процессоры и видеовыходы.
(Я наполовину предположил, наполовину экстраполировал то, как работает технология переключения графики ноутбуков ПК. Это небезосновательное предположение, что эти технологии основаны на работе поставщиков графических процессоров с Apple. Тем не менее: возьмите следующее с большим зерном соль.)
В nVidia Optimus настройка заключается в том, что встроенный дисплей ноутбука подключается к встроенному графическому процессору, а порт внешнего дисплея подключается к дискретному графическому процессору. Если вам нужно отображать материал с помощью дискретного графического процессора на встроенном дисплее, дискретный графический процессор «подчиняется» интегрированному. Вызов рендеринга сначала поступает на встроенный графический процессор, который, если дискретный графический процессор включен, перенаправляет его туда, а затем извлекает результат, чтобы вывести его на дисплей.
Если подключен внешний дисплей, вызовы рендеринга для этого дисплея направляются непосредственно на дискретный графический процессор, потому что это графический процессор, который в любом случае может отправлять любые выходные данные на этот дисплей. Встроенный графический процессор просто не может сам по себе отправлять видео на этот порт. Я не думаю, что даже возможно «подчинить» интегрированный графический процессор дискретному, потому что, во-первых, это было бы бессмысленно с точки зрения дизайна в отношении целей технологии переключения графики; и даже тогда для этого все равно потребуется включить дискретный графический процессор, что не поможет людям, чей чип выходит из строя.
Если кто-то все еще ищет способы сделать это, ознакомьтесь с этим сообщением на форуме MacRumors.
Я выполнил шаги, упомянутые в этом сообщении на форуме, и мой 15-дюймовый MacBook Pro 2011 отлично работает, используя только встроенную графику. Бесполезная графическая карта AMD была успешно отключена.
Тецуджин
Мелиги
xpereta
asdfqwer
currentYear
панике ядра 16-дюймового macBook v10.15.5: 1.) получите gfx.io 2.) установите значение «Только интегрированные» 3.) купите кофе на cody@codykrieger.com