Je souhaite désactiver le GPU NVidia GTX 750M sur mon MacBook Pro 15 "(Retina, Mi-2014, Mac OS X 10.10 Yosemite). Je sais que je peux utiliser GfxCardStatus mais je lis que je pourrais avoir une solution plus permanente en modifiant certains EFI. drapeau.
Ma question est:
Comment puis-je désactiver le GPU discret d'EFI?
Je suppose que cela persiste après plusieurs redémarrages. Je voudrais aussi savoir comment l'annuler si nécessaire.
Mise à jour:
La question qui se pose est de savoir si la commande mentionnée dans GfxCardStatus dans le commentaire de github est correcte ou non, et comment l'annuler si cela ne fonctionne pas.
.
Une réponse à cela seul est une réponse correcte, mais ce sera génial si vous pouvez aussi me dire:
Si vous forcez les graphiques intégrés dans GfxCardStatus, Mac OS X (au moins jusqu'à Yosemite) ne vous permet pas d'utiliser plusieurs moniteurs (même si le logiciel Iris Pro intégré peut le faire).
Si je désactive le GPU discret d'EFI, macOS pensera-t-il que le GPU intégré est celui installé et me permettra-t-il d'utiliser plusieurs moniteurs avec celui-ci?
J'ai entendu dire que le même paramètre EFI est responsable de ne même pas montrer le GPU intégré à d'autres systèmes d'exploitation que macOS et vous devez le tromper d'une manière ou d'une autre pour penser que c'est macOS.
Est-ce vrai? Et si oui, comment faire ça?
Réponses:
Vous pouvez désactiver de manière permanente la carte graphique discrète en suivant les étapes suivantes:
MISE À JOUR! Essayez de modifier la variable NVRAM à partir du mode mono-utilisateur
La procédure décrite dans les étapes 1 à 3 a fonctionné pour moi jusqu'à macOS Sierra, mais avec la mise à niveau vers High Sierra, j'ai commencé à obtenir un écran rosâtre / rougeâtre et je ne pouvais pas entrer en mode de récupération pour répéter l'étape 3 comme je devais le faire dans. mises à niveau précédentes. En cherchant sur Internet, je suis entré dans ce problème de GitHub en expliquant que vous pourriez peut-être remplacer les étapes 1 et 2 par la commande suivante, que vous pouvez exécuter en mode mono-utilisateur (démarrage en appuyant sur cmd+ s):
1. Préparez une clé USB de démarrage avec une interface non graphique Linux
1.1 Télécharger ISO ArchLinux
1.2 Création de la clé USB amorçable avec le .iso
Ouvrez / Applications / Utilitaires / Terminal sous MacOS et répertoriez tous les périphériques de stockage:
diskutil list
Votre périphérique USB va ressembler à quelque chose
/dev/disk2 (external, physical)
. Vérifiez qu'il s'agit du périphérique que vous souhaitez effacer en vérifiant son nom et sa taille, puis utilisez son identificateur pour les commandes ci-dessous au lieu de/dev/diskX
.Un périphérique USB est normalement monté automatiquement dans macOS et vous devez le démonter (ne pas l'éjecter) avant de lui écrire en bloc avec dd:
diskutil unmountDisk /dev/diskX
Maintenant, copiez le fichier image ISO sur le périphérique. La commande dd est similaire à sa contrepartie Linux, mais notez le "r" avant "disque" pour le mode brut qui rend le transfert beaucoup plus rapide:
sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m
Une fois l'opération terminée, macOS peut se plaindre que "Le disque que vous avez inséré n'était pas lisible par cet ordinateur". Sélectionnez 'Éjecter'. Le périphérique USB sera amorçable.
2. Utiliser Linux pour changer les vars EFI
2.1 Démarrez
nomodeset
à la fin de cette ligne et appuyez sur Entrée.2.2 Effacer les vars EFI existants
On dirait que le système de fichiers efivarfs est monté par défaut! Donc, vous pouvez déjà
cd /sys/firmware/efi/efivars
etls
explorer ce répertoire et voir s’il existe unegpu-power-prefs-...
variable (où ... est l’UUID de cette variable).S'il existe une telle variable, il est préférable de la supprimer avec rm.
rm gpu-power-prefs-…
Si vous obtenez le message "opération non autorisée" lors de la tentative
rm
, cela signifie que efivarfs a été monté en lecture seule et vous devez le remonter avec des autorisations de lecture-écriture et essayez à nouveau:cd /
umount /sys/firmware/efi/efivars/
mount -t efivarfs rw /sys/firmware/efi/efivars/
cd /sys/firmware/efi/efivars/
rm gpu-power-prefs-…
Si cela échoue également (vous ne pouvez toujours pas effacer le fichier), utilisez la
chattr
commande pour désactiver l'immuabilité du fichier, puis effacez le fichier:chattr -i "gpu-power-prefs-…”
rm gpu-power-prefs-…
2.3 Créer un nouveau fichier gpu-power-prefs-…
2.4 Ajouter l'immuabilité au fichier gpu-power-prefs-…
Cette
chattr
commande est supposée verrouiller un fichier pour le rendre accessible uniquement par le "superutilisateur". Ainsi, lors du démarrage, votre EFI n'aura aucune chance de bousiller votre variable gpu-power-prefs -... en aucune circonstance.2.5 Démonter les efivars et redémarrer
Accédez au répertoire racine pour démonter les efivars:
Garantit que vos variables EFI sont vidées sur le système de fichiers efivarfs. Veuillez le démonter en toute sécurité avant de redémarrer.
3 Supprimer les kexts AMD / NVIDIA
Remarque : vous devrez peut-être procéder ainsi à chaque mise à jour de votre système d'exploitation, car il régénère normalement ces kexts. Vous voudrez peut-être ajouter cette réponse à vos favoris afin qu'elle soit accessible depuis un autre appareil lorsque vous en avez besoin.
Après la désactivation de la dGPU à l’aide d’Arch, le démarrage normal est suspendu à mi-parcours, mais le démarrage en toute sécurité fonctionne.
3.1 Déplacer les fichiers kext AMD / NVIDIA dans un répertoire de sauvegarde
Supprimez tous les fichiers kext AMD (ou NVIDIA, selon votre carte) dans le terminal de la console de récupération. Essayer de les supprimer en mode utilisateur unique génère uniquement des erreurs dans le bac à sable. Ne le faites pas en mode utilisateur unique! (celui avec lequel vous démarrez cmd+ s).
Start Terminal (Ces commandes sont destinées à AMD. Si vous utilisez NVIDIA, changez en conséquence)
diskutil cs list
(recherche l'UUID du volume logique: dernier élément)diskutil coreStorage unlockVolume UUID
(UUID: de la commande précédente)cd /Volumes/Macintosh\ HD
mkdir AMD_Kexts
mv System/Library/Extensions/AMD*.* AMD_Kexts/
reboot
J'ai trouvé la procédure dans ce lien , où vous pouvez lire l'attribution des différentes sections et un fil de discussion sur le sujet.
Je l'ai essayé moi-même sur un MacBook Pro début 2011 avec une carte graphique discrète défectueuse, incapable de démarrer même en cas de problème de surchauffe, pour aboutir à un ordinateur entièrement fonctionnel!
la source
Votre dilemme
Je suis tout à fait en accord avec votre souhait "d’économiser de la batterie et de réduire la chaleur, sans payer le coût du bruit" de l’utilisation de la carte graphique discrète à l’intérieur d’un MacBook Pro.
Attention
Avant de faire quoi que ce soit qui puisse désactiver votre affichage, assurez-vous de pouvoir vous connecter à votre MacBook Pro à l’aide de SSH afin de pouvoir annuler vos travaux manuels. Alors que le partage d'écran avec toutes les cartes graphiques désactivées fonctionnera probablement à une résolution par défaut, je ne parierais pas mon ordinateur dessus.
Réponses
Vous perdrez toute possibilité d'utiliser un moniteur externe (sous n'importe quel système d'exploitation). Les ports graphiques externes sont connectés à la puce graphique discrète.
Mon propre MacBook Pro 2011 fonctionne à une température stable de 60 degrés, même sous charge, avec un bruit de ventilateur minimal lors de l’utilisation des graphiques Intel intégrés et des pics pour les ventilateurs complets (dans la plage de 4000 à 6000 tr / min) lorsqu’il est sous charge avec le 6750 discret. est vrai. Moi aussi, je voulais pouvoir utiliser uniquement les graphiques intégrés et piloter un moniteur externe.
Pas moyen, pas comment.
Oui c'est vrai. Le processeur graphique Intel est désactivé par l'EFI du MacBook Pro 11,3 si vous démarrez autre chose que Mac OS X. Vous avez quatre choix si vous souhaitez utiliser la puce Intel intégrée sous un système d'exploitation alternatif:
Veillez à planifier à l'avance. Si vous ne vous préparez pas, vous vous retrouverez face à une carte graphique intégrée éteinte et à un écran noir. Bien sûr, vous pouvez toujours revenir en arrière et démarrer Mac OS X et recommencer.
Le plus simple des choix ci-dessus serait le numéro deux - pour remplacer le Apple EFI. Malheureusement, c'est celle qui pourrait vous empêcher de démarrer à une date ultérieure. Apple n'aime pas que les gens jouent avec EFI et se réserve le droit de bloquer votre appareil pour cela. Si vous aviez Apple Care et que vous étiez encore dans la période de garantie, vous pourriez trouver une épaule sur laquelle pleurer. Pourrait. Lorsque vous modifiez EFI, vous prenez également des risques pour la sécurité , c’est-à-dire que vous faciliterez le piratage de votre machine. Vous devez être en mesure de mettre à jour le dernier EFI afin de supprimer votre correctif.
La première option, rEFInd, se situe entre boot et EFI, ce qui laisse une marge de manœuvre considérable pour que quelque chose ne tourne pas rond et que vous restiez avec une brique et un long chemin dur pour retourner à un ordinateur en fonctionnement. Quelle est la gravité de ces problèmes? De nombreux propriétaires de MacBook Pro ont perdu leur disque dur suite à la perte de mémoire:
La troisième option est relativement facile. La correction des taches est un processus familier à tout ancien propriétaire de Hackintosh. Corriger Grub fonctionne et est facilement annulable, car les modifications ne sont pas apportées au niveau du microprogramme. Si vous appliquez un correctif à grub, le code grub supplémentaire est activé uniquement en maintenant option / alt au démarrage .
Conclusion
Si vous préférez utiliser votre ordinateur pour le réparer, le gfxCardStatus de Cody Krieger, dans sa configuration prête à l'emploi, paraît de plus en plus attrayant. Si vous voulez vraiment forcer gfxCardStatus à s'exécuter au début, M. Krieger a participé à une conversation éclairante qui a abouti à la commutation de SwitchGPU. switchGPU prédéfinit gfxCardStatus en graphiques discrets ou intégrés suffisamment tôt pour pouvoir être exécutés sur des graphiques intégrés lorsque votre GPU en mode surchauffe et tombe en panne. gfxCardStatus continue de fonctionner normalement (c.-à-d. que vous pouvez revenir au GPU discret après le démarrage à l'aide de l'élément de menu gfxCardStatus). Il n'y a aucune raison d'installer switchGPU sauf en cas de problèmes matériels graves. avec votre GPU discret, ce qui signifie que vous devez le garder éteint tout le temps.
Coda
À la réflexion, ma propre situation avec l’AMD 6750 intégré est suffisamment mauvaise (si chaud et si fort même après refonte thermique) que je me servirai du programme de réparation avec garantie prolongée d’Apple pour le MacBook Pro 2011 avec graphiques AMD. Marco Arment avait probablement raison de présenter son MBP 2011 à 2,2 GHz avec 6750 pour la version à 2,0 GHz avec 6490 . Alors que j'avais envisagé de faire la même chose à l'époque, j'aurais dû expédier mon MBP à l'étranger pour le changer. Malheureusement, les MacBook Pro Retina semblent continuer à souffrir des mêmes problèmes de chaleur et de bruit . Le MacBook Pro 2013 de ma petite amie, doté uniquement de graphiques intégrés, se comporte beaucoup mieux.
Suite à des problèmes de chaleur et de bruit avec les stations de travail MBP quad core, j'ai abandonné et acheté deux Mac Pro (un 2006 et un 2009), mis à niveau les processeurs à huit et six coeurs respectivement. Le 2006 avec Apple AMD 5870 installé est presque silencieux (beaucoup plus silencieux que le 2009) et multitâche mieux que le MBP 15 ". Les deux tours argentées (maison et bureau) coûtent moins combinées qu’un nouveau MacBook Pro. Pour le moment, je suis exécuter le MBP 2011 15 "sur des graphiques discrets uniquement en mode reportage (pas de moniteur externe).
la source
Votre procédure prévue est possible. Votre procédure prévue n'est pas si difficile. Votre procédure prévue n'est pas la meilleure option.
Pourquoi cet itinéraire est suboptimal
Les MacBook Pro devront et devront passer en mode GPU discret (dGPU) une fois qu'un écran externe est connecté. Par conséquent, un dGPU installé mais désactivé supprime la possibilité d'utiliser un moniteur externe avec ce dGPU.
Il existe maintenant d'autres options, telles que l'utilisation de solutions USB ou de GPU externes (eGPU). Cependant, le réglage de la variable EFI que vous recherchez désactivera définitivement la sortie directe avec un câble du port Thunderbolt à un moniteur externe.
Comment désactiver le GPU discret d'EFI?
La commande que vous avez mentionnée dans votre mise à jour est presque correcte. Il manque juste l'identifiant approprié:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Cela écrit la variable EFI correspondante dans la mémoire NVRAM et oblige le MacBook Pro à toujours démarrer directement en GPU intégré (iGPU). L'identifiant ne concerne pas uniquement les dGPU AMD, mais tous les dGPU. Ceci est confirmé pour fonctionner avec les puces NVidia. Il est également facilement réversible avec une réinitialisation NVRAM.
Inconvénients de cette stratégie dans cette situation
Et maintenant, les inconvénients: il y a potentiellement deux petits problèmes avec ceci:
Une fois que vous avez forcé ces paramètres NVRAM, macOS peut devenir "un peu confus". La puce est toujours là, câblée et alimentée.
Pour que cela démarre, vous devrez peut- être désactiver les pilotes graphiques de votre dGPU. Ou au moins celui de kext qui gère la commutation graphique réelle. Le démarrage peut se bloquer lorsque vous essayez d'initier le basculement GPU.
Les deux problèmes récemment rencontrés peuvent être résolus en déplaçant tous les logiciels NVidia
/System/Library/Extensions
vers un lieu de sauvegarde sûr. Cela démarrera la machine forcée en mode accéléré iGPU. Toutefois, définir une variable EFI peut ne pas suffire pour obtenir une gestion rationnelle de l’alimentation. Pour cela, vous devrez probablement faire reculer les kexts de NVidia, à l' exception de ceux responsables du basculement graphique. Ne pas le faire conduira à une puissance inutilement élevée sur le dGPU. Il sera au moins au ralenti à "pleine puissance" (traduit à> ~ 60 ° C).Ce ralenti à haute puissance sera potentiellement la grande défaite de votre plan pour réduire le bruit du ventilateur et augmenter la batterie. Note secondaire de la littérature: Il devrait être une vérité universellement reconnue que pour déplacer des kexts, vous devez également désactiver SIP sur les versions les plus récentes d'OS X / macOS, à condition de déplacer des éléments de ce type.
Stratégie générale pour trouver les kexts à expérimenter: amorce sans la variable NVRAM dans un système de base (avec les kexts NVidia 'par défaut'). Ensuite, notez les extensions avec lesquelles votre système se charge réellement
kextstat
. Ensuite, redémarrez avec les kexts précédemment chargés de NVidia / Geforce qui s’éloignent et le hack activé. Obtenez un moniteur de capteur détaillé (iStatMenus, TGPro, etc.) et surveillez la température sur et autour du GPU. Maintenant, chargez l'un après l'autre les kexts concernés dans le noyau avecsudo kextload /path-to/NVDA***.kext
. Attendez une ou deux minutes après chacune.Étant donné que la méthode de ce message - ou la méthode tout aussi valable, mais non négligeable: la manipulation d’EFIvars sous Linux - est NVRAM, elle sera rétablie si vous effectuez une réinitialisation SMC / NVRAM. Le piratage de NVRAM est en fait la seule partie de ce message qui ne vous causera pas beaucoup de problèmes.
Cette réinitialisation de la NVRAM restaure un ensemble minimal de paramètres d’usine pour les variables EFI / NVRAM. Ce réglage d'usine ne sera pas touché.
Cela peut être fait aussi souvent que vous le souhaitez.
Sous Linux, le système de pilotes est beaucoup mieux documenté et implémenté plus propre. Il existe de nombreuses façons de réaliser cela avec Linux ou d’amorcer. Et un Linux (que ce soit en respectant ce paramètre NVRAM / EFIvars ou par d’autres méthodes) vous causera beaucoup moins de problèmes avec les pilotes (qui l’aurait pensé). Pour d'autres systèmes d'exploitation, comme Microsoft Windows, je n'ai pas de données.
Répétons: Si le système d'exploitation ne reconnaît pas correctement la dGPU, cela ne signifie pas qu'il est éteint. Cela pourrait entraîner des effets thermiques indésirables.
Consultez ce guide pour les MacBook Pro 2011 pour une solution similaire et un peu plus d'options. aussi pour rapidement défaire et refaire le hack NVRAM.
Plusieurs moniteurs et un dGPU désactivé
Cela dit, gfxCardStatus (ou essayez différentes versions de l’original - elles ont des options / capacités différentes…) est de loin la meilleure option si vous n’avez pas de problèmes matériels à traiter. C'est beaucoup plus flexible et vous pouvez toujours revenir facilement à un dGPU ou à des moniteurs externes au sein d'un système en fonctionnement.
Que ce soit via EFI / NVRAM ou avec gfxCardStatus: forcer un Mac avec des graphiques commutables à intégré uniquement désactivera les modes d'affichage externes à l'aide de la sortie graphique intégrée DisplayPort ou Thunderbolt. Ceci est une conséquence de la conception matérielle qui achemine le signal d'affichage pour les moniteurs externes via le dGPU. L'utilisation d'adaptateurs graphiques non discrets mais externes peut constituer une solution de contournement à cette limitation.
Le paramètre EFI pour permettre l'intégration sur d'autres systèmes d'exploitation
Comme cela devrait être clair à présent, le paramètre EFI permettant aux autres systèmes d'exploitation tels que Linux de "voir" une configuration graphique commutable est différent de ce qui précède, ce qui désactive le dGPU. Tiny programme EFI pour déverrouiller l’Intel IGD sur le Macbook Pro 11,3 pour Linux et Windows:
la source
Réponse tardive à l'une de vos questions secondaires: vous avez probablement besoin du GPU discret activé pour utiliser un écran externe. La raison pour laquelle devrait être dans la façon dont les GPU et les sorties vidéo sont câblés.
(Je suis en train de deviner, d’extrapoler à partir du fonctionnement de la technologie de commutation graphique pour les ordinateurs portables. Il n’est pas déraisonnable de penser que ces technologies sont basées sur le travail des éditeurs de GPU avec Apple. Prenez tout de suite ce qui suit. sel.)
Avec nVidia Optimus, la configuration est la suivante: l'écran intégré d'un ordinateur portable est connecté au GPU intégré et le port d'affichage externe est connecté au GPU discret. Si vous avez besoin de restituer des éléments à l'aide du GPU discret sur l'affichage intégré, le GPU discret est "asservi" à celui intégré. Un appel de rendu est d'abord dirigé vers le GPU intégré, qui, si le GPU discret est activé, le transfère à cet endroit, puis extrait le résultat pour l'afficher à l'écran.
Si un écran externe est connecté, les appels de rendu pour cet écran vont directement au GPU discret, car c'est le GPU qui peut envoyer une sortie à cet écran. Le GPU intégré ne peut tout simplement pas envoyer de sortie vidéo sur ce port. Je ne pense pas qu'il soit même possible que le processeur graphique intégré soit "asservi" au contrôleur discret, car il serait tout d'abord inutile du point de vue de la conception en ce qui concerne les objectifs de la technologie de commutation graphique; et même dans ce cas, il faudrait toujours que le GPU discret soit activé, ce qui n’aiderait pas les personnes dont la puce est en panne.
la source
Si vous êtes toujours à la recherche de solutions, consultez ce post sur le forum MacRumors.
J'ai suivi les étapes mentionnées dans cet article du forum et mon MacBook Pro 2011 15 "fonctionne parfaitement avec uniquement son graphique intégré. La carte graphique sans valeur AMD a été désactivée avec succès.
https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix. 2037591 / page-5 # post-24511780
https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix. 2037591 /
la source