Запатентованные драйверы NVidia с EFI для Mac, чтобы предотвратить перегрев

12

У меня установлен Mac OS X 10.8 с двойной загрузкой и Kubuntu 12.10 64x на моем белом MacBook середины 2010 года. (Идентификатор модели: MacBook7,1. Я увеличил объем ОЗУ с 2 ГБ до 8 ГБ, если это имеет значение.) У меня на Kubuntu установлены проприетарные драйверы NVIDIA.

Судя по виджету монитора температуры в Kubuntu, моя температура кажется на ~ 10 ° выше по сравнению с Mac OS X. В Mac OS XI используйте 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, кстати, это может быть так?

stommestack
источник

Ответы:

18

Для меня загрузка Ubuntu в режиме UEFI с загруженными драйверами Nvidia также всегда приводила к хорошо известному черному экрану при запуске X.

Это было до вчерашнего дня!

После получения очень многообещающей информации в другой ветке об установке Windows 7 в режиме UEFI на Mac. Люди там боролись с требованием устаревшей поддержки Windows 7 в течение 10 часов и обнаружили, что для решения этой проблемы можно выполнить автоматическую установку (поскольку во время установки не работает отображение). Важная информация для успешной загрузки Ubuntu в режиме UEFI , даже с драйверами Nvidia в том , что при начале загрузки EFI ( в то время как передача до жратвы), прошивка от Apple на самом деле не активировать видеокарту в качестве ведущего 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 (например, 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 и наслаждайтесь!

Используйте GUI дополнительных драйверов Ubuntu для установки драйверов Nvidia. Я рекомендую следовать этой статье о том, как включить управление яркостью, потому что это не работает из коробки.

Andreas
источник
Есть ли шанс, что вы можете сослаться на ваш файл /etc/X11/xorg.conf?
Патрик
Извините, я продал машину через несколько месяцев после написания этой статьи. Но вы можете попробовать спросить в этой ветке форума Arch: bbs.archlinux.org/viewtopic.php?id=162289&p=4 .
Андреас
1

У меня была похожая проблема с моим ноутбуком, мне помогло следующее. Надеюсь, это поможет вам.

Во-первых, использование Юпитера помогло решить большинство проблем, связанных с перегревом и временем автономной работы.
Мой ноутбук работает в среднем на 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: /ubuntu//a/170596/207851

После этого мой ноутбук работает в среднем на 47 градусов по Цельсию, а моя батарея работает в среднем 3 часа (это при прослушивании музыки и разработке / работе в 3D, например, с использованием Blender).

Удачи, и я надеюсь, что это поможет

Джонатан Мосс
источник
0

Я постараюсь помочь.

Сначала вы правы. Вы не можете использовать режим 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. Конечно, он также довольно громкий.

coteyr
источник
«Вы также очень быстро сожжете своих фанатов». Значит ли это, что это сломает моих фанатов? Или я неправильно понял? В противном случае я попробую это.
Stommestack
Работа на 6000 полный рабочий день сожжет их довольно быстро. Запуск их на более нормальной скорости (скажем, 3000-4000) будет в порядке. Вентиляторы рассчитаны на пик в 6000, а не работают там полный рабочий день.
Котейр
Я пытался установить это, но безрезультатно. Мой MacBook еще горячее. Я чувствую тепло
Stommestack
Вы пытались запустить свои вентиляторы вручную на 6000 и очистить путь воздушного потока? Моя температура процессора в настоящее время составляет 59,5, а все четыре ядра на 100%. Это не будет намного круче, чем это.
coteyr
Это не может быть моим воздушным потоком, потому что под Mac OS X это действительно круто. Когда я держу палец на левой клавише Alt, я чувствую жар в Ubuntu. Но не в Mac OS X.
Stommestack