Les pilotes propriétaires NVidia avec EFI sur Mac, afin d'éviter la surchauffe

13

J'ai installé un Mac OS X 10.8 à double démarrage et un Kubuntu 12.10 64x sur mon MacBook blanc de la mi-2010. (Identifiant modèle:. MacBook7,1 J'ai mis à jour RAM de 2 Go à 8 Go, si cela importe.) Je les pilotes propriétaires NVIDIA installés sur de ma Kubuntu.

A en juger par le widget de contrôle de la température dans Kubuntu, ma température semble être ~ 10 ℃ plus chaud par rapport à sous Mac OS X. Sous Mac OS XI utilisation Moniteur de température . Je compare les Core CPU 0 et Core CPU 1 valeurs Kubuntu à la CPU de base 1 et CPU Core 2 valeurs sous Mac OS X.

10 ℃ plus peut - être pas une très grande catastrophe surchauffe, mais quand je fais des choses vraiment intenses sur mon ordinateur (comme le jeu Team Fortress 2 un certain temps) mon CPU est à ~ 70 ℃ sur OSX, et quand jouer un certain temps sur Kubuntu , mon CPU est ~ 80 ℃. Je crains que la température plus élevée ne raccourcisse la durée de vie de mon ordinateur portable.

Je l'ai fait des recherches et a découvert qu'il peut être que je l'ai installé en mode BIOS, ce qui provoque la chaleur. Je ne peux pas l'installer en mode EFI, car les pilotes NVidia propriétaires ne fonctionnent pas alors (déjà essayé, cela a donné un écran noir). Est-ce que quelqu'un sait comment obtenir le travail des pilotes NVidia propietary en mode EFI?

Edit: Ok, même s'il n'y a pas un moyen d'utiliser les pilotes nvidia propriétaires en mode EFI (ne semble pas comme il y a une façon de le faire, je ne reçois pas de réponses), je serais déjà heureux si le chauffage pourrait être fixé en mode BIOS. Comment puis-je au moins fixer le chauffage en mode BIOS? J'ai essayé de mettre cela dans mon xorg.conf dans la section de l'appareil pour permettre l'économie d'énergie:

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

... mais cela ne fonctionne pas.

Oh, et je ne suis pas à l'aide rEFIt par ailleurs, pourrait-il que?

stommestack
la source

Réponses:

19

Pour moi, le démarrage d'Ubuntu en mode UEFI avec les pilotes Nvidia chargés, a également toujours abouti à l'écran noir bien connu au démarrage de X.

C'était jusqu'à hier!

Après avoir rencontré des informations très prometteuses dans un autre fil sur l'installation de Windows 7 en mode UEFI sur un Mac. Les gens là-bas ont eu du mal à prendre en charge l'héritage int 10h requis de Windows 7 et ont découvert que pour contourner cela, on peut effectuer une installation sans assistance (car l'affichage ne fonctionne pas pendant l'installation). L' information cruciale pour réussir le démarrage d'Ubuntu en mode UEFI, même avec les pilotes Nvidia, était qu'au démarrage du démarrage EFI (lors de la remise à grub), le micrologiciel d'Apple n'active pas réellement la carte VGA en tant que maître de bus PCI-E . Les gars de Windows ont expliqué comment contourner cela en utilisant un shell EFI qui charge en chaîne le gestionnaire de démarrage Windows afin d'exécuter au moins la configuration en mode sans assistance. Et voici la bonne nouvelle:c'est facile à faire dans GRUB !

En fait, je tape en ce moment sur un MacBook Pro 7,1 (mi-2010) exécutant Ubuntu Vivid démarré en mode UEFI ( Xorg.0.log ). Cependant, il devrait être facile de l'exécuter ou de l'adapter à n'importe quelle distribution Linux fournissant une version EFI de GRUB, par exemple 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

Pour faire court, nous devons définir deux registres PCI-E: l'un qui permet la maîtrise du bus sur la carte vidéo et l'autre qui permet la prise en charge VGA sur le pont PCI-E de la carte vidéo. Donc, cela n'a en fait rien à voir avec les pilotes Nvidia et selon le point de vue, pas même avec la mise en œuvre obsolète / paralysée d'Apple.

Voilà comment je l'ai résolu. Bien sûr, les félicitations vont principalement aux gars sur le forum MacRumors. DÉNI DE RESPONSABILITÉ Les instructions suivantes sont fournies telles quelles, sans garantie et je n'assume aucune responsabilité. A VOS RISQUES ET PÉRILS!

1. Installez Ubuntu en mode UEFI avec les pilotes Nvidia

Je n'entrerai pas dans les détails ici car il y a beaucoup d'articles sur le web vous montrant comment faire et finir avec les nouveaux pilotes exécutant votre machine à chaud ou avec l'écran noir après l'installation des pilotes Nvidia (par exemple www.rodsbooks.com / ubuntu-efi ).

Veuillez noter cependant que les instructions suivantes supposent que vous avez correctement installé et démarré en mode UEFI. Vous pouvez le vérifier en vérifiant l'existence du répertoire / sys / firmware qui n'est créé qu'après le démarrage en mode EFI.

2. Trouvez les bons identificateurs de bus PCI-E

Nous avons besoin à la fois des ID de la carte graphique et du pont PCI-E auquel elle est connectée. Émettez la commande suivante dans un 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

Jetez un œil à (1) la ligne indiquant display et (2) à la ligne avec pont juste avant cette ligne d'affichage. Notez les identifiants de bus PCI-E (format XX: YY.Z) du périphérique pont (ici 00: 17.0) et du périphérique d'affichage (ici 04: 00.0) et rappelez-vous lequel est lequel. Remarque : Ces ID peuvent être différents sur votre machine, en fonction de votre modèle Mac et de révision.

3. Créez un script GRUB pour définir les registres PCI-E lors du démarrage

Lancez un éditeur de texte avec sudo nano /etc/grub.d/01_enable_vga.conf et copiez / collez le contenu ci-dessous. Remplacez 00: 17.0 par l'ID PCI-E de votre périphérique de pont noté à l'étape 2. Remplacez 04: 00.0 par l'ID PCI-E de votre périphérique d'affichage noté à l'étape 2.

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

Enfin, rendez le fichier créé exécutable et mettez à jour vos fichiers de configuration grub à l'aide des DEUX commandes suivantes.

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

4. Redémarrez et vérifiez

Si, après le redémarrage, les valeurs de registre ont été définies sur 8 (périphérique pont) et 7 (périphérique d'affichage), tout s'est bien passé:

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

5. Installez les pilotes Nvidia et profitez-en!

Utiliser Ubuntu pilotes supplémentaires GUI pour installer les pilotes Nvidia. Je recommande la suite de cet article sur la façon d'activer le contrôle de luminosité , car il ne fonctionne pas hors de la boîte.

Andreas
la source
Toute chance que vous pouvez créer un lien vers votre fichier /etc/X11/xorg.conf?
Patrick
Désolé, je l' ai vendu la machine quelques mois après la rédaction de cet article. Mais vous pouvez essayer de poser sur ce sujet du forum Arc: bbs.archlinux.org/viewtopic.php?id=162289&p=4 .
Andreas
1

J'ai eu un problème similaire avec mon ordinateur portable qui suit travaillé pour moi, je l'espère vous aide.

tout d' abord en utilisant Jupiter a aidé à résoudre les problèmes les plus plus de chauffage et de la vie de la batterie.
Mon ordinateur portable fonctionne en moyenne à 50 degrés Celsius et fonctionnait à 68 degrés Celsius avant d'installer Jupiter.

sudo add-apt ppa-dépôt: webupd8team / jupiter
mise à jour sudo apt-get
Sudo apt-get install jupiter

Après avoir installé Jupiter, j'ai installé Bumblebee pour faire fonctionner ma carte nvidia et basculer entre Intel et nvidea au besoin pour économiser la batterie et courir plus froid.

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

Redémarrer

Ensuite, testez pour voir si cela fonctionne avec

optirun glxspheres

Pour installer l'interface graphique de Bumblebee: /ubuntu//a/170596/207851

Après cela, mon ordinateur portable fonctionne en moyenne à 47 degrés Celsius et ma batterie dure en moyenne 3 heures (c'est avec l'écoute de la musique et le développement / le travail 3D comme l'utilisation de Blender).

Bonne chance et j'espère que cela vous aidera

Jonathan Moss
la source
0

J'essaierai d'aider.

D'abord, vous avez raison. Vous ne pouvez pas utiliser le mode EFI et les pilotes propriétaires. Non seulement cela, mais beaucoup d'autres choses vont se casser. Pour l'instant, votre meilleure option de support est d'installer en mode BIOS.

Maintenant pour chauffer. Gardez à l'esprit que OS X fonctionne plus froid car ils savent que leur "entrejambe plus chaud" est désagréable à des températures plus élevées. C'est-à-dire qu'ils refroidissent trop pour que vous puissiez vous asseoir avec un dissipateur de chaleur de 17 "sur vos genoux. Cela dit, vous pouvez contrôler les choses sous Linux afin que vous puissiez également refroidir (et garder la température plus froide).

Ce code est assez bon. Compilez-le, exécutez-le et configurez-le pour qu'il démarre au démarrage, et vous devriez obtenir de "meilleurs" résultats.

Vous pouvez également contrôler manuellement la vitesse du ventilateur.

première

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

Faites ensuite écho à une vitesse vers le contrôleur de ventilateur

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

6000 est la vitesse RPM de votre ciblage (dans les scripts ci-dessus). 6000 est le max "officiel". À cette vitesse, vous obtiendrez le son de décollage familier, et votre dissipateur de chaleur de 17 "deviendra assez froid. Vous brûlerez également vos ventilateurs assez rapidement. 2000 est le minimum. Je cours à 2000 un peu, voir rarement plus de 3000 même en jeu. Bien sûr, cela signifie qu'il fonctionne plus chaud que sous OS X.

La température maximale officielle du processeur de ce modèle est de 105 degrés. Celsius. Vous avez donc beaucoup de marge de manœuvre.

PS Nettoyez vos voies respiratoires, juste pour vous en assurer.

PPS Voici ma configuration pour mbpfan, c'est celle que j'utilise pour refroidir (pas mal) mais elle garde le portable cool au toucher, et beaucoup plus cool que sous 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  

Ce que je fais, c'est exécuter quelque chose qui va vraiment accumuler mon CPU et exécuter les CPU à 100%. Faites ensuite tourner les ventilateurs à 6000 tr / min et voyez où la température s'installe. Ensuite, définissez cette température comme mon "high_temp".

Réglez "max_temp" sur quelque chose un peu au-delà. Pas trop loin, mais plus loin que l'exemple de refroidissement excessif.

Ensuite, tournez le CPU pour économiser l'énergie. Et laissez-le tourner au ralenti avec les ventilateurs toujours à 6000. Réglez cette température sur votre "low_temp".

Enfin, pour la vitesse minimale du ventilateur, réglez-le sur quelque chose «vous aimez». Fondamentalement juste assez bas pour que vous ne puissiez pas l'entendre.

Ensuite, vous l'exécutez pendant un certain temps et voyez. Encore une fois, la température maximale du processeur pour le modèle est de 105 degrés, donc Linux n'a pas tort de le laisser entrer dans les années 80. Cela ne nuira à rien. Changer la vitesse du ventilateur garde cependant le boîtier plus frais (ce qui, car c'est le dissipateur de chaleur pour le CPU et le GPU, peut devenir assez chaud sur vos genoux), et c'est une pure préférence.

Pour moi, un minimum de 50, un maximum de 60 et un maximum de 70 fonctionnent assez bien. Mais encore une fois, ce niveau de peaufinage est tout à goûter. Avec cette configuration de refroidissement excessive, mon processeur ne dépasse jamais 59. Bien sûr, il est également assez fort.

coteyr
la source
"Vous brûlerez également vos fans assez rapidement." Est-ce à dire que cela va briser mes fans? Ou ai-je mal compris? Sinon, je vais essayer ça.
stommestack
Courir à 6000 à plein temps les épuisera assez rapidement. Les faire fonctionner à une vitesse plus normale (disons 3000-4000) sera très bien. Les fans sont censés culminer à 6000 pas y courir à plein temps.
coteyr
J'ai essayé d'installer cela, mais aucun résultat. Mon MacBook est encore plus chaud. Je sens la chaleur.
stommestack
Avez-vous essayé de faire fonctionner manuellement vos ventilateurs à 6000 et de dégager votre chemin de circulation d'air? La température de mon processeur est actuellement à 59,5 et les quatre cœurs sont à 100%. Cela ne sera pas beaucoup plus cool que ça.
coteyr
Cela ne peut pas être mon chemin de circulation d'air car sous Mac OS X, c'est vraiment cool. Lorsque je tiens mon doigt contre la touche alt gauche, je peux sentir la chaleur dans Ubuntu. Mais pas sous Mac OS X.
stommestack