Premetto che questo post non risponde al perché dei malfunzionamenti ma da piuttosto una soluzione pratica al problema.
Ma andiamo con ordine e vediamo bene di cosa si tratta. Un mio utente e collega lavora con un Mac Pro della prima serie rilasciata nel 2006 così configurato:
- Model Number: A1186
- Order Number: MA356LL/A (two 2.66 GHz)
- Processor: Intel Xeon 5100 series ("Woodcrest")
- Number of Cores: 2 per processor
- Architecture: 64-bit
- Processor Speed: two 2.0, two 2.66, or two 3.0 GHz
- System Bus: two 1.33 GHz
- Hard Drive: 500 GB 7200-rpm
- Media: 16x SuperDrive (DVD+R DL/DVD±RW/CD-RW)
- RAM: 6 GB (originariamente 2GB)
- Type of RAM Slots: 8 - 240-pin PC2-5300 (667MHz) DDR2 ECC fully-buffered DIMM (FB-DIMM) (matched pairs)
- Graphics Card: NVIDIA GeForce 7300 GT;
- Graphics Memory: 256 MB (7300 GT)
- Display Modes: Dual display extended and video mirroring
- Display Connection: 1 - DVI and 1 - dual-link DVI (7300 GT) or 2 - dual-link DVI and 1 - stereo 3D port (FX 4500) or 2 - dual-link DVI (X1900 XT)
- Ethernet: 2 - 10/100/1000BASE-T ports (support for jumbo frames)
- USB: 5 - 480Mbps
- FireWire: 2 - 400 MBit/s, 2 - 800 MBit/s
- Audio In: 1 - 3.5-mm analog input jack, 1 - optical S/PDIF (Toslink) input (24-bit 44.1 kHz sample rate)
- Audio Out: 2 - 3.5-mm analog output jacks, 1 - optical S/PDIF (Toslink) output, 1 - Built-in speaker (24-bit 44.1 kHz sample rate)
Come potete vedere ho evidenziato in grassetto la scheda grafica NVidia GeForce 7300 GT, perché questa è la probabile causa dei problemi che vado a descrivere.
Era ormai qualche mese che il collega riscontrava problemi con la visualizzazione grafica (immagini sgranate, pixel "congelati", ritardi nella visualizzazione di qualsiasi tipo di applicazione), ed infine veri e propri blocchi del sistema che lo costringevano a riavviare il tutto. Insomma una situazione deteriorata che era diventata decisamente insostenibile. Cercando di diagnosticare le cause, non si riusciva a riprodurre sistematicamente il problema che anzi si manifestava in modo del tutto casuale ed imprevedibile!
Ovviamente il passo successivo alla diagnosi e stato fare una "googolata" sulla rete per vedere se trovavo post o articoli che mi dessero qualche informazione in più e come spesso accade ho trovato diversi post di utenti con la stessa configurazione e gli stessi problemi! Però nessuno ha la soluzione definitiva o una spiegazione della causa. Di fatto sembra che sia insorta (non si capisce bene quando) una incompatibilità fra i driver della scheda video ed il sistema operativo Mac OS X, di cui Apple si è completamente disinteressata. Alcuni utenti hanno risolto il problema cambiando la scheda video con un altro modello(attenzione però a valutare la compatibilità di altri modelli con il vostro hardware). Anche io probabilmente come soluzione definitiva acquisterò a fine estate una nuova scheda video per il Mac del collega, ma nel frattempo, per consentirgli di lavorare, ho trovato ed adottato la seguente soluzione:
Si tratta di disabilitare l'estensione del kernel che gestisce la risoluzione dello schermo. Così facendo perderete la possibilità di regolare le diverse risoluzioni e di usare il dual monitor, ma in compenso tornerete ad avere una macchina stabile, senza difetti grafici nè blocchi di sistema. I passi da seguire sono:
- Avviate il Mac dal DVD 1 d'installazione;
- Prima che si avvii l'installazione, dal menu in alto aprite la utility "Terminale";
- Dalla shell del terminale andate nella directory "/System/Library/Extensions" con il comando "cd /System/Library/Extensions"
- quindi digitate il comando "mv NVDAResman.kext NVDAResman.kext.old" che rinomina il file estensione incriminato (usate il prefisso "sudo" per abilitare i permessi di amministratore)
- Ora effettuate un reboot del sistema.
Se tutto è andato ok il vostro sistema sarà ora impostato con un'unica risoluzione video e senza possibilità di cambiarla. Ma vedrete che i problemi di blocco e di degrado della grafica saranno scomparsi.
Il file NVDAResman.kext che abbiamo rinominato è una "kernel extension"; queste estensioni sono generalmente usate per i device driver o altre funzioni che vanno a modificare il sistema a basso livello.Attenzione che non sono la stessa cosa delle "extensions" che erano presenti nel Mac OS Classic! In Mac OS X i file kext contenuti nella directory /System/Library/Extensions vengono caricati dinamicamente al boot in funzione dell'hardware installato.
NVDAResman.kext è proprio responsabile della gestione della risoluzione: NViDiA Resolution management
Concludendo noterete che il pannello di gestione della risoluzione non è più utilizzabile, il vostro Mac lavorerà con un'unica risoluzione(dovrebbe essere la massima) ma in compenso il sistema tornerà stabile e vi consentirà di continuare a lavorare almeno fino a quando non decidete di sostituire la scheda incriminata con un'altra compatibile.
Ad MAiora
UPDATE del 23-8-2010:
ATTENZIONE che con l'aggiornamento di MAC OS X rilasciato il 17-8-2010 e denominato "Snow Leopard Graphics Update 1.0" nel vostro Mac viene di nuovo reinstallato l'estensione del kernel NVDAResman.kext. Per cui si rende necessario rifare la procedura descritta nel post.
Etichette: Apple, grafica, hack, MacOSX