Apple ha previsto l’opzione per forzare l’uso delle eGPU nelle app: lo script set-eGPU.sh la sfrutta

Leggi questo articolo grazie alle donazioni di Guido Lanzafame, Stefano Giraldo, Teresio Demaria, Massimiliano Zullo, Roberto Di Lonardo, Andrea Ippolito, Andrea Giuseppe Calabrò.
♥ Partecipa anche tu alle donazioni: sostieni SaggiaMente, sostieni le tue passioni!

Nei mesi scorsi ho deciso di mettere alla prova la soluzione eGPU con i MacBook Pro dotati di porta Thunderbolt 3, pubblicando i miei risultati nella recensione dell’ottimo case AKiTiO Node Pro. Uno degli aspetti più importanti che è venuto fuori è che la potenza della GPU esterna non poteva essere sfruttata se non con le app che ne prevedevano l’abilitazione dalle proprie preferenze. Premiere Pro e DaVinci Resolve lo fanno, Final Cut Pro no, così come moltissimi altri software e giochi.

In molti casi la soluzione è relativamente semplice, perché basta collegare uno schermo esterno sulla eGPU per metterla all’opera, ma abbiamo anche visto che questo porta a scontrarsi con altri limiti, tra cui l’impossibilità di avere un’uscita UHD 60Hz per carenza di banda. Per di più ci sono software, tra cui proprio Final Cut Pro, che non utilizzano la scheda grafica esterna pur avendo l’interfaccia renderizzata su uno schermo collegato a quest’ultima. L’ideale sarebbe che macOS desse la possibilità di decidere su quali software abilitare l’uso della eGPU… e qualcuno ha scoperto come fare.

Sul forum dell’attivissimo eGPU.io è infatti venuto fuori lo script set-eGPU.sh che con un semplice menu nel Terminale consente di selezionare a quali app “imporre” l’utilizzo della scheda grafica collegata esternamente, anche utilizzando lo schermo interno del portatile. La cosa interessante è che non va a modificare kext di sistema, non richiede di disabilitare SIP e null’altro di simile, in quanto utilizza una semplicissima opzione prevista nativamente da Apple ma lasciata nascosta. In sostanza lo script non fa altro che rendere più comoda l’applicazione della modifica su singole app o su tutte, nonché il rollback con un solo comando, ma il tutto sarebbe eseguibile anche manualmente con questi comandi:

# Write to application name
defaults write -app "<app name>" GPUSelectionPolicy -string preferRemovable
# Write to application plist file
defaults write com.xxx.xxxx GPUSelectionPolicy -string preferRemovable
# To remove this preference
defaults delete -app "<app name>" GPUSelectionPolicy

Se Apple ha mantenuto la cosa nascosta ci possono essere diversi motivi, tra cui quello dell’instabilità, e di questo bisogna tener conto. Tuttavia 9to5Mac ha già eseguito delle prove che sembrano promettere molto bene, specialmente per i quanti utilizzano Final Cut Pro e non potevano fino a ieri beneficiare dei miglioramenti prestazioni dovuti ad una eGPU sui portatili.

La video prova di 9to5Mac

Siamo ancora in fase work-in-progress ma qualche beneficio concreto si può certamente ottenere. Va comunque considerato che rimane un corposo taglio di banda sulle GPU PCI-Express 3.0 più prestanti e che questo sarà ancora più prominente in futuro, con l’arrivo del prossimo PCI-Express 4.0. Come dire: non è una soluzione definitiva ma dopotutto nessuna lo è davvero quando si tratta di informatica.

Maurizio Natali

Titolare e caporedattore di SaggiaMente, è "in rete" da quando ancora non c'era, con un BBS nell'era dei dinosauri informatici. Nel 2009 ha creato questo sito nel tempo libero, ma ora richiede più tempo di quanto ne abbia da offrire. Profondo sostenitore delle giornate di 36 ore, influencer di sé stesso e guru nella pausa pranzo, da anni si abbronza solo con la luce del monitor. Fotografo e videografo per lavoro e passione.

Commenti controllati Oltre a richiedere rispetto ed educazione, vi ricordiamo che tutti i commenti con un link entrano in coda di moderazione e possono passare diverse ore prima che un admin li attivi. Anche i punti senza uno spazio dopo possono essere considerati link causando lo stesso problema.