Problema GPU: l'avvio si blocca sullo schermo grigio


43

Ho trovato questo in base al mio problema in questo thread:
Boot si blocca su schermo grigio (anche quando si avvia da un'unità USB con una nuova installazione di OS X)

Il mio MacBook Pro 15 "All'inizio del 2011 con AMD Radeon HD 6750M ha mostrato corruzione del display e arresti / ripristini del sistema associati per un periodo di due settimane prima che non riuscisse completamente ad avviarsi. Lo stivale procedeva attraverso lo schermo grigio con il logo e lo spinner di Apple, ma proprio quando sembra che avrebbe dovuto passare alla schermata di accesso, il logo e il filatore di Apple scomparirebbero e si bloccherebbero su uno schermo grigio vuoto.

Inizialmente sospettavo la corruzione del disco rigido e cercavo di rimediare. Senza successo, ho provato quanto segue, ognuno dei quali ha continuato a bloccarsi come descritto sopra:

Avvio sicuro
Avvio in ripristino (incluso Internet Recovery)
Avvio dal supporto di installazione sull'unità USB
Avvio dall'installazione di OS X sull'unità USB
Cancella NVRAM
Ripristina SMC

Ho anche eseguito l'Apple Hardware Test molte volte senza che abbia riscontrato problemi.

L'avvio sicuro dettagliato (Cmd + Shift + V) genera tutto ciò che mi aspetterei di vedere, ma si bloccherebbe come descritto sopra.

Dopo aver trovato altri post online nei forum di discussione di Apple sui problemi relativi alla GPU, l'ho rivisitato come causa:

2011 MacBook Pro e scheda grafica discreta o 2011 MacBook Pro e scheda grafica discreta

Tentando di avviare Ubuntu da un'unità flash USB, sono riuscito a raggiungere solo GRUB. Quando si tenta di avviare Ubuntu Desktop o eseguire il test grafico in GRUB, il sistema si blocca.

A questo punto, l'esecuzione di Apple Hardware Test si è bloccata subito prima della fine del test standard, possibilmente [indovinando] quando si esegue un test video.

Sulla base dei consigli nei post di Apple Discussions sopra ho fatto quanto segue:

Avvio in modalità utente singolo
Eseguire i seguenti comandi:

/sbin/fsck -fy /
/sbin/mount -uw /
mkdir /Disabled_System_Library_Extensions
cd /Disabled_System_Library_Extensions
mv /System/Library/Extensions/ATI* .
mv /System/Library/Extensions/AMD* .
touch /System/Library/Extensions
exit

Questa volta la macchina si è avviata completamente. Tuttavia, la grafica è estremamente lenta, anche solo le transizioni quando si minimizzano le finestre. Porterò il mio MBP ad Apple per richiedere un rimpiazzo poiché il gran numero di segnalazioni di altri che affrontano problemi simili lo fa sembrare una ricorrenza di un simile errore legato alla GPU che li ha portati a fare un richiamo.

Ma quando uso il comando "mv" i file non vengono spostati (né eliminati) e mi mostra:
Sandbox deny (01) file-write-unlinked ...

Qualche soluzione?



@klanomath Sì, questo è il problema. È successo anche al mio vecchio MBP (solo uno schermo verdastro piuttosto che grigio).
Gufo,

Risposte:


81

Contesto e spiegazioni

Leggi tutto questo post almeno una volta dall'inizio alla fine prima di intraprendere qualsiasi azione.

Tutti i MacBook Pro del 2011 presentano un grave difetto di progettazione . La gestione termica e il calore generato insieme alla robustezza dei chip grafici AMD discreti non corrispondono molto bene. Apple lo sapeva e si comportava come un tipico Soapy Smith , reagendo a questo solo dopo uno sdegno. Questo scandalo ha assunto il nome di RadeonGate. Solo con una causa legale classificata Apple è stata finalmente costretta a offrire un cosiddetto "Programma di estensione di riparazione" .

Il programma Apple Repair Extension non è più disponibile . L'unico vero modo per risolvere questo problema è sostituire il solo chip AMD. Non la scheda logica. Non "re-balling", non "reflowing", non "baking". Apple ha sostituito un chip guasto con un chip guasto. Di volta in volta. Solo la sostituzione del chip grafico è ancora una procedura hardware costosa per un laptop così vintage.

L'unico modo noto - ovvero: solo con il software - per ottenere un MacBook Pro 2011 (8,2) con "solo" un chip grafico AMD guasto per riaccendersi quasi in modo quasi affidabile e avviarsi in macOS ed essere abbastanza utilizzabile con una GUI accelerata è questa guida o una sua variazione. La maggior parte dei suggerimenti precedenti ha appena rimosso tutti i kexts AMD e questo si traduce in un'esperienza utente orribile senza alcuna accelerazione della GUI.

È necessario conoscere la versione esatta del sistema operativo. La seguente guida sarà più semplice per Yosemite ma presuppone El Capitan o più recente. El Capitan, Sierra e High Sierra necessitano di SIP (System Integrity Protection) disabilitato. Sui sistemi precedenti (10.6-10.10) questi passaggi non sono necessari.

Importante: questa guida presuppone inoltre che tutti i kexts siano ancora nella loro posizione predefinita / Sistema / Libreria / Estensioni. Avere tutti i kexts AMD lì tranne uno è vantaggioso per il funzionamento "corretto". Gli hack precedenti in questa direzione potrebbero averti richiesto di spostarti o, peggio ancora: rimuovere tutte le estensioni del kernel AMD * / ATI *. In questo caso: sposta i kexts nella loro posizione predefinita o reinstalla un sistema a tua scelta. Avere la maggior parte dei kexts AMD in atto e quindi avere l'X3000-kext caricato con un ritardo consentirà la gestione dell'alimentazione della GPU che altrimenti brucerebbe l'elettricità per nulla (e potrebbe accelerare la morte termica finale del chip sopra quello). Per ripetere: solo il file AMDRadeonX3000.kextè stato veramente assente all'avvio per consentire un avvio riuscito, ma tutti gli altri (necessari) driver AMD dovrebbero trovarsi nella loro posizione predefinita e l'X3000-kext caricato successivamente / ritardato per tornare in un regno di gestione della temperatura e della potenza quasi sensata.

Bypassare il chip grafico discreto

Per ottenere un po 'di accelerazione del display sarà necessario forzare il computer a non avviarsi in grafica discreta (dGPU) ma direttamente in grafica integrata (iGPU) e rimanere in questa modalità.

L'avvio in modalità dGPU è l'impostazione predefinita sui Mac con due schede grafiche commutabili. La procedura seguente imposterà una variabile NVRAM che disabilita la dGPU e impone al sistema di utilizzare solo la grafica Intel integrata anche durante l'avvio.

La variabile NVRAM non è documentata ma sembra essere universalmente applicabile a tutti i Mac con due schede grafiche commutabili. Ciò significa che dovrebbe funzionare su iMac e MacBook Pro. Sia che abbiano chip AMD o NVIDIA. I dettagli sui driver che potrebbero essere necessari per lo spostamento riguardano solo AMD in questa guida. Ma la variabile NVRAM ignorerà in ogni caso il chip grafico discreto.

Questo ti restituirà la tua macchina, ma perderai alcune funzionalità: ad esempio la possibilità di guidare un display esterno da DisplayPort, un po 'di prestazioni 3D. Le connessioni dati Thunderbolt dovrebbero funzionare.

Nel caso in cui questa guida fallisca o non sia più desiderata: questa procedura è pura configurazione software e quindi completamente reversibile in qualsiasi momento con il semplice ripristino della NVRAM .

La procedura iniziale:

Parte 1: disabilita SIP, disabilita dGPU, sposta un'estensione del kernel

  1. Per iniziare da una lavagna pulita: ripristinare SMC e NVRAM:
    spegnimento, scollegare tutto tranne l'alimentazione, ora tenere premuto

    leftShift+ Ctrl+ Opt+ Power
    e rilasciare tutti contemporaneamente;

  2. Ora riaccendi e tieni premuto

    Cmd+ Opt+ p+ r
    allo stesso tempo fino a quando non si sente l'avvio due volte.

  3. Avvia in Single User Recovery tenendo premuto

    Cmd+ r+s

  4. Disabilita SIP: inserire:

    csrutil disable

  5. disabilita dGPU all'avvio con l'impostazione della seguente variabile:

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

  6. abilita modalità di avvio dettagliata:

    nvram boot-args="-v"

  7. riavviare in modalità utente singolo tenendo premuto

    Cmd+ s
    all'avvio

  8. montare la partizione di root scrivibile

    /sbin/mount -uw /

  9. crea una directory di backup kext

    mkdir -p /System/Library/Extensions-off

  10. sposta solo ONE offensivo kext di mezzo:

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

  11. informare il sistema per aggiornare la sua kextcache:

    touch /System/Library/Extensions/

  12. riavviare normalmente:

Ora dovresti avere un display accelerato iGPU, ma il sistema non sa come gestire l'energia del chip AMD guasto. (In questo stato la GPU è sempre al minimo con una potenza relativamente elevata, consumando un bel po 'di batteria quando è scollegata e portando a temperature della GPU da 60 ° C verso l'alto [in media 60-85 ° C], nonostante non sia utilizzata per nulla dal sistema .)

Parte 2: migliorare la gestione termica ed energetica

Per una migliore gestione dell'alimentazione della GPU disabilitata, è necessario caricare manualmente il kext cruciale dopo l' avvio mediante:

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

Se si dispone di un'applicazione con sensore di temperatura, è possibile che sia necessario aprirla prima di eseguire il comando precedente e osservare la caduta delle temperature ...

Automatizza questo con il seguente LoginHook che verrà eseguito dopo il prossimo riavvio:

sudo mkdir -p /Library/LoginHook   
sudo nano /Library/LoginHook/LoadX3000.sh

con il seguente contenuto:

#!/bin/bash
kextload  /System/Library/Extensions-off/AMDRadeonX3000.kext
pmset -a force gpuswitch 0    # undocumented/experimental
exit 0

quindi rendilo * 1 eseguibile e attivo:

sudo chmod a+x /Library/LoginHook/LoadX3000.sh  
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh 

* 1: L'uso non documentato di questo comando pmset sembra migliorare il comportamento di sospensione / riattivazione / spegnimento. In caso contrario, prova a lasciarlo fuori.
Vedi Disclaimer di seguito. Quanto segue è solo una speculazione: sleep / wake / shutdown potrebbe rimanere problematico. La teoria qui è che "qualcosa corrompe lentamente" ciò che viene salvato nella SMC. Pertanto, reimpostare SMC e riapplicare l'hack variabile sembra alleviare la situazione per un po 'di tempo. (Soluzioni permanenti per questo benvenuto!) Come soluzioni temporanee per un breve periodo di tempo potresti voler cercare di evitare il "sonno a chiusura del coperchio", che sembra dare più problemi di altri metodi (Menu Apple, Keyboard-Shorcut). I blocchi apparenti all'arresto sono in genere solo ritardi molto lunghi che alla fine si arrestano in modo pulito e con successo.
Campioni non scientifici suggeriscono che Yosemite è la peggiore per questo e El Capitan e Sierra si sono comportati molto meglio in questo senso.

Il caricamento manuale o altrimenti ritardato di questa estensione del kernel cruciale consente al sistema di gestire un po 'meglio la gestione dell'alimentazione. La batteria sarà meno utilizzata e le temperature provenienti dalla GPU inutilizzata scenderanno a un intervallo significativamente inferiore a 50 ° C (in media tra 15-50 ° C).

Per una corretta gestione dell'alimentazione, il set minimo di nodi caricati è all'avvio (versioni per 10.12.6, verificare con 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) 

E se il metodo di caricamento sopra riportato è riuscito, questo dovrebbe apparire aggiunto all'elenco:

com.apple.AMDRadeonX3000 (1.5.1) 


Un ultimo passaggio è riavviare nuovamente SingleUserRecovery.
Fai questo con Cmd+ r+ s
dopo che la riga di comando diventa attiva, inserisci:

 nvram boot-args="-v agc=0"   

e riavviare normalmente.

Questo raffredderà ulteriormente la dGPU.

È indispensabile emettere questo comando da SingleUserRecovery poiché il sistema con SIP abilitato bloccherà i tentativi di impostare questa variabile quando si avvia dal normale volume di avvio, sia nella normale modalità di avvio completo sia in SingleUser normale. È importante notare che questo passaggio non può essere facilmente integrato nello script force-iGPU.sh (che verrà creato in un minuto) e deve essere ripetuto da solo dopo un ripristino della NVRAM.

Quest'ultimo passaggio presuppone che SystemIntegretyProtection sia stato riattivato. Ma se SIP è intenzionalmente e permanentemente disattivato, questo passaggio può essere integrato nello script force-iGPU.sh sopra.
Ma dal momento che in qualche modo intendevo mantenere SIP spento in modo permanente ed è stato riacceso senza che me ne accorgessi, fare affidamento sul fatto che SIP rimanesse "spento" potrebbe non essere l'approccio migliore. La cancellazione della NVRAM, dove sono memorizzate le impostazioni SIP, potrebbe essere un disturbo imprevisto.

Misure preventive per un uso futuro

Ci sono altri due avvertimenti da sapere: questo è reversibile quando viene ripristinato SMC / NVRAM. Se ciò accade, la variabile NVRAM della GPU-power-pref può o deve essere nuovamente impostata per forzare l'uso dell'iGPU dal momento dell'avvio.

Dal momento che ciò può accadere abbastanza facilmente (e spesso è erroneamente consigliato troppe volte di quanto sia effettivamente utile), dovresti probabilmente prepararti per un tale scenario e creare un semplice script per accelerare notevolmente il processo e anche per inserire la variabile necessaria molto meno soggetto a errori:

 sudo nano /force-iGPU-boot.sh

- Immettere il seguente contenuto in questo file:

#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0

- Ora rendilo eseguibile:

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

In futuro, quando SMC / PRAM / NVRAM viene ripristinato ai valori predefiniti, è ora possibile avviare SingleUser con:

Cmd+s

- E dopo aver montato il volume di avvio read-write per eseguire solo questa singola riga:

sh /force-iGPU-boot.sh


Ricorda che ora anche la variabile agc viene cancellata. (Vedi sopra)
Inoltre, assicurati di impostare nuovamente il volume di avvio predefinito in Preferenze di Sistema> Disco di avvio.

Parte 3: Gestione degli aggiornamenti da Apple

Questa configurazione ora ha un solo nome in un punto che gli installatori di Apple non si aspettano. Ecco perché in questa guida SIP non è stato riattivato. Se sta per avvenire un aggiornamento che contiene modifiche ai driver AMD, è consigliabile spostare AMDRadeonX3000.kext nella posizione predefinita prima del processo di aggiornamento. Altrimenti il ​​programma di aggiornamento scrive almeno un altro kext di una versione diversa nella sua posizione predefinita o, nel peggiore dei casi, si ottiene uno stato indefinito di driver parzialmente non corrispondenti.

Dopo ogni aggiornamento del sistema, la cartella / Sistema / Libreria / Estensioni deve essere controllata per il kext offensivo. La sua presenza lì porterà, ad esempio, a un blocco di avvio su Yosemite e Sierra, un circuito di avvio surriscaldato in High Sierra.

L'aggiornamento a High Sierra 10.13: con questo hack in atto è quasi semplice: nonostante l'applicazione di un aggiornamento del firmware, il processo di installazione non dovrebbe toccare la variabile NVRAM. Inoltre, il processo di installazione non utilizza un chip AMD completamente accelerato, ma un'accelerazione di base non problematica per questo hack. Tuttavia, come indicato nel paragrafo precedente, il primo avvio in un sistema che ha terminato l'installazione ma che sta per iniziare il processo di installazione produrrà un ciclo di avvio indotto da calore / arresto anomalo. L'estensione del kernel offensiva deve essere spostata di nuovo come descritto sopra. (A partire dal passaggio 3) Dopo aver spostato il kext, tutto andrà bene.

Aggiornamenti recenti di Apple: non eseguire l'aggiornamento prima di aver letto quanto segue.

Fino a nuovo avviso: gli
aggiornamenti recenti rompono nuovamente la macchina. Aggiorna il firmware, RecoveryPartition, sembra disabilitare la possibilità di avviarsi in SingleUserRecoveryMode
e per di più installa - anche con DeltaUpdate - un AMDRadeonX3000.kext funzionante!
Senza preparazione e con solo la macchina a portata di mano rimarrai un po 'bloccato.

Nel caso in cui SingleUserRecoveryMode sia andato per sempre, utilizzare RecoveryMode normale. I risultati sono gli stessi, è solo un po 'più lento per l'avvio: la procedura sopra è ancora valida e più veloce per tutte le versioni precedenti di Mac OS X / macOS.

Ma se si aggiorna alla 10.13.6 o successive:
Quindi è necessario sostituire le istruzioni per SingleUserRecoveryMode ( Command+ r+ s) con RecoveryMode normale ( Command+ r) e disabilitare SIP tramite Terminale ( esempio per questo preciso caso d'uso ).

Nel caso in cui appartieni a quelli in cui anche la normale RecoveryMode non funziona come previsto:
Soluzioni alternative per l'impossibilità di disabilitare SIP con SingleUserRecovery:

  1. Innanzitutto, avvia la modalità di ripristino per singolo utente. Le modifiche csrutil non sono consentite in questa modalità, ma possono impostare la proprietà nvram gpu-power-prefs. Ciò contribuirà a riavviare la macchina in modalità di ripristino. Quindi è necessario sostituire le istruzioni per SingleUserRecoveryMode ( Command+ r+ s) con RecoveryMode normale ( Command+ r) e disabilitare SIP tramite terminale ( Esempio per questo caso d'uso preciso ).

  2. Prima di aggiornare, preparare un volume di avvio. Può essere un disco esterno o un bastone. Qualsiasi versione che avvia la macchina andrà bene. Tale unità può essere creata su un altro Mac.
    Tieni presente che anche sull'unità esterna deve essere (ri) spostato AMDRadeonX3000.kext. Prova ad avviare da quell'unità. Solo se funziona come previsto e puoi montare l'unità interna con essa: riavvia dall'unità interna e procedi con l'aggiornamento dell'unità / sistema interni alla 10.13.6.
    Al termine dell'aggiornamento, un riavvio si bloccherà. Forzare uno spegnimento e riavviare dall'unità esterna. Montare l'unità interna e spostare Radeon.kext. SIP protegge solo il sistema avviato.

  3. Suggerito da qualche parte online, ma davvero un'ipotesi disperata e non testata: invece di SingleUserRecoveryMode con Cmdrste potresti provare InternetRecoverySingleUserMode CmdOptrs. In alternativa, potrebbe valere la pena provare se SafeRecoveryMode funziona CmdShiftr.

    Anche la modalità di recupero grafico potrebbe non funzionare, come ha fatto per me. Tuttavia, nell'ultima versione di High Sierra, è ancora possibile avviare la modalità di ripristino per singolo utente. Ha solo bisogno di un buon tempismo. Il trucco è prima abilitare la modalità di ripristino premendo cmd + R e subito dopo viene riconosciuto il comando cmd + S per la modalità utente singolo. Il momento esatto deve essere capito dall'utente. Se si premono contemporaneamente cmd + R + S, verrà attivata solo la modalità utente singolo. Se si preme prima cmd + R e si preme cmd + S troppo tardi, viene caricata la modalità di recupero grafico. - TAKeanice ↵

I tasti di luminosità dello schermo non funzionano in High Sierra?

Apple ha cambiato il modo in cui gli eventi della tastiera per modificare la luminosità dello schermo sono gestiti in High Sierra. Con questo hack o le mod hardware sotto in atto i tasti saranno privi di funzioni. Un motivo in più per stare con Sierra. Ma con questo trucco potresti anche ricorrere all'uso di un'altra soluzione software. Oltre a violare la tua soluzione AppleScript, potresti voler provare applicazioni o app già pronte.

Ad esempio, il cursore Luminosità su AppStore offre scorciatoie da tastiera personalizzabili.


Per evitare questi arresti anomali / blocchi / cicli di avvio - che non sono mai una buona idea per il tuo filesystem - su una nuova installazione o un aggiornamento: assicurati di babysitter durante il processo di installazione e avvia sempre in SafeMode (tieni Shiftpremuto durante l'avvio fino a quando il kext viene spostato in un luogo sicuro - l'installazione dovrebbe procedere correttamente in SafeMode.

Osservazioni e raccomandazioni di chiusura

Inoltre: questo laptop si sta surriscaldando, qualunque cosa tu faccia. Il sistema di raffreddamento è inadeguato e l'enorme numero di chip AMD difettosi ne è la prova.

Per prolungare la vita di questa macchina ora compromessa, è consigliabile astenersi dal sollevamento di carichi molto pesanti per periodi di tempo prolungati. Seguire rigorosamente le solite raccomandazioni per i laptop: utilizzare su superfici dure, mantenere pulite le ventole e le alette. Anche l'utilizzo di qualsiasi software fancontrol con impostazioni relativamente aggressive dovrebbe aiutare: come smcFanControl , MacsFanControl o TGPro (entrambi commerciali).

Disclaimer: l' intera procedura non è un proiettile magico. Lo stato di errore di questi chip non è prevedibile al 100%. Pochissimi utenti hanno problemi anche con questo hack in atto: potrebbero esserci problemi con il riavvio, andare a dormire o svegliarsi correttamente, la maggior parte di essi proviene da utenti con Yosemite, il minimo problema sembra essere su Sierra. In questi casi a volte sembra necessario non utilizzare AMDRadeonX3000.kext, e quindi non anche LoginHook dalla parte 3. (Ma vedi la nota aggiuntiva sotto * 1 sopra.) Un numero sproporzionato di utenti con problemi di segnalazioni di High Sierra con i loro display regolazione della retroilluminazione. Quindi attualmente il punto debole per la scelta del sistema operativo è a mio avviso 10.12 Sierra.

In alcuni casi, anche con tutte queste misure in atto, sembra che la porta Thunderbolt ancora funzionante causerà alcuni problemi se eventuali periferiche sono collegate e attive quando la macchina entra in modalità di sospensione. In questo caso, qualsiasi successivo ciclo di sospensione potrebbe essere influenzato e sarà nuovamente necessario ripristinare la NVRAM con la successiva impostazione delle variabili delineata sopra. In questi casi, è consigliabile prevenire la sospensione della macchina o scollegare qualsiasi hardware sulla porta Thunderbolt prima di lasciare la macchina in pausa.

Entro le restrizioni delineate all'inizio di questa risposta: la maggior parte degli utenti registra un successo completo.


Mod hardware / hack

Diversi modi disponibili ora, alcuni cattivi, altri buoni.

Soluzione errata: è disponibile una modifica hardware molto economica su / da RealMacMods: sebbene utilizzino un modo relativamente complicato di impostare la variabile EFI necessaria con Linux, ciò che segue ha il vantaggio di tagliare completamente la tensione del core alla dGPU rimuovendo solo un piccolo resistore ! (Immagini al link)

Su questo riavvio è essenziale avviare una volta in modalità provvisoria (tenere premuto Shift durante l'avvio), quindi scegliere arresto (non riavvio) dal menu.
Eseguire questo avvio sicuro con la resistenza R8911 in posizione. Senza questo STIVALE SICURO, i passi successivi potrebbero non funzionare.
Non eseguire più stivali fino a quando non si completano i passaggi successivi.
L'avvio sicuro cancella le preferenze della GPU a livello di sistema operativo, che potrebbero interferire con il seguente processo.
Ciò causerà ora l'interruzione automatica del MacBook Pro su Radeon, ma assorbirà comunque energia, creerà calore e sarà visibile al sistema operativo.
Abbiamo scoperto che la semplice rimozione di 1 resistenza risolverà questo problema.
Il resistore può anche essere sostituito con un interruttore, nel caso in cui sia necessario riaccendere il radeon per qualsiasi motivo.
Il posizionamento di questo resistore varia tra i modelli di schede logiche.
Il resistore in questione è R8911 sul 17 "MBP e R8911 sul 15" MBP un ​​resistore da 1 Ohm che fornisce un percorso corrente al convertitore CC-CC ISL6263C.
Questo resistore controlla l'alimentazione del regolatore di tensione che fornisce la tensione principale alla GPU Radeon. In poche parole, nessuna tensione di base, nessuna GPU. Troverai il resistore a destra di una ventola di raffreddamento (nell'orientamento sopra). Sarà vicino al chip del convertitore di tensione ISL. Questo è il chip che disabiliteremo.
Basta rimuoverlo. Il metodo preferito è una stazione di riflusso professionale, ma un ferro da stiro e una mano ferma ti porteranno dove devi essere. Se hai usato il flusso per rimuoverlo (non necessario), assicurati di pulire con un po 'di alcool o altro solvente adatto.
Questo è fondamentalmente. Al prossimo avvio, noterai che il problema relativo ai difetti della GPU è scomparso e non vedrai più la GPU AMD come hardware installato.

Non ho ancora testato questo ma dovrebbe eliminare qualsiasi necessità di cura dei kexts e anche risolvere eventuali problemi riguardanti il sonno, sveglia, ibernazione, riavvio ecc
Un avvertimento per l'esame di questo metodo: dal momento che sembra anche fare affidamento su avendo questo set variabile della NVRAM sembra che sia assolutamente indispensabile disporre di un metodo completamente automatizzato per impostare questa variabile senza l'intervento dell'utente. (Come una chiavetta Linux che apporta le modifiche necessarie) Altrimenti un ripristino NVRAM potrebbe praticamente danneggiare la macchina. Il venditore afferma di non avere dati al riguardo!

(Dopo aver letto la storia di un utente morso da questo metodo, finendo con solo una schermata nera: sembra possibile accedere in remoto alla macchina con VNC o ssh, quindi se questi sono impostati in anticipo, potrebbe davvero un'opzione non così male dopo tutto, poiché la variabile nvram può scommettere impostata in questo modo. Ricorda: storia Internet non testata.)

Soluzione hardware permanente, affidabile ed economica!

Dosdude1 ha apparentemente trovato una soluzione che sembra il Santo Graal per questo problema: disabilitare permanentemente la GPU dedicata per MacBook Pro 15 "/ 17" 2011 - bypass IC gMux

  • L'opzione A, che verrà descritta in dettaglio di seguito, consiste nel cablare le linee di uscita LVDS dalle linee di uscita LVDS grafiche integrate direttamente alle linee che si collegano al display.
  • L'opzione B sarebbe di riprogrammare l'IC gMux (che è semplicemente un microcontrollore Lattice LFXP2), con un firmware personalizzato per disabilitare la funzionalità di commutazione GPU. Potrei sperimentarlo in futuro, ma farlo richiede hardware speciale che non ho. Questa, ovviamente, sarebbe la soluzione ottimale.

Questo è quasi facile. Tutto ciò che serve sono varie lunghezze di filo . Per dare un'occhiata: inserisci qui la descrizione dell'immagine anche su YouTube!

La "cattiva soluzione" dall'alto è ora trasformata in una soluzione hardware quasi professionale e prefabbricata, eliminando la "cattiva" precedente di tale approccio:

Tiresias (GPUkiller): Tiresias è una piccola scheda che può essere saldata sulla scheda madre dei modelli MacBook Pro da 15 pollici o 17 pollici 2011 (Early or Late).

Questi sono tutti i modelli con scheda madre 820-2914-A, 820-2914-B, 820-2915-A o 820-2915-B.

La scheda 820-2914 e 820-2915 ha due GPU. La GPU interna (Intel) che fa parte del PCH e una GPU AMD esterna (discreta). È la GPU esterna che fallisce in "una piccola percentuale di sistemi MacBook Pro" (Apple parla per: "moltissimi"). Tiresias scrive la variabile nvram 'gpu-power-prefs' nella ROM in modo che il Mac non utilizzi più la GPU AMD (morta) esterna (discreta). Se l'utente cancella la NVRAM (PRAM) non ci sono problemi in quanto Tiresias scriverà nuovamente il record e il Mac funzionerà di nuovo.

Questo lo rende la soluzione ideale per riportare in vita un 820-2914 o 820-2915 con GPU morta. L'installazione è semplice (nessun filo da saldare). Dovrai montare una scheda molto piccola sulla scheda madre. Un tecnico esperto può farlo in pochi minuti. A parte quello R8911 dovrebbe essere rimosso per spegnere la GPU morta. Ciò consente di risparmiare energia, generando meno calore e preservando la durata della batteria. La rimozione di R8911 evita anche che il Mac venga confuso dalla GPU morta perché anche con la GPU spenta proverà comunque a parlare con la GPU morta. A seconda di quali contatti interni nella GPU si sono rotti, questo potrebbe confondere o addirittura arrestare il Mac.

È supportato anche Mac OS X 10.13 High Sierra. Per risolvere il problema della retroilluminazione che non si riaccende dopo il sonno, rimuovere anche R9704 e collegare il pin 2 R9704 al pin 1 C9711.

Tiresias (GPUkiller) Dettagli tecnici Tiresias è una piccola scheda che può essere saldata sulla scheda madre dei modelli MacBook Pro da 15 pollici o 17 pollici 2011 (Early or Late).

Questi sono tutti i modelli con scheda madre 820-2914-A, 820-2914-B, 820-2915-A o 820-2915-B.

La scheda 820-2914 e 820-2915 ha due GPU. La GPU interna (Intel) che fa parte del PCH e una GPU AMD esterna (discreta). È la GPU esterna che fallisce in "una piccola percentuale di sistemi MacBook Pro" (Apple parla per: "moltissimi"). Tiresias scrive la variabile nvram 'gpu-power-prefs' nella ROM in modo che il Mac non utilizzi più la GPU AMD (morta) esterna (discreta). Se l'utente cancella la NVRAM (PRAM) non ci sono problemi in quanto Tiresias scriverà nuovamente il record e il Mac funzionerà di nuovo.

Questo lo rende la soluzione ideale per riportare in vita un 820-2914 o 820-2915 con GPU morta. L'installazione è semplice (nessun filo da saldare). Dovrai montare una scheda molto piccola sulla scheda madre. Un tecnico esperto può farlo in pochi minuti. A parte quello R8911 dovrebbe essere rimosso per spegnere la GPU morta. Ciò consente di risparmiare energia, generando meno calore e preservando la durata della batteria. La rimozione di R8911 evita anche che il Mac venga confuso dalla GPU morta perché anche con la GPU spenta proverà comunque a parlare con la GPU morta. A seconda di quali contatti interni nella GPU si sono rotti, questo potrebbe confondere o addirittura arrestare il Mac.

OS X 10.6 - 10.12 (Sierra)

Il dispositivo di scorrimento della retroilluminazione (nelle Preferenze di Sistema) e i tasti di retroilluminazione (F1 e F2) funzionano. La sospensione del sistema funziona. L'uscita video sulla porta Thunderbolt non funziona, ma tutte le altre funzioni della porta Thunderbolt funzionano.

OS X 10.13 (High Sierra)

Per quanto ne sappiamo, 10.13 (High Sierra) non offre alcun vantaggio rispetto a 10.12 (Sierra). Apple ha completamente ridisegnato i driver video in High Sierra e sembra aver rovinato tutto. I controlli di retroilluminazione non funzioneranno. E peggio ancora, dopo che la macchina si è svegliata dal sonno la retroilluminazione non si riaccende affatto.

Per risolvere il problema della retroilluminazione che non si riaccende dopo la sospensione, rimuovere R9704 e collegare il pin 2 R9704 al pin C9711 1. In questo modo la retroilluminazione viene impostata sulla luminosità massima. Il rovescio della medaglia è che con questa modifica la luminosità sarà anche alla massima luminosità con i vecchi sistemi operativi.

Tiresia per 820-2915 (15 pollici) Quantità uno (1) Inclusa spedizione (in tutto il mondo) 60 EURO.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


Aggiornamento per una soluzione software unica

La procedura sopra sembra essere stata lanciata in un'applicazione relativa all'hack hardware! Beh, almeno in parte. D'altra parte, questa applicazione è più universale della soluzione precedente, poiché sembra gestire anche le schede NVidia, ovvero: è per disabilitare tutte le CPU discrete su tutti i Mac.

Purtroppo, questa app è stata creata da dosdude1 e non è ben documentata. La schermata del file Leggimi indica che imposta la variabile NVRAM, sposta tutti i driver di accelerazione grafica e quindi installa un launchdaemon per gestire gli aggiornamenti e garantire che la variabile rimanga impostata.

Non testato da me e non approvato da me se hai già seguito la procedura sopra descritta!
Ma se la procedura non ha funzionato ad un certo punto per te o sembra solo scoraggiante per cominciare, allora potresti provare questo:

dosdude1: altri software non documentati che ho scritto sono memorizzati qui: MacBook Pro dGPU Disabler.zip

Potrebbe essere necessario esaminare nuovamente la procedura sopra, poiché l'applicazione sembra non riuscire a migliorare la parte di gestione termica (se si modifica l'hardware rimuovendo il transistor, questo diventa mood: mix and match).
Se qualcuno lo verifica, ti preghiamo di fornire un feedback qui tramite commenti o una modifica.


Aggiornamento di Pasqua 2019: soluzione 20 $ che utilizza un computer Windows a 64 bit e un programmatore FPGA ICSP HW-USBN-2A Lattice per applicare un firmware personalizzato all'IC gMux. Dosdude1 afferma che si tratta di una soluzione "perfetta", il che significa che anche con durata della batteria di HighSierra e Mojave, temperatura, controllo della luminosità e veglia / sonno funzionano come previsto. L'uso di quella soluzione è permanente e rende tutto ciò che è sopra obsoleto.
Ma questa nuova soluzione non è gratuita e richiede hardware sotto forma di PC Windows e programmatore); oltre a saldare temporaneamente alcuni fili temporaneamente sulla scheda logica.)


2
@Tarek Strange. Sembra che tu sia su High Sierra. Non so se negli ultimi tempi lo abbiano rafforzato ulteriormente. Hai un vecchio sistema avviabile? Da Yosemite funziona sempre; in Sierra come descritto sopra (e da entrambi l'impostazione si attaccherà). Altrimenti suggerirei di disabilitare SIP e riprovare (quindi forse anche da un avvio normale?). (Uscire agcnon è catastrofico, ho eseguito il Mac per un mese senza di esso prima di trovare questo trucco. Il miglioramento varia solo da 'un po' a 'OK, quasi fantastico') Radical chic sarebbe usare un stick Linux e impostare la variabile da lì ...
LängLаngС

6
Dopo un paio di mesi cercando di riportare il mio 17 "mbp di fine 2011 nella terra dei vivi, ho finalmente scoperto che il problema discreto della GPU era il colpevole. Onestamente @LangLangC in tutti i miei anni in IT, non ho mai visto un tale una spiegazione scritta e logica di una soluzione ben realizzata, con dettagli di livello innegabilmente esperto. E tutto da un desiderio altruistico di aiutare gli altri. Sto scrivendo questo sul mio MBP rianimato, e mentre so che non lo hai fatto fai questo per fare soldi, mi hai salvato potenzialmente migliaia quindi ti farò PM nella speranza di
poterti

2
Per la cronaca, a partire dalla 10.13.4 i kexts relativi alle GPU AMD sono: com.apple.kext.AMDLegacySupport (1.6.6), com.apple.kext.AMD6000Controller (1.6.6), com.apple.kext.AMDLegacyFramebuffer (1.6.6) e com.apple.kext.AMDRadeonX3000 (1.6.6).
Kendall Lister,

4
Ha funzionato per me su un 17 "all'inizio del 2011 con Sierra! Il display esterno non funziona ma meglio di un fermacarte gigante! Nota (per i rumori come me), è necessario digitare rebootdopo la disabilitazione SIP iniziale csrutil disablee dopo le modifiche di gpu nvram in recupero. Non ero sicuro di come riavviare dal terminale di ripristino e ho provato a spegnere il computer, ma la modifica del SIP non è andata avanti in quel modo.
Will Buck,

2
Grazie per questa meravigliosa raccolta di tutte le possibili soluzioni per il nostro amato mbp 2011. Ho resuscitato il mio taccuino morto con il metodo di rimozione di nvram e kext su High Sierra ora aggiornato alla 10.13.6. Tutto funziona come dovrebbe, il notebook funziona più fresco, il controllo della luminosità funziona bene, anche il sonno funziona bene. Oggi ho collegato il cavo thunderbolt a un altro mac funzionante in modalità disco di destinazione, ma niente. Riavviato 2011 mbp su TDM, niente su altri mac. Sento che la connessione dati fulmine è tramite GPU, quindi è rotta. A differenza di alcune menzioni di "TB dovrebbe funzionare". Lo proverò ora con eGPU
Mayank Chandak,

1

Se il problema è che non riesci a spostare quei file, probabilmente è la protezione dell'integrità del sistema che ti blocca. Suppongo che tu sia a El Capitan o Sierra.

  • Spegni il tuo laptop.
  • Premi Comando + R, quindi il pulsante di accensione per avviare la modalità di ripristino.
  • Fai clic sul menu Utilità e seleziona Terminale.
  • Digita csrutil disablee premi Invio.
  • Chiudi l'app Terminale e riavvia la modalità di ripristino.
  • Ora prova a riavviare in modalità Utente singolo e prova a mvcomandare.

Se funzionava, riattiva SIP:

  • Spegni il tuo laptop.
  • Premi Comando + R, quindi il pulsante di accensione per avviare la modalità di ripristino.
  • Fai clic sul menu Utilità e seleziona Terminale.
  • Digita csrutil enable e premi Invio.
  • Chiudi l'app Terminale e riavvia la modalità di ripristino.

@klanomath grazie per la tua rapida risposta. Ma l'unica modalità che posso ottenere è la modalità utente singolo. Si blocca in modalità di ripristino anche in modalità di ripristino di Internet.
Ghazi Marzouk,

@GhaziMarzouk Snacking_IT ha risposto alla tua domanda! L'ho appena modificato un po '...
klanomath,

@Snacking_IT grazie per la tua rapida risposta. Ma l'unica modalità che posso ottenere è la modalità utente singolo. Si blocca in modalità di ripristino anche in modalità di ripristino di Internet
Ghazi Marzouk,

2
Proprio come un aggiornamento, nella risposta di @ LangLangC, non sono stato in grado di disabilitare SIP su El Capitan durante i passaggi 1.3 e 1.4, poiché il ripristino per utente singolo monta l'unità solo in sola lettura. L'approccio sopra descritto (invece l'avvio in modalità di ripristino) funziona, pertanto è utile includere queste informazioni.
Twitch_City,

1

Grazie a questa risposta https://apple.stackexchange.com/a/295805/300460 da https://apple.stackexchange.com/users/251859/langlangc . L'ho seguito quando ho avuto questo problema nell'ultimo settembre 2018. Tuttavia, ho faticato un po 'a capire gli esatti passaggi delta da eseguire per la seconda volta, quando ieri ho riscontrato di nuovo lo stesso problema quando ho fatto l'aggiornamento di sicurezza OSX 2019-003. Quindi, ho pensato di mettere esattamente quei passaggi pensando a quegli utenti che potrebbero imbattersi in questo problema per la seconda volta. Ancora una volta, grazie mille a Langlangc per l'originale.

Ero su OSX 10.13.6 al momento in cui ho fatto l'aggiornamento.

  1. Riavvia in modalità utente singolo tenendo premuto Cmd + S (Cmd + R non si carica dando lo schermo bianco. In realtà, langlangcmi aveva chiesto di confermarlo a settembre 2016; ma non ho potuto rispondere in quanto non ho il permesso di commento)
    • Correre sh /force-iGPU-boot.sh
  2. Riavvia in modalità di ripristino tenendo premuto Cmd + r
    • Esegui questi comandi. In effetti, li inserisco in un piccolo file di script /force-iGPU-boot_without_sudo.sh.
      csrutil disable nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 nvram boot-args="-v"
  3. Riavvia in modalità utente singolo tenendo premuto Cmd + s
    • Assicurarsi che una /System/Library/Extensions-offcartella esistente venga rimossa dopo aver eseguito un backup
    • Esegui questi comandi. Ancora una volta, li inserisco in un piccolo file di script /move_out_amd_kext.sh /sbin/mount -uw / mkdir -p /System/Library/Extensions-off mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/ touch /System/Library/Extensions/
    • accedere nvram boot-args="agc=0"
    • Invio rebootper avviarlo normalmente.

Tutto il resto dovrebbe funzionare come previsto come avresti fatto tutti gli altri passaggi necessari quando l'hai fatto funzionare per la prima volta. Ti auguro il meglio.

Aggiornamento 12 agosto 2019

In passato dipendevo dalla soluzione basata su software suggerita da @LangLangC. Tuttavia, il recente aggiornamento di agosto ha riscontrato che l'avvio normale è stato sospeso sulla barra di avanzamento. Posso passare attraverso la modalità di avvio sicuro, ma troverò molto sfarfallio dello schermo.

Aggiornamento 14 agosto 2019

Avviato correttamente quando ho disabilitato il SIP in modalità di ripristino. Non ricordo se l'ho fatto in passato, ma ora credo di poterlo fare.

Ho perso molto tempo a sospettare molte ragioni diverse, tra cui il problema della GPU che peggiora, o potenziali bug con l'aggiornamento della sicurezza 10.13.6 2019-004.

Tuttavia, ora ho notato che questa volta si è avviato anche con il problema /System/Library/Extensions/AMDRadeonX3000.kextin atto !!!

Aggiornamento 11 novembre 2019

Il AMD6000Controller.kextè necessario per ottenere la schiena controllo della luminosità a funzionare normalmente. Quel kext deve essere presente a /System/Library/Extensions/.


Potresti spiegare cosa intendi esattamente con "2a volta"? Quanto sopra sembra come se nel processo fosse stato ripristinato NVRAM / PRAM. O è davvero quello che hai fatto mentre eri con un hack funzionante su 10.13 e hai appena applicato il recente SecUpdate? (Lo stesso SecUpdate non dovrebbe fare nulla per invalidare l'hack stesso, ma installare un AMD.kext funzionante nella posizione - per l'hacking - errata, e quindi deve essere spostato). O dall'altro lato: la tua NVRAM è stata ripristinata durante l'aggiornamento?
LängLаngС

Ero già su un hack funzionante su 10.13.6 che è stato fatto nell'ultimo settembre 2018 dopo la tua risposta. Quindi ho applicato l'aggiornamento di sicurezza ieri, dopo di che sono bloccato di nuovo con lo schermo bianco. Non gioco mai con i file KEXT a meno che non debba seguire le tue istruzioni per risolvere il problema dello schermo bianco dopo l'aggiornamento della sicurezza. Con solo il passaggio 1 (1a modalità utente singolo) non è stato risolto il problema, quindi sono dovuto passare al passaggio 2 (modalità di ripristino) successivamente al passaggio 3 (modalità utente singolo).
Raj,

Ho appena aggiornato il mio volume High Sierra con l'ultimo aggiornamento di sicurezza 2019-005. La barra del processo si è bloccata al riavvio, quindi ho aspettato che i fan si fermassero e ho riavviato il mio MBP manualmente in modalità utente singolo e ho seguito la tua guida. Ha funzionato bene! Alcune domande però: perché è necessario ripetere l'hacking NVRAM nel passaggio 2? è già nella /force-iGPU-boot.shsceneggiatura no? e la mia Extensions-offdirectory era già a posto, ho appena spostato il nuovo AMDRadeonX3000.kexte l'ho chiamato AMDRadeonX3000v2.kext. Sembra meglio conservare e caricare l'originale come indicato nella guida di @LangLangC.
aroom il

1
@aroom Quanto sopra ripete alcuni passaggi ridondanti, senza alcun danno, solo un approccio con cintura e bretelle. La chiave per gli aggiornamenti è con NVRAM in atto un X3000 funzionante si blocca l'avvio. Abbastanza spesso Apple ha spedito un kext difettoso che dipendeva da un'installazione originale, tutti i delta mancavano di un file cruciale. (Per risultati ottimali, abbiamo dovuto mettere in posizione il vecchio kext, quindi aggiornare, quindi di nuovo in Ext-off) Ora che Apple ha finalmente risolto il problema, è meglio usare l'ultimo kext dall'aggiornamento, facendo corrispondere i numeri di versione nell'aggiornamento . Con SIP disattivato, basta avviare SafeMode e mv su Ext-off, eliminando la versione precedente.
LängLаngС,
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.