Driver NVidia proprietari con EFI su Mac, per evitare il surriscaldamento


12

Ho un Mac OS X 10.8 a doppio avvio e Kubuntu 12.10 64x sul mio MacBook bianco da metà 2010 installato. (Identificatore del modello: MacBook7,1. Ho aggiornato la mia RAM da 2 GB a 8 GB, se è importante.) Ho i driver proprietari NVIDIA installati sul mio Kubuntu.

A giudicare dal widget di monitoraggio della temperatura in Kubuntu, la mia temperatura sembra essere ~ 10 ℃ più calda rispetto a sotto Mac OS X. In Mac OS XI uso Temperature Monitor . Sto confrontando i valori CPU Core 0 e CPU Core 1 in Kubuntu con i valori CPU Core 1 e CPU Core 2 in Mac OS X.

10 ℃ in più potrebbero non essere un disastro di surriscaldamento molto grande, ma quando faccio cose molto intense sul mio computer (come giocare a Team Fortress 2 per un po ') la mia CPU è a ~ 70 ℃ su OSX, e quando gioco per un po' su Kubuntu , la mia CPU è ~ 80 ℃. Temo che la temperatura più elevata possa ridurre la durata del mio laptop.

Ho fatto qualche ricerca e ho scoperto che potrebbe essere che l'ho installato in modalità BIOS, che causa il calore. Non riesco a installarlo in modalità EFI, perché i driver propietari NVidia non funzionano allora (già provato, ha dato una schermata nera). Qualcuno sa come far funzionare i driver propietary NVidia in modalità EFI?

Modifica: Ok, anche se non esiste un modo per utilizzare i driver nvidia proprietari in modalità EFI (non sembra che ci sia un modo per farlo, non ricevo alcuna risposta), sarei già felice se il riscaldamento potrebbe essere risolto in modalità BIOS. Come posso almeno riparare il riscaldamento in modalità BIOS? Ho provato a inserirlo nel mio xorg.conf nella sezione Device per abilitare il risparmio energetico:

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

... ma non ha funzionato.

Oh, e non sto usando rEFIt a proposito, potrebbe essere quello?

Risposte:


18

Per me, l'avvio di Ubuntu in modalità UEFI con i driver Nvidia caricati, ha sempre portato alla nota schermata nera all'avvio di X.

Era fino a ieri!

Dopo aver incontrato alcune informazioni molto promettenti in un altro thread sull'installazione di Windows 7 in modalità UEFI su un Mac. La gente laggiù ha lottato con il supporto legacy richiesto per 10 ore di Windows 7 e ha scoperto che per ovviare a questo, è possibile eseguire un'installazione automatica (perché il display non funziona durante l'installazione). Le informazioni cruciali per avviare con successo Ubuntu in modalità UEFI anche con i driver Nvidia erano che all'avvio di EFI boot (mentre si passa a grub), il firmware di Apple in realtà non attiva la scheda VGA come master bus PCI-E . I ragazzi di Windows hanno spiegato come aggirare questo problema usando una shell EFI che carica a catena il boot manager di Windows per eseguire almeno l'installazione in modalità automatica. Ed ecco la buona notizia:è facile farlo in GRUB !

In effetti, sto scrivendo questo su un MacBook Pro 7,1 (metà 2010) con Ubuntu Vivid avviato in modalità UEFI ( Xorg.0.log ). Tuttavia, dovrebbe essere facile eseguirlo o adattarlo a qualsiasi distribuzione Linux che fornisca una versione EFI di GRUB, ad esempio 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

Per farla breve, dobbiamo impostare due registri PCI-E: uno che consente il mastering del bus sulla scheda video e l'altro che abilita il supporto VGA sul bridge PCI-E della scheda video. Quindi in realtà non ha nulla a che fare con i driver Nvidia e, a seconda del punto di vista, nemmeno con Apple obsoleto / paralizzato / si chiama implementazione EFI.

Ecco come l'ho risolto. Naturalmente, i kudo vanno principalmente ai ragazzi sul forum MacRumors. ESCLUSIONE DI RESPONSABILITÀ Le seguenti istruzioni sono fornite così come sono, senza garanzie né assumo alcuna responsabilità. FAI QUESTO A TUO RISCHIO!

1. Installa Ubuntu in modalità UEFI con i driver Nvidia

Non entrerò nei dettagli qui perché ci sono molti articoli sul web che mostrano come farlo e finiscono con i driver nouveau che eseguono la macchina calda o con lo schermo nero dopo aver installato i driver Nvidia (ad es. Www.rodsbooks.com / ubuntu-efi ).

Si noti tuttavia che le seguenti istruzioni presuppongono che l'installazione e l'avvio siano stati eseguiti correttamente in modalità UEFI. È possibile verificarlo verificando l'esistenza della directory / sys / firmware che viene creata solo dopo l'avvio in modalità EFI.

2. Trova i giusti identificatori di bus PCI-E

Sono necessari sia gli ID per la scheda grafica sia il bridge PCI-E a cui è connessa. Emettere il seguente comando in una shell:

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

Dai un'occhiata a (1) la linea che dice display e (2) la linea con bridge proprio prima di quella linea di display. Annotare gli ID del bus PCI-E (formato XX: YY.Z) del dispositivo bridge (qui 00: 17.0) e del dispositivo di visualizzazione (qui 04: 00.0) e ricordare quale è quale. Nota : tali ID potrebbero essere diversi sul computer in uso, a seconda del modello e della revisione del Mac.

3. Creare uno script GRUB per l'impostazione dei registri PCI-E durante l'avvio

Avvia un editor di testo con sudo nano /etc/grub.d/01_enable_vga.conf e copia / incolla il contenuto di seguito. Sostituire 00: 17.0 con l'ID PCI-E del dispositivo bridge annotato nel passaggio 2. Sostituire 04: 00.0 con l'ID PCI-E del dispositivo display indicato nel passaggio 2.

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

Infine, rendere eseguibile il file creato e aggiornare i file di configurazione di grub utilizzando i seguenti DUE comandi.

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

4. Riavvia e controlla

Se, dopo il riavvio, i valori del registro sono stati impostati su 8 (dispositivo bridge) e 7 (dispositivo di visualizzazione), tutto è andato bene:

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

5. Installa i driver Nvidia e divertiti!

Utilizzare la GUI dei driver aggiuntivi di Ubuntu per installare i driver Nvidia. Consiglio di seguire questo articolo su come abilitare i controlli di luminosità perché non funziona immediatamente.


Qualche possibilità che potresti collegare al tuo file /etc/X11/xorg.conf?
Patrick,

Spiacente, ho venduto la macchina qualche mese dopo aver scritto questo articolo. Ma potresti provare a chiedere su questo thread del forum Arch: bbs.archlinux.org/viewtopic.php?id=162289&p=4 .
Andreas,

1

Ho avuto un problema simile con il mio laptop, il seguente ha funzionato per me, spero che ti aiuti.

in primo luogo l'utilizzo di Giove ha contribuito a risolvere la maggior parte dei problemi di surriscaldamento e durata della batteria.
Il mio laptop funziona in media a 50 gradi Celsius e funzionava a 68 gradi Celsius prima di installare Giove.

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

Dopo aver installato Jupiter, ho installato Bumblebee per far funzionare la mia scheda nvidia e passare da Intel a nvidea secondo necessità per risparmiare la durata della batteria e raffreddare.

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

Reboot

Quindi prova per vedere se funziona

optirun glxspheres

Per installare la GUI di Bumblebee: /ubuntu//a/170596/207851

Dopodiché il mio laptop funziona in media a 47 gradi Celsius e la mia batteria dura in media 3 ore (questo è con l'ascolto di musica e lo sviluppo / il lavoro 3D come l'uso di Blender).

Buona fortuna e spero che questo aiuti


0

Proverò ad aiutare.

Per prima cosa hai ragione. Non è possibile utilizzare la modalità EFI e i driver proprietari. Non solo, ma molte altre cose verranno bloccate. Per ora la tua migliore opzione per il supporto è installare in modalità BIOS.

Adesso come riscaldare. Tieni presente che OS X funziona più fresco perché sanno che il loro "cavallo caldo" è spiacevole a temperature più elevate. Cioè sono troppo fredde, così puoi stare fermo con un dissipatore di calore da 17 "in grembo. Detto questo puoi controllare le cose in Linux così puoi anche raffreddare (e mantenere la temperatura più fresca).

Questo codice è abbastanza buono. Compilalo, eseguilo e impostalo per l'avvio all'avvio, e dovresti ottenere risultati "migliori".

Puoi anche controllare manualmente la velocità della ventola.

primo

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

Quindi eco una velocità al controller della ventola

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

6000 è la velocità RPM del tuo targeting (negli script sopra). 6000 è il "ufficiale" max. A quella velocità otterrai il familiare suono di decollo e il tuo dissipatore di calore da 17 "diventerà piuttosto freddo. Inoltre brucerai i tuoi fan abbastanza rapidamente. 2000 è il minimo. Corro a 2000 abbastanza un po 'raramente ne vedo oltre 3000 anche quando si gioca. Ovviamente ciò significa che funziona più caldo rispetto a OS X.

La temperatura massima ufficiale per la CPU in quel modello è di 105 gradi. Centigrado. Quindi hai un sacco di spazio di manovra.

PS Pulisci le vie respiratorie, solo per essere sicuro.

PPS Ecco la mia configurazione per mbpfan è quella che sto usando per raffreddare (per un bel po ') ma mantiene il laptop fresco al tatto e molto più freddo allora in 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  

Quello che faccio è eseguire qualcosa che sta davvero accumulando la mia CPU ed eseguendo le CPU al 100%. Quindi avviare le ventole a 6000 RPM e vedere dove si posiziona la temperatura. Quindi imposta quella temperatura come "high_temp".

Imposta "max_temp" su qualcosa un po 'oltre. Non troppo lontano, ma oltre l'esempio del raffreddamento eccessivo.

Avanti Ruotare la CPU per risparmiare energia. E lascialo inattivo con i fan ancora a 6000. Imposta quella temperatura sul tuo "low_temp".

Infine, per una velocità minima della ventola, impostalo su qualcosa che "ti piace". Fondamentalmente abbastanza basso da non poterlo sentire.

Quindi lo esegui per un po 'e vedi. Ancora una volta, la temperatura massima della CPU per il modello è di 105 gradi, quindi Linux non è sbagliato nel lasciarlo entrare negli anni '80. Non danneggerà nulla. Cambiare la velocità della ventola, tuttavia, mantiene il case più fresco (il che, poiché è il dissipatore di calore per CPU e GPU, può diventare piuttosto caldo in grembo), e questa è pura preferenza.

Per me, un minimo di 50, un massimo di 60 e un massimo di 70 funziona abbastanza bene. Ma ancora una volta questo livello di modifica è tutto da assaggiare. Con quella configurazione di raffreddamento eccessivo La mia CPU non supera mai i 59. Ovviamente è anche abbastanza rumoroso.


"Brucerai anche i tuoi fan abbastanza rapidamente." Ciò significa che questo romperà i miei fan? O ho capito male? Altrimenti, ci proverò.
Stommestack,

L'esecuzione a 6000 a tempo pieno li brucerà abbastanza velocemente. Farli funzionare a una velocità più normale (diciamo 3000-4000) andrà bene. I fan dovrebbero raggiungere il picco a 6000 e non correre lì a tempo pieno.
Coteyr,

Ho provato a installarlo, ma nessun risultato. Il mio MacBook è ancora più caldo. Sento il calore.
Stommestack,

Hai provato a far funzionare i tuoi fan manualmente a 6000 e a liberare il percorso del flusso d'aria? La mia temperatura della CPU è attualmente a 59.5 e tutti e quattro i core sono al 100% Non sarà molto più freddo di così.
Coteyr,

Non può essere il mio percorso di flusso d'aria perché in Mac OS X è davvero bello. Quando tengo il dito contro il tasto alt sinistro, riesco a sentire calore in Ubuntu. Ma non in Mac OS X.
Stommestack,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.