Власні драйвери NVidia з EFI на Mac, щоб запобігти перегріванню


13

На моєму білому MacBook з середини 2010 року встановлено подвійний завантажувач Mac OS X 10.8 та Kubuntu 12.10 64x. (Ідентифікатор моделі: MacBook7,1. Я модернізував оперативну пам’ять з 2 ГБ до 8 ГБ, якщо це має значення.) На моїй Kubuntu встановлені власні драйвери NVIDIA.

Судячи з віджета температурного монітора в Kubuntu, здається, що моя температура на ~ 10 ℃ гаряча порівняно з Mac OS X. У Mac OS XI використовується Monitor Monitor . Я порівнюю значення CPU Core 0 і CPU Core 1 в Kubuntu з значеннями CPU Core 1 і CPU Core 2 в Mac OS X.

10 ℃ більше може бути не дуже великою катастрофою перегріву, але коли я роблю справді інтенсивні речі на своєму комп’ютері (наприклад, в той час, як грати в Team Fortress 2 деякий час), мій процесор знаходиться в режимі ~ 70 ℃ на OSX, а під час його відтворення на Kubuntu деякий час , мій процесор становить ~ 80 ℃. Я переживаю, що більш висока температура може скоротити термін служби мого ноутбука.

Я провів кілька досліджень і з'ясував, що, можливо, я встановив його в режимі BIOS, що викликає тепло. Я не можу встановити його в режимі EFI, тому що пропітерні драйвери NVidia тоді не працюють (вже спробував це, він дав чорний екран). Хтось знає, як змусити пропітерні драйвери NVidia працювати в режимі EFI?

Редагувати: Гаразд, навіть якщо немає можливості використовувати власні драйвери nvidia в режимі EFI (не здається, що є спосіб це зробити, я не отримую жодних відповідей), я б уже був радий, якщо нагрів можна зафіксувати в режимі BIOS. Як я можу принаймні виправити нагрівання в режимі BIOS? Я намагався помістити це в мій xorg.conf у розділі «Пристрій», щоб увімкнути економію енергії:

     Option         "DPMS" "1"
     Option         "RegistryDwords" "EnableBrightnessControl=1; PowerMizerEnable=0x1; PerfLevelSrc=0x2233; PowerMizerDefault=0x3"

... але це не спрацювало.

О, і я, до речі, не використовую rEFIt, чи може це бути?

Відповіді:


19

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

Так було до вчорашнього дня!

Після того, як ви натрапили на дуже багатообіцяючу інформацію в іншому потоці про встановлення Windows 7 в режимі UEFI на Mac Люди там боролися із необхідною підтримкою застарілої версії для Windows 7 та з’ясували, що для того, щоб обійти це, можна виконати встановлення без нагляду (оскільки дисплей не працює під час встановлення). Важлива інформація для успішного завантаження 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

Я не буду вникати в деталі тут, тому що в Інтернеті є багато статей, які показують, як це зробити, і після закінчення встановлення драйверів Nvidia (наприклад, www.rodsbooks.com), драйвери nouveau запускають вашу машину гарячою або з чорним екраном. / 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) відображення рядка з рядком та (2) на рядок з мостом прямо перед цією лінією відображення. Запишіть ідентифікатори шин 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 і насолоджуйтесь!

Для встановлення драйверів Nvidia використовуйте графічний інтерфейс додаткових драйверів Ubuntu . Рекомендую дотримуватися цієї статті про те, як увімкнути керування яскравістю, оскільки це не працює поза коробкою.


Будь-який шанс ви могли зв’язати зі своїм файлом /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 install jupiter

Після того, як я встановив Юпітер, я встановив Bumblebee, щоб змусити свою карту nvidia працювати та перемикатися між Intel та nvidea у міру необхідності, щоб заощадити час роботи акумулятора та запустити кулер.

add-apt-repository ppa: джміль / стабільний
sudo apt-get install nvidia-current
sudo apt-get install джмеля джмеля-nvidia

Перезавантажте

Потім перевірити, чи працює він

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 - це швидкість RPM для націлювання (у сценаріях вище). 6000 - це "офіційний" макс. З цією швидкістю ви отримаєте звичний звук зльоту, і ваш 17-дюймовий радіатор стане досить холодним. Ви також досить швидко вигоріть вентилятори. 2000 - мінімум. Я бігаю на 2000 рік, дуже рідко бачу більше 3000 навіть під час ігор. Звичайно, це означає, що він працює тепліше, ніж в ОС 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 об / хв і подивіться, де температура осідає. Потім встановіть цю температуру як "високий_темп".

Встановіть "max_temp" щось дещо поза цим. Не далеко, але далі на прикладі переохолодження.

Далі Увімкніть процесор для енергозбереження. І нехай він простоїть з вентиляторами ще на рівні 6000. Встановіть цю температуру на "низький темп".

Нарешті, для мінімальної швидкості обертання вентилятора встановіть його на щось, що вам подобається. В основному досить низько, щоб його не чути.

Потім ви запускаєте його на деякий час і бачите. Знову ж таки, максимальна температура процесора для моделі - 105 градусів, тому Linux не помиляється за те, щоб дозволити йому потрапити в 80-ті. Це нічого не зашкодить. Зміна швидкості обертання вентилятора, однак, зберігає охолодження корпусу (що, оскільки це тепловідвід для процесора та GPU, може нагрітися на колінах), і це чиста перевага.

Для мене дуже добре працює низький 50, високий 60 і максимум 70. Але знову ж таки цей рівень налаштування - все на смак. З цим налаштуванням охолодження мій процесор ніколи не перевищує 59. Звичайно, він також досить гучний.


"Ви також досить швидко спалите своїх шанувальників". Це означає, що це зламає моїх шанувальників? Або я неправильно зрозумів? Інакше я спробую це.
stommestack

Працюючи в 6000 повного робочого дня, випалить їх досить швидко. Запустити їх із більш нормальною швидкістю (скажімо, 3000-4000) буде добре. Вентилятори призначені до піку в 6000, а не працювати там повний робочий день.
coteyr

Я спробував це встановити, але результатів не було. Мій MacBook ще гарячіший. Я відчуваю спеку.
stommestack

Ви спробували запустити вентилятори вручну на 6000 та очистити шлях повітряного потоку? Температура мого процесора наразі становить 59,5, а всі чотири ядра на 100%. Це не набагато прохолодніше.
coteyr

Це не може бути моїм потоком повітря, тому що в Mac OS X це дуже здорово. Коли я тримаю палець за ліву клавішу Alt, я відчуваю тепло в Ubuntu. Але не в Mac OS X.
stommestack
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.