Zastrzeżone sterowniki NVidia z EFI na Macu, aby zapobiec przegrzaniu

13

Mam podwójnego rozruchu Mac OS X 10.8 i Kubuntu 12.10 64x na moim białym MacBooku z połowy 2010 roku. (Identyfikator modelu: MacBook7,1. Zaktualizowałem pamięć RAM z 2 GB do 8 GB, jeśli to ma znaczenie.) Mam zainstalowane sterowniki NVIDIA na moim Kubuntu.

Sądząc z widżetu monitorowania temperatury w Kubuntu, moja temperatura wydaje się być o około 10 ℃ wyższa niż w Mac OS X. W Mac OS XI używam Monitora temperatury . Porównuję wartości CPU Core 0 i CPU Core 1 w Kubuntu z wartościami Core Core 1 i CPU Core 2 w Mac OS X.

10 ℃ więcej może nie być zbyt dużą katastrofą z powodu przegrzania, ale kiedy robię naprawdę intensywne rzeczy na moim komputerze (takie jak gra w Team Fortress 2 przez jakiś czas), mój procesor osiąga ~ 70 ℃ na OSX, a podczas grania przez jakiś czas na Kubuntu , mój procesor wynosi ~ 80 ℃. Martwię się, że wyższa temperatura może skrócić żywotność mojego laptopa.

Przeprowadziłem badania i odkryłem, że być może zainstalowałem go w trybie BIOS, co powoduje ciepło. Nie mogę zainstalować go w trybie EFI, ponieważ opatentowane sterowniki NVidia nie działają wtedy (już to wypróbowałem, dał czarny ekran). Czy ktoś wie, jak uruchomić zastrzeżone sterowniki NVidia w trybie EFI?

Edycja: Ok, nawet jeśli nie ma sposobu na użycie zastrzeżonych sterowników NVIDIA w trybie EFI (nie wydaje się, że jest na to sposób, nie otrzymuję żadnych odpowiedzi), byłbym szczęśliwy, gdyby ogrzewanie można naprawić w trybie BIOS. Jak mogę przynajmniej naprawić ogrzewanie w trybie BIOS? Próbowałem umieścić to w moim xorg.conf w sekcji Urządzenie, aby włączyć oszczędzanie energii:

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

... ale to nie działało.

Aha, a tak na marginesie, nie używam REFI, czy to możliwe?

stommestack
źródło

Odpowiedzi:

19

Dla mnie uruchomienie systemu Ubuntu w trybie UEFI z załadowanymi sterownikami Nvidia zawsze powodowało dobrze znany czarny ekran, gdy X był uruchamiany.

Tak było do wczoraj!

Po napotkaniu bardzo obiecujących informacji w innym wątku na temat instalacji systemu Windows 7 w trybie UEFI na komputerze Mac. Tamtejsi ludzie zmagali się z wymaganym wsparciem Windows 7 w starszej wersji 10h i odkryli, że aby obejść ten problem, można wykonać instalację nienadzorowaną (ponieważ wyświetlanie nie działa podczas instalacji). Istotne informacje, aby pomyślnie rozruchu Ubuntu w trybie UEFI nawet ze sterownikami Nvidia było to, że na początku rozruchu EFI (gdy przekazanie do grub), firmware Apple faktycznie nie aktywować kartę VGA jako master magistrali PCI-E . Chłopaki z systemu Windows wyjaśnili, jak obejść ten problem za pomocą powłoki EFI, która ładuje menedżera rozruchu systemu Windows w celu przynajmniej uruchomienia instalacji w trybie nienadzorowanym. A oto dobra wiadomość:łatwo to zrobić w GRUB-ie !

W rzeczywistości teraz piszę to na MacBooku Pro 7,1 (połowa 2010 r.) Z systemem Ubuntu Vivid uruchomionym w trybie UEFI ( Xorg.0.log ). Jednak powinno to być łatwe do uruchomienia lub dostosowania do dowolnej dystrybucji Linuksa zapewniającej wersję EFI GRUB, np. 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

Krótko mówiąc, musimy ustawić dwa rejestry PCI-E: jeden, który umożliwia mastering magistrali na karcie graficznej, a drugi umożliwia obsługę VGA na moście PCI-E karty graficznej. Tak więc nie ma to właściwie nic wspólnego ze sterownikami Nvidii i zależnie od punktu widzenia, nawet z przestarzałym / okaleczonym / nazwanym przez Apple wdrożeniem EFI.

Tak to rozwiązałem. Oczywiście, kudo trafia głównie do facetów na forum MacRumors. WYŁĄCZENIE ODPOWIEDZIALNOŚCI Poniższe instrukcje zostały dostarczone bez gwarancji i nie ponoszę żadnej odpowiedzialności. ZRÓB TO NA WŁASNE RYZYKO!

1. Zainstaluj Ubuntu w trybie UEFI ze sterownikami Nvidia

Nie będę tu wchodził w szczegóły, ponieważ w Internecie jest wiele artykułów pokazujących, jak to zrobić i skończyć z nowymi sterownikami pracującymi na gorącym komputerze lub z czarnym ekranem po zainstalowaniu sterowników Nvidia (np. Www.rodsbooks.com / ubuntu-efi ).

Należy jednak pamiętać, że poniższe instrukcje zakładają, że instalacja i rozruch w trybie UEFI przebiegły pomyślnie. Możesz to sprawdzić, sprawdzając, czy istnieje katalog / sys / firmware, który jest tworzony dopiero po uruchomieniu w trybie EFI.

2. Znajdź odpowiednie identyfikatory magistrali PCI-E

Potrzebujemy zarówno identyfikatora karty graficznej, jak i mostka PCI-E, do którego jest ona podłączona. Wydaj następującą komendę w powłoce:

~$ 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

Spójrz na (1) linię z napisem display i (2) linię z mostkiem tuż przed tą linią wyświetlacza. Zapisz identyfikatory magistrali PCI-E (format XX: YY.Z) urządzenia mostkowego (tutaj 00: 17.0) i urządzenia wyświetlającego (tutaj 04: 00.0) i zapamiętaj, który jest który. Uwaga : Te identyfikatory mogą się różnić w zależności od modelu komputera Mac i wersji.

3. Utwórz skrypt GRUB do ustawiania rejestrów PCI-E podczas uruchamiania

Uruchom edytor tekstowy za pomocą sudo nano /etc/grub.d/01_enable_vga.conf i skopiuj / wklej zawartość poniżej. Zamień 00: 17.0 na identyfikator PCI-E swojego urządzenia mostkowego zanotowany w kroku 2. Zastąp 04: 00.0 identyfikatorem PCI-E twojego urządzenia wyświetlanego zanotowanego w kroku 2.

cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF

Na koniec spraw, aby utworzony plik był wykonywalny i zaktualizuj pliki konfiguracyjne grub przy użyciu następujących DWÓCH komend.

~$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
~$ sudo update-grub

4. Uruchom ponownie i sprawdź

Jeśli po ponownym uruchomieniu, wartości rejestru zostały ustawione na 8 (urządzenie mostkowe) i 7 (urządzenie wyświetlające), wszystko poszło dobrze:

 ~$ sudo setpci -s "00:17.0" 3e.b
 08
 ~$ sudo setpci -s "04:00.0" 04.b
 07

5. Zainstaluj sterowniki Nvidia i ciesz się!

Użyj GUI dodatkowych sterowników Ubuntu, aby zainstalować sterowniki Nvidia. Zalecam śledzenie tego artykułu, jak włączyć kontrolę jasności, ponieważ nie działa od razu po wyjęciu z pudełka.

Andreas
źródło
Jest jakaś szansa, że ​​możesz utworzyć link do pliku /etc/X11/xorg.conf?
Patrick
Przepraszam, sprzedałem maszynę kilka miesięcy po napisaniu tego artykułu. Ale możesz spróbować zapytać w tym wątku na forach Arch: bbs.archlinux.org/viewtopic.php?id=162289&p=4 .
Andreas,
1

Miałem podobny problem z moim laptopem, który dla mnie działał. Mam nadzieję, że to ci pomoże.

po pierwsze użycie Jupitera pomogło rozwiązać większość problemów związanych z ogrzewaniem i żywotnością baterii.
Mój laptop działa średnio 50 stopni Celsjusza i działał w 68 stopniach Celsjusza przed zainstalowaniem Jowisza.

sudo add-apt-repository ppa: webupd8team / jupiter
sudo apt-get update
sudo apt-get install jupiter

Po zainstalowaniu Jupitera zainstalowałem Bumblebee, aby moja karta nvidia działała i przełączała się między informacjami wywiadowczymi i nvidea w razie potrzeby, aby zaoszczędzić czas pracy baterii i chłodzić.

add-apt-repository ppa: bumblebee / stable
sudo apt-get install nvidia-current
sudo apt-get install bumblebee bumblebee-nvidia

Restart

Następnie sprawdź, czy to działa

optirun glxspheres

Aby zainstalować GUI Bumblebee: /ubuntu//a/170596/207851

Następnie mój laptop działa średnio 47 stopni Celsjusza, a bateria wystarcza mi średnio na 3 godziny (dotyczy to słuchania muzyki i opracowywania / pracy 3D, takiej jak korzystanie z Blendera).

Powodzenia i mam nadzieję, że to pomoże

Jonathan Moss
źródło
0

Spróbuję pomóc.

Po pierwsze masz rację. Nie można używać trybu EFI i zastrzeżonych sterowników. Nie tylko to, ale wiele innych rzeczy zostanie zakorkowanych. Na razie najlepszą opcją wsparcia jest instalacja w trybie BIOS.

Teraz co do ciepła. Należy pamiętać, że OS X działa chłodniej, ponieważ wie, że ich „podgrzewacz krocza” jest nieprzyjemny w wyższych temperaturach. To znaczy, że są zbyt fajne, abyś mógł siedzieć spokojnie z 17-calowym radiatorem na kolanach. To powiedziawszy, że możesz kontrolować rzeczy w Linuksie, abyś też mógł być zbyt chłodny (i utrzymać niższą temperaturę).

Ten kod jest całkiem dobry. Skompiluj go, uruchom i ustaw, aby zaczynał się przy rozruchu, a powinieneś uzyskać „lepsze” wyniki.

Możesz także ręcznie kontrolować prędkość wentylatora.

pierwszy

echo 1 > /sys/devices/platform/applesmc.768/fan1_manual  
echo 1 > /sys/devices/platform/applesmc.768/fan2_manual  

Następnie wyświetl echo prędkości kontrolerowi wentylatora

echo 6000 > /sys/devices/platform/applesmc.768/fan1_input  
echo 6000 > /sys/devices/platform/applesmc.768/fan2_input  

6000 to prędkość RPM, na którą celujesz (w powyższych skryptach). 6000 to „oficjalny” maks. Przy tej prędkości usłyszysz znajomy dźwięk startu, a Twój 17-calowy radiator zrobi się dość chłodny. Spalisz też fanów dość szybko. 2000 to minimum. Pracuję przy 2000 dość rzadko, rzadko widzę ponad 3000 nawet podczas grania. Oczywiście oznacza to, że działa cieplej niż w OS X.

Oficjalna maksymalna temperatura procesora w tym modelu wynosi 105 stopni. Celsjusz. Masz więc dużo miejsca do poruszania się.

PS Oczyść drogi oddechowe, żeby się upewnić.

PPS Oto moja konfiguracja mbpfan, której używam do przechłodzenia (całkiem sporo), ale utrzymuje chłód laptopa w dotyku i znacznie chłodniej niż w 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  

To, co robię, to uruchamianie czegoś, co naprawdę spowoduje zwiększenie wydajności mojego procesora i uruchomienie procesorów na 100%. Następnie uruchom wentylatory przy 6000 obr / min i sprawdź, gdzie ustala się temperatura. Następnie ustaw tę temperaturę jako „high_temp”.

Ustaw „max_temp” na coś nieco poza tym. Nie za daleko, ale dalej przykład nadmiernego chłodzenia.

Następnie włącz CPU, aby oszczędzać energię. I pozwól mu pozostać bezczynnie z wentylatorami wciąż na 6000. Ustaw tę temperaturę na „low_temp”.

Wreszcie dla minimalnej prędkości wentylatora ustaw ją na „lubisz”. Zasadniczo na tyle niski, że go nie słychać.

Następnie uruchom go na chwilę i zobacz. Ponownie, maksymalna temperatura procesora dla modelu wynosi 105 stopni, więc Linux nie myli się, pozwalając mu wejść w lata 80. Nic nie zaszkodzi. Zmiana prędkości wentylatora powoduje jednak chłodzenie obudowy (co wynika z faktu, że jest to radiator procesora, a procesor graficzny może się nagrzewać na kolanach), co jest czystą preferencją.

Dla mnie niski 50, wysoki 60 i maksimum 70 działa całkiem dobrze. Ale znowu ten poziom udoskonalania jest do gustu. Dzięki tej konfiguracji nadmiernego chłodzenia Mój procesor nigdy nie przekroczy 59. Oczywiście jest również dość głośny.

Coteyr
źródło
„Szybko wypalisz swoich fanów”. Czy to znaczy, że to złamie moich fanów? A może źle zrozumiałem? W przeciwnym razie spróbuję tego.
stommestack
Praca w pełnym wymiarze 6000 szybko je wypali. Uruchomienie ich z bardziej normalną prędkością (powiedzmy 3000-4000) będzie w porządku. Fani mają osiągnąć szczyt na 6000, a nie pracować w pełnym wymiarze godzin.
coteyr
Próbowałem to zainstalować, ale bez rezultatów. Mój MacBook jest jeszcze gorętszy. Czuję ciepło.
stommestack
Czy próbowałeś uruchomić wentylatory ręcznie przy 6000 i wyczyścić ścieżkę przepływu powietrza? Moja temperatura procesora wynosi obecnie 59,5, a wszystkie cztery rdzenie mają wartość 100%. Nie będzie o wiele chłodniej.
coteyr
To nie może być moja ścieżka przepływu powietrza, ponieważ pod Mac OS X jest naprawdę fajnie. Kiedy trzymam palec na lewym klawiszu Alt, mogę poczuć ciepło w Ubuntu. Ale nie w Mac OS X.
stommestack