La tua procedura pianificata è possibile. La procedura pianificata non è così difficile. La procedura pianificata non è l'opzione migliore.
Perché questa route non è ottimale
I MacBook Pro dovranno e dovranno passare alla GPU discreta (dGPU) una volta collegato uno schermo esterno. Pertanto, una dGPU installata ma disabilitata toglie la possibilità di utilizzare un monitor esterno con quella dGPU.
Adesso ci sono altre opzioni, come l'uso di soluzioni USB o GPU esterne (eGPU). Ma l'impostazione della variabile EFI che stai cercando disabiliterà sicuramente l'output diretto con un cavo dalla porta Thunderbolt a un monitor esterno.
Come è possibile disabilitare la GPU discreta da EFI?
Il comando che hai citato nel tuo aggiornamento è quasi corretto. Manca solo l'identificatore corretto:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Questo scrive la corrispondente variabile EFI su NVRAM e forza MacBook Pro ad avviarsi sempre direttamente nella GPU integrata (iGPU). L'identificatore non è solo per le dGPU AMD ma tutte le dGPU. Ciò è confermato per funzionare allo stesso modo con i chip NVidia. È anche facilmente reversibile con un ripristino NVRAM.
Svantaggi di questa strategia in questa situazione
E ora il rovescio della medaglia: ci sono potenzialmente due piccoli problemi con questo:
Dopo aver forzato queste impostazioni della NVRAM, macOS potrebbe essere "un po 'confuso". Il chip è ancora lì, cablato e alimentato.
Per ottenere questo da avviare potrebbe essere necessario disabilitare i driver grafici per la tua dGPU. O almeno quello che gestisce l'attuale commutazione grafica. L'avvio potrebbe bloccarsi quando si tenta di avviare il cambio GPU in caso contrario.
Entrambi i problemi appena sorti possono essere risolti spostando tutti i nodi NVidia /System/Library/Extensions
da un luogo sicuro di backup. Ciò avvierà la macchina forzata in modalità iGPU accelerata. Ma l'impostazione di una variabile EFI potrebbe non essere sufficiente per ottenere una gestione efficiente dell'alimentazione. Per questo probabilmente dovrai spostare indietro i kexts NVidia ad eccezione di quelli responsabili della commutazione grafica. In caso contrario, si avrà una potenza inutilmente elevata sulla dGPU. Almeno sarà inattivo a "piena potenza" (tradotto a> ~ 60 ° C).
Questo minimo ad alta potenza sarà potenzialmente la grande sconfitta per il tuo piano per ridurre il rumore della ventola e aumentare la batteria. Nota a margine della letteratura: dovrebbe essere una verità universalmente riconosciuta che spostare kexts in giro richiede anche che disabiliti SIP su versioni più recenti di OS X / macOS fintanto che sposti cose come queste.
Generalmente si è cercato di trovare i kexts con cui sperimentare: avviare senza la variabile NVRAM in un sistema stock (con kexts NVidia "predefiniti"). Quindi prendi nota delle estensioni effettivamente caricate dal tuo sistema kextstat
. Quindi riavviare con i kexts NVidia / Geforce precedentemente caricati spostati e l'hacking abilitato. Ottieni un monitor sensore dettagliato (iStatMenus, TGPro, ecc ...) e osserva la temperatura sopra e intorno alla GPU. Ora carica l'uno dopo l'altro dei kexts rilevanti nel kernel con sudo kextload /path-to/NVDA***.kext
. Attendere uno o due minuti dopo ciascuno.
Poiché il metodo di questo post - o il modo altrettanto valido ma troppo lungo: manipolare EFIvars in Linux - è NVRAM, tornerà in modo pulito se si esegue un ripristino SMC / NVRAM. Che l'hacking NVRAM è in realtà l'unica parte di questo post che sicuramente non ti darà molti problemi.
Questa reimpostazione NVRAM ripristina un set minimo di impostazioni di fabbrica su variabili EFI / NVRAM. L'impostazione di fabbrica non verrà toccata.
Questo può essere fatto tutte le volte che vuoi.
In Linux il sistema di driver è molto meglio documentato e implementato in modo più pulito. Esistono molti modi per raggiungere questo obiettivo o avviarlo in Linux. E un Linux (sia nel rispetto di questa impostazione NVRAM / EFIvars o attraverso altri metodi) ti darà molti meno problemi con i driver (chi avrebbe mai pensato). Per altri sistemi operativi, come Microsoft Windows, non ho dati.
Per ripetere: se il sistema operativo non riconosce correttamente la dGPU non significa che sia spento. Ciò potrebbe comportare effetti collaterali termici indesiderati.
Dai un'occhiata a questa guida per MacBook Pro 2011 per una soluzione simile e un po 'più di opzioni; anche per annullare e ripetere rapidamente l'hacking NVRAM.
Monitor multipli e una dGPU disabilitata
Detto questo, tutto: gfxCardStatus (o provare diverse versioni dell'originale - hanno opzioni / capacità diverse ...) è l'opzione migliore se non si hanno problemi hardware reali da affrontare. È molto più flessibile e puoi ancora tornare a dGPU o monitor esterni abbastanza facilmente all'interno di un sistema in esecuzione.
Sia tramite EFI / NVRAM che con gfxCardStatus: forzare un Mac con grafica commutabile su solo integrato disabiliterà le modalità di visualizzazione esterne utilizzando l'output grafico DisplayPort o Thunderbolt integrato. Questa è una conseguenza della progettazione hardware che instrada il segnale di visualizzazione per monitor esterni attraverso la dGPU. L'utilizzo di adattatori grafici non discreti ma esterni potrebbe essere una soluzione a tale limitazione.
L'impostazione EFI da abilitare integrata su altri sistemi operativi
Come ormai dovrebbe essere chiaro, l'impostazione EFI per consentire ad altri sistemi operativi come Linux di "vedere" un'impostazione grafica commutabile è diversa da quella sopra che disabilita la dGPU.
Piccolo programma EFI per sbloccare Intel IGD su Macbook Pro 11,3 per Linux e Windows:
Piccolo programma EFI per sbloccare Intel IGD su Macbook Pro 11,3 per Linux e Windows. È stato progettato per essere facilmente caricato a catena da bootloader EFI non modificato come Grub, rEFInd ecc.
Il modello EFI del Macbook Pro 11,3 sta disattivando la GPU Intel se si avvia qualsiasi cosa tranne Mac OS X. Quindi è necessario un piccolo trucco eseguendo l'identificazione del sistema operativo per rendere accessibile tutto l'hardware.
Tutti i crediti appartengono a Andreas Heider che originariamente ha scoperto questo trucco:
https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html