Запатентованные драйверы NVidia с EFI для Mac, чтобы предотвратить перегрев
У меня установлен Mac OS X 10.8 с двойной загрузкой и Kubuntu 12.10 64x на моем белом MacBook середины 2010 года. (Идентификатор модели: MacBook7,1 . Я увеличил объем ОЗУ с 2 ГБ до 8 ГБ, если это имеет значение.) У меня на Kubuntu установлены проприетарные драйверы NVIDIA.
Судя по виджету монитора температуры в Kubuntu, моя температура кажется на 10 ° выше, чем в Mac OS X. В Mac OS X I используйте Temperature Monitor. Я сравниваю значения CPU Core 0 и CPU Core 1 в Kubuntu со значениями CPU Core 1 и CPU Core 2 в Mac OS X.
Еще 10 may может быть не очень большой перегревом, но когда я делаю действительно интенсивные вещи на своем компьютере (например, играю в Team Fortress 2), мой процессор на OSX равен ~ 70,, а когда он играет на Kubuntu, некоторое время мой процессор ~80℃. Я беспокоюсь, что более высокая температура может сократить срок службы моего ноутбука.
Я провел некоторое исследование и выяснил, что, возможно, я установил его в режиме BIOS, что вызывает нагрев. Я не могу установить его в режиме EFI, потому что устаревшие драйверы NVidia тогда не работают (уже пробовал, у него черный экран). Кто-нибудь знает, как заставить работать пропиетарные драйверы NVidia в режиме EFI?
Редактировать: Хорошо, даже если нет способа использовать проприетарные драйверы nvidia в режиме EFI (не похоже, что есть способ сделать это, я не получаю никаких ответов), я был бы счастлив, если бы нагрев можно исправить в режиме BIOS. Как мне хотя бы исправить нагрев в режиме BIOS? Я попытался поместить это в свой xorg.conf в разделе Device, чтобы включить энергосбережение:
Option "DPMS" "1"
Option "RegistryDwords" "EnableBrightnessControl=1; PowerMizerEnable=0x1; PerfLevelSrc=0x2233; PowerMizerDefault=0x3"
... но это не сработало.
О, и я не использую REFIt, кстати, это может быть так?
3 ответа
Для меня загрузка Ubuntu в режиме UEFI с загруженными драйверами Nvidia также всегда приводила к хорошо известному черному экрану при запуске X.
Это было до вчерашнего дня!
После получения очень многообещающей информации в другой ветке об установке Windows 7 в режиме UEFI на Mac. Люди там боролись с требованием устаревшей поддержки Windows 7 в течение 10 часов и обнаружили, что для решения этой проблемы можно выполнить автоматическую установку (поскольку во время установки не работает отображение). Важной информацией для успешной загрузки Ubuntu в режиме UEFI даже с драйверами Nvidia было то, что при запуске загрузки EFI (при переходе в grub) прошивка Apple фактически не активирует карту VGA в качестве хозяина шины PCI-E. Ребята из Windows объяснили, как обойти это, используя оболочку EFI, которая загружает диспетчер загрузки Windows, чтобы, по крайней мере, запустить установку в автоматическом режиме. И вот хорошая новость: это легко сделать в GRUB!
На самом деле, я сейчас набираю это на MacBook Pro 7,1 (середина 2010 года), на котором установлена Ubuntu Vivid в режиме UEFI ( Xorg.0.log). Тем не менее, его должно быть легко запустить или адаптировать для любого дистрибутива Linux с EFI-версией GRUB, например Ubuntu 14.04.2 LTS.
~$ dmesg | grep -i efi
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-15-generic.efi.signed root=UUID=7843c644-e6f4-4d64-9317-0b854cb524f2 ro quiet splash intremap=off acpi_osi=! acpi_osi=Darwin nomodeset vt.handoff=7
[ 0.000000] efi: EFI v1.10 by Apple
[ 0.000000] efi: ACPI=0xbf96a000 ACPI 2.0=0xbf96a014 SMBIOS=0xbf71a000
Короче говоря, нам нужно установить два регистра PCI-E: один, который позволяет управлять шинами на видеокарте, а другой - поддержку VGA на мосту PCI-E видеокарты. Так что это на самом деле не имеет ничего общего с драйверами Nvidia и, в зависимости от точки зрения, даже с устаревшей / урезанной / названной Apple реализацией EFI.
Вот как я это решил. Конечно, кудо в первую очередь достается парням на форуме MacRumors. ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Следующие инструкции предоставляются как есть, без гарантий, и я не несу никакой ответственности. ДЕЛАЙТЕ ЭТО НА СВОЙ СТРАХ И РИСК!
1. Установите Ubuntu в режиме UEFI с драйверами Nvidia.
Я не буду вдаваться в подробности, потому что в Интернете есть много статей, показывающих, как это сделать, и драйверы nouveau, работающие на вашей машине, нагретые или с черным экраном после установки драйверов Nvidia (например, http://www.rodsbooks.com/ubuntu-efi).
Однако обратите внимание, что в следующих инструкциях предполагается, что вы успешно установили и загрузились в режиме UEFI. Вы можете убедиться в этом, проверив наличие каталога /sys/firmware, который создается только после загрузки в режиме EFI.
2. Найдите правильные идентификаторы шины PCI-E
Нам нужны как идентификаторы для видеокарты, так и для моста PCI-E, к которому она подключена. Введите следующую команду в оболочке:
~$ sudo lshw -businfo -class bridge -class display
pci@0000:00:00.0 bridge MCP89 HOST Bridge
pci@0000:00:03.0 bridge MCP89 LPC Bridge
pci@0000:00:0e.0 bridge NVIDIA Corporation
pci@0000:00:15.0 bridge NVIDIA Corporation
pci@0000:00:16.0 bridge NVIDIA Corporation
pci@0000:00:17.0 >!!< bridge MCP89 PCI Express Bridge
pci@0000:04:00.0 >!!< display MCP89 GeForce 320M
Взгляните на (1) строку с надписью display и (2) строку с перемычкой прямо перед этой строкой display. Запишите идентификаторы шины PCI-E (формат XX:YY.Z) мостового устройства (здесь 00:17.0) и устройства отображения (здесь 04:00.0) и запомните, какой из которых. Примечание. Эти идентификаторы могут отличаться на вашем компьютере в зависимости от модели и версии Mac.
3. Создайте скрипт GRUB для настройки регистров PCI-E во время загрузки
Запустите текстовый редактор с помощью sudo nano /etc/grub.d/01_enable_vga.conf и скопируйте / вставьте содержимое ниже. Замените 00: 17.0 идентификатором PCI-E вашего мостового устройства, указанным в шаге 2. Замените 04: 00.0 идентификатором PCI-E вашего устройства отображения, указанным в шаге 2.
cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF
Наконец, сделайте исполняемый файл исполняемым и обновите ваши конфигурационные файлы grub, используя следующие ДВА команды.
~$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
~$ sudo update-grub
4. Перезагрузитесь и проверьте
Если после перезагрузки значения регистра были установлены на 8 (мостовое устройство) и 7 (устройство отображения), все прошло нормально:
~$ sudo setpci -s "00:17.0" 3e.b
08
~$ sudo setpci -s "04:00.0" 04.b
07
5. Установите драйверы Nvidia и наслаждайтесь!
Используйте графический интерфейс дополнительных драйверов Ubuntu для установки драйверов Nvidia. Я рекомендую следовать этой статье о том, как включить управление яркостью, потому что это не работает из коробки.
Я постараюсь помочь.
Сначала вы правы. Вы не можете использовать режим EFI и проприетарные драйверы. Не только это, но и многие другие вещи будут обмануты. На данный момент лучшим вариантом для поддержки является установка в режиме BIOS.
Теперь что касается тепла. Имейте в виду, что OS X работает круче, потому что они знают, что их "подогрев промежности" неприятен при более высоких температурах. То есть они перегреваются, так что вы можете спокойно сидеть с 17-дюймовым радиатором на коленях. При этом вы можете контролировать вещи в Linux, чтобы вы тоже могли перегреться (и сохранить температуру ниже).
Этот код довольно хорош. Скомпилируйте его, запустите и установите для запуска при загрузке, и вы должны получить "лучшие" результаты.
Вы также можете вручную контролировать скорость вентилятора.
первый
echo 1 > /sys/devices/platform/applesmc.768/fan1_manual
echo 1 > /sys/devices/platform/applesmc.768/fan2_manual
Затем проследите за скоростью на контроллер вентилятора
echo 6000 > /sys/devices/platform/applesmc.768/fan1_input
echo 6000 > /sys/devices/platform/applesmc.768/fan2_input
6000 - это скорость вашего таргетинга в минуту (в скриптах выше). 6000 это "официальный" макс. На этой скорости вы услышите знакомый звук взлета, и ваш 17-дюймовый радиатор станет довольно холодным. Вы также довольно быстро сожжете свои вентиляторы. 2000 - минимум. Я работаю на 2000, довольно редко вижу более 3000 даже в играх. Конечно, это означает, что он работает теплее, чем в OS X.
Официальная максимальная температура процессора в этой модели составляет 105 градусов. Цельсия. Таким образом, у вас есть много места для маневра.
PS Очистите дыхательные пути, просто чтобы убедиться.
PPS Вот мой конфиг для mbpfan, который я использую для переохлаждения (совсем немного), но он сохраняет ноутбук холодным на ощупь, и намного круче, чем в OS X.
[general]
min_fan_speed = 3200 # default is 2000
max_fan_speed = 6200 # default is 6200
low_temp = 45 # try ranges 55-63, default is 63
high_temp = 60 # try ranges 58-66, default is 66
max_temp = 62 # do not set it > 90, default is 86
polling_interval = 7 # default is 7
Что я делаю, так это запускаю что-то, что действительно сильно нагружает мой ЦП и запускает ЦП на 100%. Затем запустите вентиляторы на скорости 6000 об / мин и посмотрите, где устанавливается температура. Затем установите эту температуру как мой "high_temp".
Установите параметр max_temp немного выше этого. Не далеко, но дальше, чем пример с чрезмерным охлаждением.
Далее Включите процессор для экономии энергии. И пусть он простаивает с вентиляторами по-прежнему на 6000. Установите эту температуру на "low_temp".
Наконец, для минимальной скорости вращения вентилятора установите значение "Вам нравится". В основном достаточно низко, чтобы вы не могли слышать это.
Затем вы запускаете его на некоторое время и видите. Опять же, максимальная температура процессора для модели составляет 105 градусов, поэтому Linux не ошибся, позволив ему войти в 80-е годы. Это не повредит. Изменение скорости вращения вентилятора, тем не менее, сохраняет корпус кулера (который, поскольку это радиатор для процессора и графического процессора может сильно нагреваться на коленях), и это чистое предпочтение.
Для меня низкие 50, высокие 60 и максимальные 70 работают довольно хорошо. Но опять же, этот уровень настройки - все по вкусу. С такой конфигурацией переохлаждения мой процессор никогда не поднимается выше 59. Конечно, он также довольно громкий.
Я устанавливаю Linux Mint 20 xfce на macbook pro середины 2010 года.
Я выполнил эти шаги, числовые идентификаторы моего моста PCI и видео фактически такие же, как указано здесь (17 и 4). Я добавил сценарий в /etc/grub.d, но после перезагрузки, в то время как "setpci" показывает, что применяется строка "setpci -s "04:00.0" 04.b=7", "setpci -s "00:17.0" 3e.b=8" не похоже на "setpci -s "00:17.0" 3e.b" возвращает 02.
Что еще более странно, из корневой оболочки применяется "setpci -s" 00: 17.0 "3e.b = 8", при этом "setpci -s "00:17.0" 3e.b" возвращает 08.
Боюсь переходить на драйверы nvidia из-за боязни, что дойдет до черного экрана?
Благодарен за любое руководство...
У меня была похожая проблема с моим ноутбуком, у меня сработало следующее, надеюсь, это поможет вам.
Во-первых, использование Jupiter помогло решить большинство проблем, связанных с перегревом и временем автономной работы.
Мой ноутбук работает в среднем на 50 градусов по Цельсию и работал на 68 градусов по Цельсию до установки Юпитера.
sudo add-apt-repository ppa: webupd8team / jupiter sudo apt-get update sudo apt-get установить юпитер
После того, как я установил Jupiter, я установил Bumblebee, чтобы заставить мою карту nvidia работать и переключаться между intel и nvidea по мере необходимости, чтобы сэкономить заряд батареи и запустить кулер.
add-apt-repository ppa: шмель / стабильный sudo apt-get установить nvidia-current sudo apt-get установить шмель шмель-нвидия
перезагрузка
Затем проверьте, работает ли он с
optirun glxspheres
Чтобы установить графический интерфейс Bumblebee: /questions/391400/kak-ustanovit-bumblebee-ui-gui-v-ubuntu-1204/391408#391408
После этого мой ноутбук работает в среднем на 47 градусов по Цельсию, а моя батарея работает в среднем 3 часа (это при прослушивании музыки и разработке / работе в 3D, например, с использованием Blender).
Удачи, и я надеюсь, что это поможет