Apple

RESOLU: GPU Glitch MacBook Pro 2011 – MacBook Pro 17 "

Par Maximus63 , le 9 juillet 2019 - 16 minutes de lecture

Cet article, j’ai trouvé fait de nouveau le démarrage de mon MBP2011 en utilisant uniquement le i7 Intel HD3000 !!! Pas de mode sans échec 256 couleurs et graphismes lents $ @ $ *! & Issues. Ce plan de réparation a été réparé dans le cadre du plan de réparation Apple Extension en 2015 et a échoué à nouveau en 2018. Diffusez ce correctif à tous les utilisateurs que vous connaissez avec ce problème … Cela fonctionne vraiment (jusqu'à maintenant … ça fait presque deux mois que j'ai essayé ça) ça vous évite beaucoup de frustration !!!

https: //apple.stackexchange.com/question …

Contexte et explications

Tous les MacBook Pro de 2011 présentent un grave défaut de conception. La gestion thermique et la chaleur générée ainsi que la robustesse des puces graphiques AMD discrètes ne correspondent pas très bien. Apple le savait et agissait comme un Smith typique, ne réagissant à cela qu'après un scandale. Ce scandale a pris le nom de RadeonGate. Seulement avec un recours en recours collectif menacé, Apple fut finalement obligé de proposer un "programme d'extension de réparation".

Le programme Apple Repair Extension n'est plus disponible. Le seul moyen de résoudre ce problème consiste à remplacer uniquement la puce AMD. Pas la carte logique. Pas "re-balling", pas "refusion", pas "cuisson". Apple a remplacé une puce défaillante par une puce défaillante. Maintes et maintes fois. Seul le remplacement de la puce graphique reste une procédure matérielle coûteuse pour un tel ordinateur portable vintage.

Le seul moyen connu – à savoir: avec le logiciel seul – d'obtenir un MacBook Pro 2011 (8,2) avec "seule" une puce graphique AMD défaillante, se rallume de manière presque fiable, démarre sous macOS et est tout à fait utilisable avec une interface graphique accélérée est ce guide ou une variante de celui-ci. La plupart des astuces précédentes venaient de supprimer tous les fichiers AMD, ce qui se traduisait par une expérience utilisateur épouvantable, sans aucune accélération de l'interface graphique.

Il est nécessaire de connaître votre version exacte du système d'exploitation. Le guide suivant sera plus simple pour Yosemite mais suppose El Capitan ou une version plus récente. El Capitan, Sierra et High Sierra ont besoin du SIP (System Integrity Protection) désactivé. Sur les systèmes précédents (10.6 à 10.10), ces étapes sont inutiles.

Important: Ce guide suppose en outre que tous les utilisateurs sont toujours dans leur emplacement par défaut / Système / Bibliothèque / Extensions. Avoir tous les kexts d'AMD à l'exception d'un seul est bénéfique pour un fonctionnement «correct». Les hacks précédents dans cette direction peuvent vous avoir demandé de vous déplacer, ou pire: supprimez toutes les extensions de noyau AMD * / ATI *. Si tel est le cas: réinstallez les clés dans leur emplacement par défaut ou réinstallez le système de votre choix. Avoir la plupart des kexts d'AMD en place puis charger le X3000-kext avec un délai permettra à la GPU de gérer l'alimentation, ce qui autrement brûlerait de l'électricité pour rien (et pourrait hâter la mort de la puce par la chaleur). Pour réitérer: seul le fichier AMDRadeonX3000.kext a vraiment été absent au démarrage pour permettre un démarrage réussi, mais tous les autres pilotes (nécessaires) AMD doivent se trouver à leur emplacement par défaut et le X3000-kext chargé après / différé pour revenir dans un royaume. de gestion presque sensible de la puissance et de la température.

Contournement de la puce graphique discrète

Pour obtenir une certaine accélération de l'affichage, il sera nécessaire de forcer la machine à ne pas démarrer en mode graphique discret (dGPU) mais directement en mode graphique intégré (iGPU) et à rester dans ce mode.

Le démarrage en mode dGPU est la valeur par défaut sur les Mac dotés de deux cartes graphiques commutables. La procédure ci-dessous définit une variable NVRAM qui désactive le dGPU et oblige le système à utiliser uniquement les graphiques Intel intégrés, même lors du démarrage.

La variable NVRAM n'est pas documentée, mais semble s'appliquer universellement à tous les Mac dotés de deux cartes graphiques commutables. Cela signifie que cela devrait fonctionner sur les iMac et MacBook Pro. Qu'ils disposent de puces AMD ou NVIDIA. Les détails concernant les pilotes pouvant être nécessaires pour déplacer ne concernent que AMD dans ce guide. Mais la variable NVRAM contournera la puce graphique discrète dans tous les cas.

Cela vous rendra votre machine, mais vous perdrez certaines fonctionnalités: par exemple. la capacité de piloter un écran externe à partir du DisplayPort, un peu de performance 3D. Les connexions de données Thunderbolt devraient fonctionner.

Au cas où ce guide échoue ou n’est plus souhaité: il s’agit d’une configuration logicielle pure et donc totalement réversible à tout moment avec une simple réinitialisation NVRAM.

La procédure initiale:

Partie 1: Désactiver SIP, désactiver dGPU, déplacer une extension de noyau

1 Pour repartir à zéro: réinitialisez SMC et NVRAM: arrêtez, débranchez tout sauf l’alimentation, maintenez la touche leftShift + Ctrl + Opt + Power et relâchez tout en même temps;

2 Remettez maintenant sous tension et maintenez Cmd + Opt + p + r en même temps jusqu'à ce que vous entendiez le carillon de démarrage deux fois.

3 Démarrez dans la récupération mono-utilisateur en maintenant Cmd + r + s

4 Désactiver SIP: entrez: csrutil disable

5 Désactivez dGPU au démarrage en définissant la variable suivante: nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9: gpu-power-prefs =% 01% 00% 00% 00

6 activez le mode d’amorçage détaillé: nvram boot-args = "- v"

7 redémarrage en mode mono-utilisateur en maintenant Cmd + s au démarrage

8 partition racine montée en écriture / sbin / mount -uw /

9 créer un répertoire kext-backupmkdir -p / System / Library / Extensions-off

10 déplacent seulement UN kext incriminé: mv /System/Library/Extensions/AMDRadeonX3000.kext / System / Library / Extensions-off /

11 informez le système pour mettre à jour son kextcache: touch / System / Library / Extensions /

12 redémarrer normalement:

Vous devriez maintenant avoir un affichage accéléré iGPU, mais le système ne sait pas comment gérer l’alimentation de la puce AMD défaillante. (Dans cet état, le GPU est toujours au ralenti avec une puissance relativement élevée, consomme pas mal de batterie lorsqu'il est débranché et génère une température de GPU de 60 ° C et plus. [on average 60-85°C], bien qu’ils ne soient utilisés pour rien par le système.)

Partie 2: améliorer la gestion thermique et de l'énergie

Pour une meilleure gestion de l’alimentation du GPU désactivé, vous devez soit charger manuellement le kext crucial après le démarrage en:

sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext

Si vous avez une application de capteur de température, vous voudrez peut-être l’ouvrir avant de lancer la commande ci-dessus et de regarder la température baisser…

Automatisez cela avec le LoginHook suivant qui sera exécuté après le prochain redémarrage:

sudo mkdir -p / Bibliothèque / LoginHook

sudo nano /Library/LoginHook/LoadX3000.sh

avec le contenu suivant:

#! / bin / bash

kextload /System/Library/Extensions-off/AMDRadeonX3000.kext

pmset -a force gpuswitch 0 # non documenté / expérimental

sortie 0

puis rendez-le * 1 exécutable et actif:

sudo chmod a + x /Library/LoginHook/LoadX3000.sh

sudo par défaut write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh

* 1: L'utilisation non documentée de cette commande pmset semble améliorer le comportement veille / réveil / arrêt. Si ce n'est pas le cas, essayez de le laisser de côté.

Voir le déni de responsabilité ci-dessous. Ce qui suit n’est que spéculation: veille / réveil / arrêt peut rester gênant. La théorie ici est que "quelque chose corrompt lentement" ce qui est enregistré dans le SMC. Par conséquent, réinitialiser le SMC et réappliquer le hack variable semble améliorer la situation pendant un certain temps. (Solutions permanentes pour cet accueil!) Comme solution de rechange de courte durée, vous voudrez peut-être éviter le "sommeil fermé", qui semble poser plus de problèmes que d’autres méthodes (Apple-Menu, Keyboard-Shorcut). Les blocages apparents à l’arrêt ne sont généralement que de très longs retards qui permettront, à terme, d’arrêter proprement et avec succès. Des échantillons non scientifiques suggèrent que Yosemite est pire pour cela et El Capitan et Sierra se sont beaucoup mieux comportés à cet égard.

Le chargement manuel ou différé de cette extension essentielle du noyau permet au système de gérer un peu mieux la gestion de l'alimentation. La batterie sera moins utilisée et les températures émanant du GPU non utilisé chuteront dans une plage nettement inférieure à 50 ° C (en moyenne entre 15 et 50 ° C).

Pour une gestion correcte de l’alimentation, un nombre minimal de kexts chargés sont au démarrage (versions pour 10.12.6, vérifiez avec kextstat | grep AMD):

com.apple.kext.AMDLegacySupport (1.5.1)

com.apple.kext.AMD6000Controller (1.5.1)

com.apple.kext.AMDSupport (1.5.1)

com.apple.kext.AMDLegacyFramebuffer (1.5.1)

Et si la méthode de chargement ci-dessus a réussi, elle devrait apparaître ajoutée à la liste:

com.apple.AMDRadeonX3000 (1.5.1)

Mesures préventives pour une utilisation future

Il y a deux autres mises en garde à savoir: Ceci est réversible lorsque la SMC / NVRAM est réinitialisée. Si cela se produit, la variable NVRAM GPU-power-pref peut ou doit même être configurée à nouveau pour forcer l'utilisation de l'iGPU à partir du démarrage.

Étant donné que cela peut se produire assez facilement (et qu'il est souvent recommandé à tort trop souvent qu'il ne soit réellement utile), vous devez probablement vous préparer à un tel scénario et créer un script simple pour accélérer considérablement le processus et faciliter également la saisie de la variable nécessaire. moins sujet aux erreurs:

sudo nano /force-iGPU-boot.sh

– Entrez le contenu suivant dans ce fichier:

# / bin / sh

sudo nvram boot-args = "- v"

sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9: gpu-power-prefs =% 01% 00% 00% 00

sortie 0

– Maintenant, rendez cela exécutable:

sudo chmod a + x /force-iGPU-boot.sh

À l'avenir, lorsque le SMC / PRAM / NVRAM sera réinitialisé à ses valeurs par défaut, il est maintenant possible de démarrer dans SingleUser avec:

Cmd + s

– Et après avoir monté votre volume de démarrage en lecture-écriture pour exécuter uniquement cette ligne:

sh /force-iGPU-boot.sh

Partie 3: Gestion des mises à jour d'Apple

Cette configuration a maintenant un kext dans un endroit où les installateurs d’Apple ne s’attendent pas. C'est pourquoi, dans ce guide, SIP n'a pas été réactivé. Si une mise à jour contenant des modifications des pilotes AMD est sur le point de se produire, il est conseillé de ramener le fichier AMDRadeonX3000.kext à son emplacement par défaut avant le processus de mise à jour. Sinon, le programme de mise à jour écrit au moins un autre kext d'une version différente dans son emplacement par défaut ou, au pire, vous obtenez un état non défini de pilotes partiellement non correspondants.

Après toute mise à jour du système, le dossier / System / Library / Extensions doit être vérifié pour le kext incriminé. Sa présence à cet endroit entraînera par exemple un blocage de démarrage sur Yosemite et Sierra, une boucle de démarrage en surchauffe dans High Sierra.

Mettre à niveau vers High Sierra 10.13: avec ce piratage en place est presque simple: malgré l’application d’une mise à jour du microprogramme, le processus d’installation ne doit pas toucher la variable NVRAM. Le processus d'installation n'utilise pas non plus une puce AMD totalement accélérée, mais une accélération de base qui ne pose pas de problème pour ce piratage. Cependant, comme indiqué dans le paragraphe ci-dessus, le premier démarrage d'un système dont l'installation est terminée mais sur le point de démarrer le processus d'installation produira une boucle de démarrage induite par la chaleur / un crash. L'extension de noyau incriminée doit être déplacée à nouveau comme décrit ci-dessus. (À partir de l'étape 3) Après avoir déplacé le kext, tout va bien.

Mot de la fin et recommandations

De plus, cet ordinateur portable surchauffe, peu importe ce que vous faites. Le système de refroidissement est inadéquat et le grand nombre de puces AMD défaillantes en sont la preuve.

Pour prolonger la durée de vie de cette machine désormais piratée, il est conseillé de s’abstenir de soulever des objets lourds au cours de longues périodes. Suivez strictement les recommandations habituelles pour les ordinateurs portables: utilisez sur des surfaces dures, gardez les ventilateurs et les ailettes à l'intérieur propres. L'utilisation de tout logiciel fancontrol avec des paramètres relativement agressifs devrait également aider: comme smcFanControl, MacsFanControl ou TGPro (tous deux commerciaux).

Avertissement: Toute cette procédure n'est pas une solution miracle. L'état de défaillance de ces puces n'est pas prévisible à 100%. Très peu d'utilisateurs ont des problèmes, même avec ce hack en place: il peut y avoir des problèmes de redémarrage, de sommeil ou de réveil correct, la plupart d'entre eux provenant d'utilisateurs avec Yosemite, le moindre problème semble être sur Sierra. Dans ces cas, il semble parfois nécessaire de ne pas utiliser AMDRadeonX3000.kext, et donc également le LoginHook de la partie 3. (Voir la note complémentaire sous * 1 ci-dessus.) Dans les restrictions indiquées au début de cette réponse: La plupart des utilisateurs signaler le succès complet.

Une nouvelle modification matérielle très économique est disponible chez / à partir de RealMacMods: Bien qu’ils utilisent un moyen relativement compliqué de régler la variable EFI nécessaire avec Linux, l’avantage suivant est de couper complètement la tension du cœur de la dGPU en enlevant une toute petite résistance! (Photos sur le lien)

Lors de ce redémarrage, il est essentiel de démarrer une fois en mode sans échec (maintenez la touche Maj enfoncée tout au long du démarrage), puis de choisir l’arrêt (et non le redémarrage) dans le menu.

Effectuez ce démarrage en toute sécurité avec la résistance R8911 en place. Sans ce SAFE BOOT, les étapes suivantes risquent de ne pas fonctionner.

Ne plus bottes jusqu'à ce que vous remplissiez les étapes suivantes.

Le démarrage en toute sécurité efface les préférences de GPU au niveau du système d'exploitation, qui peuvent interférer avec le processus suivant.

Votre MacBook Pro cessera alors de basculer automatiquement vers la Radeon, mais il continuera à consommer de l'énergie, à générer de la chaleur et à être visible par le système d'exploitation.

Nous avons découvert que le simple fait de supprimer 1 résistance résoudrait ce problème.

La résistance peut également être remplacée par un commutateur, au cas où vous auriez besoin de réactiver votre radeon pour une raison quelconque.

L'emplacement de cette résistance varie selon les modèles de carte logique.

La résistance en question est R8911 sur le MBP 17 ″ et R8911 sur le MBP 15 ″, une résistance de 1 Ohm fournissant un chemin de courant au convertisseur CC-CC ISL6263C.

Cette résistance contrôle l’alimentation du régulateur de tension qui fournit la tension de base au processeur graphique Radeon. En termes simples, pas de tension de base, pas de GPU. Vous trouverez la résistance juste à droite d'un ventilateur (dans l'orientation ci-dessus). Ce sera près de la puce de convertisseur de tension ISL. C'est la puce que nous allons désactiver.

Il suffit de l'enlever. La méthode préférée est une station de refusion professionnelle, mais un fer à repasser et une main ferme vous mèneront là où vous devez être. Si vous avez utilisé du flux pour le retirer (inutile), veillez à nettoyer avec un peu d’alcool ou un autre solvant approprié.

C'est fondamentalement ça. Lors de votre prochain démarrage, vous remarquerez que votre problème de processeur graphique a disparu et vous ne verrez plus le processeur graphique AMD en tant que matériel installé.

Je n'ai pas testé cela, mais cela devrait éliminer tout besoin de prendre soin des clés et de résoudre tous les problèmes liés au sommeil, au réveil, à l'hibernation, au redémarrage, etc.