Se avete problemi di scheda video con il vostro MacBook Pro 15 oppure 17 del 2010 | 2011 potete probabilmente risolvere con un reballing oppure una sostituzione totale della GPU. In alternativa è possibile, con qualche piccolo sacrificio, disattivare completamente la GPU discreta AMD (quella che da problemi) attivando soltanto la scheda principale Intel HD Graphics.
Aggiornamento 2021: abbiamo provato con successo anche la soluzione con MODCHIP (chip di disattivazione) che elimina alcuni degli svantaggi che trovate elencati in questo articolo. Trovate la recensione qui:
Disattivazione GPU AMD su MacBook Pro 15 | 17 2011 (nuova modifica con Mod Chip)
Come disabilitare la GPU AMD Radeon su MacBook Pro 15 | 17
Se avete un MacBook Pro 15 | 17 del 2010 | 2011 con problemi di artefizi, righe verticali, cubetti colorati, schermata nera o schermata bianca forse può essere una possibilità quella di spegnere completamente la GPU che da problemi.
Cerchi assistenza per il tuo Mac? Clicca qui per maggiori info
La modifica è applicabile lavorando su due fronti:
- Modifica Software ai parametri dell’EFI;
- Modifica Hardware con disattivazione alimentazione alla GPU AMD Radeon;
La modifica è applicabile preferibilmente nei seguenti casi:
- su MacBook molto problematiche che hanno avuto già diversi tentativi di intervento sulla GPU;
- su MacBook con schede logiche rovinate da precedenti interventi di riparazione o con VRAM difettose;
- su MacBook su cui non si vogliono più investire soldi in riparazioni che durano poco;
- su MacBook dove non si devono effettuare lavori di grafica intensiva;
La modifica porta diversi vantaggi:
- il MacBook non darà più problemi di scheda video, nessun artefizio nè spegnimento;
- il MacBook sarà raffreddato in maniera più efficace (la GPU discreta è spenta);
- il MacBook consumerà meno energia (batteria più durevole a causa della GPU discreta spenta);
La modifica porta diversi svantaggi:
- Le performance sono ridotte: ovviamente la macchina è priva del processore grafico più potente;
- In caso di uso di HighSierra è necessaria una ulteriore modifica (FIX);
- La luminosità del display in caso di FIX per HighSierra non sarà più nativamente regolabile; si può utilizzare un’ apposita app;
- E’ consigliabile assegnare una password all’EFI per evitare qualsiasi tipo di reset volontario/involontario che possa alterare una parte della modifica.
- In molti casi l’uscita video esterna (displayport) non funzionerà: in questi casi non è possibile quindi applicare alcun display esterno al MacBook.
Aggiornamento 2021: abbiamo provato con successo anche la soluzione con MODCHIP (chip di disattivazione) che elimina alcuni degli svantaggi che trovate elencati in questo articolo. Trovate la recensione qui: DISATTIVAZIONE CON MODCHIP
Come ‘spegnere’ la scheda video che da problemi su MacBook Pro 15 e 17
Ecco le tre macro fasi che descriverò in questo articolo:
Fase 1: Modifica software ai parametri dell’EFI (livello Bios)
Fase 2: Riavvio MacBook modalità sicura
Fase 3: Disattivazione Hardware GPU discreta
Fase 1: modifica software ai parametri dell’EFI (livello Bios)
Questa parte include una modifica software che va ad inficiare un settaggio nel bios EFI, indicando al firmware di avvio di ignorare l’attivazione del chip video discreto AMD.
La combinazione di questa alterazione software con l’alterazione hardware spiegata successivamente permetteranno di avere una macchina stabile e perfettamente funzionante anche se con qualche piccolo difettuccio (risolvibile) sulla regolazione della luminosità.
Questa azione sull’EFI va fatta immediatamente prima della modifica hardware; e tra le due operazioni il mac dovrà essere avviato in modalità sicura per un reset dei parametri GPU lato OS (lo vedremo dopo).
Alcune di queste istruzioni in realtà funzionano anche con i chip nVidia ma le procedure non sono state testate su questo chipset.
La modifica di questo parametro in realtà si può effettuare con diverse strade tra cui:
Approccio n°1 – Modifica EFI con riprogrammazione chip bios: possiamo effettuare una dissaldatura del chip, una modifica di alcuni parametri del codice e una riscrittura finale dell’eeprom. Lo svantaggio naturalmente è che bisogna effettuare un lavoro ‘extra’, bisogna disporre di un programmatore SPI per chip SOP8 e anche perdere più tempo con un intervento hardware.
La scrittura diretta del chip bios in genere non porta alcun vantaggio in termini di affidabilità; tuttavia ha un’esclusiva perchè è l’unica strada perseguibile se il nostro MacBook sta messo così male da non visualizzare neanche una schermata iniziale, nè andare in single user mode!
Di solito uso un’altra strategia quando il MacBook non mi permette di agire da riga di comando o via Linux, nè di modificare parametri EFI: ho bios già pronti dei MacBook più diffusi con firmware EFI preparato per disattivare la GPU discreta. Quindi in questo caso scrivo l’EFI e ho concluso.
Approccio n° 2 – Modifica in tempo reale dei parametri EFI avviando in single user mode (opzione non consigliata): questa opzione la elenco, anche se credo sia quella più instabile.
Avviate il mac in modalità single-user-mode: premete e tenete premuti CMD + S all’avvio, fino a che non vi appare una schermata nera con caratteri bianchi.
Da notare che spesso, in caso di artefizi e problemi di visualizzazione dovuti a guasti della GPU, questa modalità funziona ancora.
Dovete digirare la stringa riportata sotto: è facile, avrete solo qualche difficoltà a digitare alcuni carateri con il settaggio americano della tastiera in modalità utente singolo ed il layout che quasi sicuramente avrete in italiano con il vostro Mac.
Digitate esattamente, appena il prompt ve lo consente, il comando che disattiva la GPU:
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Infine potete effettuare uno spegnimento con uno ‘shutdown’ o ‘reboot’.
Approccio n° 3 – Modifica EFI mediante riscrittura parametri EFI da sistema operativo Linux (opzione consigliata).
Questa opzione sarà quella che descriverò nei dettagli poichè la considero più stabile; prevede l’avvio da un sistema Linux che possa leggere, modificare e riscrivere l’ambiente EFI.
Il sistema Linux – in particolare una distribuzione ArchLinux compatibile con l’EFI – sarà avviata da CD oppure da chiavetta USB opportunamente creata con un PC/Mac funzionante.
Per riuscire a modificare l’EFI manualmente è però indispensabile che il Mac sia minimamente funzionante, cioè che possa far eseguire qualche comando mediante avvio da DVD: se il video è assente o molto alterato, purtroppo non è una strada perseguibile.
In questi ultimi casi è più utile scrivere un EFI già predisposto direttamente programmando il chip eeeprom (approccio n°1).
Scarichiamoci una versione Linux da avviare:
Scarichiamo una distribuzione di ArchLinux gratuita per poi crearne un disco di avvio (CD o penna USB): Il sito di riferimento è: https://www.archlinux.org/download/
Oppure potete scaricarne una versione (non aggiornata) dal mio sito (in formato ZIP) QUI
Creazione CD di boot ArchLinux con macOS
- Procuratevi un bel CD vuoto standard da 650 MB;
- Inseritelo in un MacBook funzionante oppure – se il Mac non dispone di unità SuperDrive – utilizzate un masterizzatore esterno USB;
- Cliccate con tasto destro sull’immagine .iso di ArchLinux precedentemente scaricata e poi selezionate “Masterizza immagine disco …. su disco”;
- Selezionate tra le opzioni una velocità più bassa (esempio: 8X) e confermate premendo su ‘Masterizza’;
- Attendete qualche minuto che la masterizzazione e la verifica del disco sia terminata.
Creazione CD di boot ArchLinux con Windows
Utilizzate un qualsiasi programma gratuito come cdrwin oppure imgburn o meglio, se avete Windows 10 non vi serve altro: in Windows 10 è inclusa un’utility di masterizzazione abbastanza semplice, più che sufficiente per chi vuole solo una copia fisica.
- Procuratevi un bel CD vuoto standard da 650 MB e inseritelo nell’unità di masterizzazione;
- Cliccate con tasto destro sull’immagine .iso di archlinux precedentemente scaricata e poi selezionate “Masterizza immagine disco”;
- Scegliere l’unità con il quale masterizzare l’immagine disco e fai click su “Masterizza”.
- Attendete qualche minuto che la masterizzazione e la verifica del disco sia terminata;
Creazione chiavetta | pendrive USB avviabile con macOS
Se volete anzichè usare CD potete creare una chiavetta USB di boot.
- Inserire una chiavetta USB di almeno 1GB in un Mac funzionante;
- Aspettiamo che venga riconosciuta dal sistema operativo poi apriamo il Terminale e digitiamo:
diskutil list
- Il sistema mostrerà una lista di device montati: tra di questi c’è sicuramente la chiavetta USB. Per esempio:
- Assicurarsi che l’unità che vogliamo utilizzare sia corretta, in particolare il nome dell’etichetta (nell’esempio CHIAVETTA) e segnamoci il descrittore (disk3 nell’esempio);
- Effettuiamo un unmount del dispositivo con:
diskutil unmountDisk /dev/(etichetta descrittore unità) quindi
diskutil unmountDisk /dev/disk3
- Copiamo ora il file immagine .iso del disco linux con il comando ‘dd’:
sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m
- Dopo il termine del comando otterremo una chiavetta USB avviabile. Nota: in caso di warning alla fine del processo, in cui il sistema avvisa che il disco non è leggibile, possiamo ignorare.
Creazione chiavetta | pendrive USB avviabile con Windows
Su Windows consiglio l’uso di Rufus, una piccola utility gratuita che svolge molto bene il suo lavoro. E’ abbastanza facile. La trovate sul sito https://rufus.akeo.ie/ oppure QUI.
Basta inserire la chiavetta USB, selezionare l’unità, il tipo di schema e filesystem… e cliccare su AVVIA.
Disattivazione GPU con alterazione EFI mediante Linux
Inseriamo il CD nel MacBook ‘malato’ e proviamo ad avviarlo premendo ‘cmd’. Se tutto è OK dovremo riuscire a vedere due icone CD (e anche altro se abbiamo lasciato collegato l’Hard Disk del sistema).
Selezioniamo e avviamo EFI Boot:
Appena appare la schermata di boot di ArchLinux, premiano la lettera ‘e’ sulla tastiera:
In basso, nella stringa di avvio, spostiamoci in fondo e aggiungiamo uno spazio e “nomodeset”. Premiamo enter/avvio per proseguire l’avvio di ArchLinux che prenderà alcuni minuti.
Aspettiamo che il boot del sistema termini: può impiegare diversi minuti alla fine dei quali apparirà un prompt.
Ecco il prompt:
La prima cosa da fare è quella di settare la tastiera italiana. Digitiamo il comando seguito da enter/invio:
loadkeys it <enter>
Spostiamoci nel folder virtuale (in realtà stiamo girovagando nella configurazione dell’EFI poichè il sistema operativo ArchLinux può accedere direttamente ad essa….):
cd /sys/firmware/efi/efivars/ <enter>
Ora eseguiamo un comando ls per mostrare il contenuto di questo folder:
ls -la <enter>
L’unica stringa EFI che interessa a noi è: ‘gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9‘.
ATTENZIONE: in alcuni casi questa stringa NON è presente. Nei casi in cui non dovesse essere presente, è possibile comunque crearla continuando a seguire i prossimi step senza problemi. Il comando creerà comunque una riga funzionante. In questo caso quindi saltate direttamente al punto 3.
Poichè è lunga da scrivere quando la inseriamo in un comando possiamo farci aiutare da linux: se digitiamo solo l’inizio “gpu” e premiano il tasto TAB, la shell autocompleterà il comando scrivendo il resto (dovrebbe esserci un solo script che inizia con “gpu”) e quindi sarà più semplice impartire comandi.
Ciò che dobbiamo fare è: sbloccare la stringa (comando chattr), eliminare la stringa (comando rm), ricreare una stringa nuova (comando printf) e ribloccare la stringa (comando chattr).
Operiamo.
1 – Per sbloccare la stringa EFI (potrebbe essere in uso):
chattr -i “gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9” <enter>
In caso di richiesta conferma, premere ‘y’ seguito da invio.
2 – Per eliminare la stringa EFI:
rm gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9 <enter>
3 – Per ricreare la stringa EFI con un comando che disattiva la GPU:
`printf “\x07\x00\x00\x00\x01\x00\x00\x00” > gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9` <enter>
(note: per scrivere il carattere di apice rovesciato ad inizio e fine riga, premere ALT DESTRO + apice singolo)
4 – Per bloccare la stringa EFI:
chattr +i “gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9” <enter>
In caso di richiesta conferma, premere ‘y’ seguito da invio.
Dopo lo sblocco conviene effettuare l’unmount dell’EFI:
cd / <enter>
umount /sys/firmware/efi/efivars/ <enter>
Infine si può effettuare un reboot, facendo attenzione a riavviare il mac in modalità sicura (shift premuto)
reboot <enter>
Come vedremo le modifiche ai parametri EFI potrebbero essere resettate da un reset PRAM per cui a fine lavoro conviene ‘bloccare’ l’EFI impostando una password. Nessun problema invece in caso di distacco batteria o reset SMC.
Fase 2: Riavvio MacBook modalità sicura
E’ necessario avviare il Mac una sola volta in modalità sicura prima di procedere alla fase 3 (disattivazione GPU discreta con modifica hardware): sembra infatti che un avvio in questa modalità, possa far resettare alcuni parametri del sistema operativo.
E’ quindi necessario inserire un disco funzionante e fare l’avvio da quest’ultimo.
Per avviare il Mac in modalità sicura, premiamo il tasto SHIFT (o maiuscolo) sinistro durante l’avvio e teniamolo premuto: macOS impiegherà molto tempo ad avviarsi.
Una volta terminato il boot, arriviamo alla scrivania poi spegniamo il sistema e lasciamolo spento.
Passiamo poi alla fase 3.
Fase 3: Disattivazione Hardware GPU discreta
La modifica hardware è tutto sommato semplice: va isolata/tolta una resistenza da 1 OHM e fatto un ponte nel circuito di illuminazione/backlight in caso di uso di macOS High Sierra.
La modifica è possibile sui MacBook Pro 15 e 17 del 2010-2011 e molto probabilmente funziona anche sui MacBook pro retina 15 del 2012-2013; proverò la modifica su quest’ultimo modello molto presto.
Ecco come funziona: in pratica isolando nel circuto una sola resistenza siglata R8911 (la sigla combacia per le schede dei due MacBook 15/17 dei prossimi esempi) andiamo ad inibire un’intera linea su cui viaggia il PowerVCC diretto al regolatore siglato U8900 (ISL6263C), quest’ultimo con funzionalità di monitoraggio della corrente verso la GPU.
Staccando quella resistenza è come se staccassimo la spina alla GPU. Ed è quello che vogliamo ottenere.
Il chip sarà così completamente disattivato.
Tuttavia come vedremo più avanti questo comporterà alcune problematiche che comunque possono essere scavalcate.
Ecco alcuni esempi di lavori su MacBook Pro 15 e 17.
Come disattivare via Hardware la GPU discreta AMD Radeon su MacBook 15 A1286 con MB 820-2915
La prima scheda madre su cui provo questo vero e proprio spegnimento ed isolamento della GPU AMD è una 820-2915-B appartenente ad un MacBook Pro 15 del 2011.
Per capire quale sia la posizione della resistenza R8911 sul MacBook pro 15 con scheda 820-2915-B mostrerò una foto che rappresenta il board view:
Se effettuiamo uno zoom, ecco la parte interessata: a sinistra un board view, a destra una foto reale.
La prima cosa che faccio è isolare la resistenza applicando del nastro alluminio. Poi cospargo un pò di flussante e rimuovo la resistenza con stazione ad aria. Anzi, invece di rimuoverla completamente, la sposto soltanto in modo da riposizionarla qualora ci sia la necessità in futuro.
Ed ecco il risultato finale:
Dal punto di vista della GPU ora dovremmo essere a posto… tuttavia con le modifiche hardware apportate alla GPU potrebbero sorgere alcuni problemi, specialmente se intendiamo utilizzare un sistema operativo a partire da High Sierra. Su sistemi fino a Sierra non c’è alcun problema nè alcuna necessità di ulteriori step.
Analizziamo ed affrontiamo invece i potenziali problemi in caso di installazione o uso di sistema macOS High Sierra o successivi.
Problema 1: con High Sierra lo schermo non si illumina dopo standby o sleep
La modifica cha abbiamo applicato può creare una fastidiosa anomalia con High Sierra: in pratica dopo uno standby o spegnimento dello schermo, il display del Mac non si riaccende; il problema sembra essere dovuto al segnale PWM (Pulse Width Modulated) che manca sul ramo del controller backlight.
La soluzione è quella di agire sulla resistenza R9704 e connettere il pin 2 di essa al pin 1 del condensatore C9711. In questo modo spariamo 3V (PP3V3) in ingresso al segnale PWM con la conseguenza che l’LCD sarà sempre illuminato al massimo della luminosità.
Nella prossima foto vediamo l’area dove si trovano i due componenti:
Ed un primo piano dei due punti da unire, saldando un piccolo filo di rame:
Ecco il risultato nel mio caso sul MacBook pro 15:
Problema 2: con l’applicazione della soluzione precedente, l’illuminazione display non è più regolabile
Dopo il fix precedente il MacBook con High Sierra gestirà bene lo spegnimento del display e la sua riaccensione dopo uno sleep, dopo un abbassamento del display o a valle di una sospensione.
Tuttavia non sarà più possibile regolare la luminosità del display con i soliti tasti.
Come workaround possiamo installare un’utility che ci permetterà di regolare la luminosità, associando anche alcuni tasti a questa regolazione.
L’app si chiama “Brightness Slider” e la trovate su AppStore oppure sul sito del produttore:
https://actproductions.net/free-apps/brightness-slider/
E’ una pezza ma funziona perfettamente.
Test MacBook Pro 15 con GPU discreta disattivata
Dopo la modifica software con modifiche ai parametri dell’EFI e a quella hardware con spegnimento della GPU AMD, accendiamo il MacBook e iniziamo ad effettuare i primi test.
Subito ci accorgiamo che nella lista hardware ora è riportato un solo chip grafico e cioè la scheda video integrata Intel HD Graphics 3000 !!
I test sulla GPU rilevano solo l’Intel: quindi insomma un vero successo!
Blocchiamo il bios EFI con una password per evitarne il reset
Restano i problemi con l’illuminazione e sopratutto sulla possibilità che l’EFI venga resettato da un semplice reset PRAM.
Per evitare questo reset – come qualsiasi altra modifica all’EFI – possiamo a questo punto escogitare un trucchetto: inserire una password nel bios EFI.
La password eviterà qualsiasi reset e ripristino dell’EFI effettuato da terze parti o senza la conoscenza della modifica apportata alla macchina.
Sperando di non dover dimenticare mai la password che andiamo ad impostare nell’EFI, procediamo con l’impostazione della password seguendo le indicazioni sul sito Apple:
https://support.apple.com/it-it/HT204455
Eccole:
- Esegui l’avvio da macOS Recovery tenendo premuti i tasti Comando (⌘)-R subito dopo aver acceso il Mac. Rilascia i tasti quando compare il logo Apple.
- Quando viene visualizzata la finestra delle utility, scegli Utility > Utility Password Firmware dalla barra dei menu. Questa utility è disponibile solo sui modelli di Mac che supportano l’uso di una password del firmware.
- Fai clic su Attiva la password del firmware.
- Inserisci una password del firmware nei campi visualizzati, quindi fai clic su Imposta password. Assicurati di non dimenticare questa password.
- Chiudi l’utility, poi scegli menu Apple () > Riavvia.
Come disattivare via Hardware la GPU discreta AMD Radeon su MacBook 17 A1297 con MB 820-2914
Per il MacBook Pro 17 2011 con scheda logica 820-2914 la modifica è sostanzialmente la stessa del MacBook Pro 15.
La sigla della resistenza da disattivare è la stessa, R8911. La posizione è indicata nelle prossime foto e slide:
Problema mancata illuminazione display dopo standby o chiusura schermo con High Sierra
Anche sul modello da 17 ci troveremo la stessa anomalia in caso di utilizzo di High Sierra: display che non si accende dopo uno sleep o dopo una chiusura manuale.
Il fix è lo stesso, e anche il nome dei componenti. Cambia giusto un pò la posizione degli elementi e dello schema.
Vediamoli.
I punti da unire sono sostanzialmente gli stessi già descritti per la versione di MacBook da 15 pollici, e cioè il punto 1 del condensatore C9711 va unito con il punto 2 della resistenza R9704.
Altri modelli a cui è possibile applicare la disattivazione della GPU discreta?
E’ possibile effettuare questa modifica anche sui MacBook Pro 15 con schermo retina 2012 ed Early 2013 che soffrono anch’essi di guasti alla GPU. Trovate articolo QUI.
Per info & preventivi: Carlo | 393.593.35.22 | assistenza@informaticanapoli.com
Cerchi assistenza per il tuo Mac? Clicca qui per maggiori info
Aggiornamento 2021: abbiamo provato con successo anche la soluzione con MODCHIP (chip di disattivazione) che elimina alcuni degli svantaggi che trovate elencati in questo articolo. Trovate la recensione qui: DISATTIVAZIONE CON MODCHIP