2009-10-12

Snow Leopard ed i 64 bit

Con un po' di ritardo, come al solito (sempre meglio attendere che altri facciano i primi test!): ho aggiornato a Snow Leopard sul mio MacBook Pro!
Si è molto parlato del passaggio a 64 bit, utilizzabile solo su Mac non troppo vecchi. Per riassumere, ci sono al momento 3 tipi di computer:
  1. Mac basati su PowerPC (PPC): possono dimenticarsi direttamente di Snow Leopard, dato che funziona solo con le CPU Intel. Ciò non toglie che siano ancora utili: a casa mia, attualmente un eMac sta facendo il server ed il PowerBook G4 è ancora arzillo, con il dual boot Tiger - Leopard.
  2. Mac basati su Intel con EFI a 32bit: supportano SnowLeopard e possono far girare i software progettati a 64bit; a seconda dei modelli possono o meno avvantaggiarsi delle altre innovazioni (e poi si diceva che SL era solo una grande sequenza di patch...); il kernel lavora a 32 bit.
  3. Mac con CPU Intel con EFI a 64 bit: supportano tutti i software a 64 bit, ma vengono di default avviati con il kernel a 32 bit. Volendo possono essere lanciati col kernel a 64 bit.
  4. Mac speciali: praticamente solo gli XServer di ultima generazione, partono di default con il kernel a 64 bit.
Chi possiede il tipo 2 potrà utilizzare tutti i nuovi software che verrano rilasciati per SL, ottenendo anche un buon speed bump. Chi invece possiede il tipo 3 avrà probabilmente accesso a buona parte dei vantaggi di SL, ma avrà anche la possibilità di scelta: infatti, come detto sopra, questi Mac si avviano di default con kernel a 32 bit. Per avere anche il vantaggio del 64 bit nativi, basta riavviare e non appena si sente il classico "boing" di avvio, si tengono premuti i tasti 6 e 4 (ma guarda un po'...) ed avremo che anche il kernel viaggerà a 64bit.

Ma perché Apple non ha lasciato che i Mac compatibili con i 64bit non si avviassero subito in tal modo? Semplice: ci sono in giro tantissime estensioni e plug-in non ancora aggiornati che potrebbero minare dal profondo la stabilità del sistema. Nel momento dell'installazione, SnowLeopard controlla le estensioni e sposta quelle certamente non compatibili (nel mio caso ne ha trovate due), ma nulla garantisce che quelle rimaste siano corrette; per cui di default i Mac si avviano con il kernel a 32 bit.
Prima però di provare direttamente, dobbiamo sapere se il nostro Mac ha la EFI giusta; apriamo il terminale e scriviamo il seguente comando:

ioreg -l -p IODeviceTree | grep firmware-abi

Se il risultato contiene una stringa simile

| | "firmware-abi" = <"EFI64">

siamo a posto! Se invece compare "EFI32", non c'è niente da fare (anche se qualcuno sta pensando di aggiornare l'EFI: vedremo se avrà successo): potremo utilizzare lo stesso i software a 64 bit, ma in modo non nativo, esattamente come potevamo già fare con Leopard; unica cosa: con SnowLeopard dovremo espressamente dirlo. Basta selezionare l'applicazione, aprire le info (cmd-I) e togliere la spunta al check "Apri in modalità 32 bit" e il software partirà in 64 bit.
Ora che sappiamo di avere un Mac compatibile, usiamo la procedura descritta (tasti 6 e 4) per riavviare; come controllo, dopo l'avvio lanciamo l'applicazione System Profiler (si trova dentro /Applicazioni/Utility). Sulla colonna a sinistra clicchiamo su Software e sulla destra verifichiamo che la scritta Estensioni e Kernel a 64 bit abbia a fianco un bel SI.
Supponendo che tutti i nostri programmi funzionino, ora siamo col kernel a 64 bit... fino al prossimo riavvio! Anche se i nostri Mac vedono pochi boot, può capitare di doverlo fare p.es. per una installazione di un nuovo software o per un aggiornamento di sistema. È semplice verificare che un riavvio ci riporta al kernel a 32 bit voluto da Apple.
Ma noi non ci scoraggiamo! Esiste una piccola applicazione (la trovate qui) in grado di dirvi che tipo di Mac avete e di fare quello che serve per farvi partire stabilmente a 64 bit. Questo è il percorso consigliato per chi non conosce bene Unix, in quanto è senza pericoli.

Se invece siamo abituati a muoverci nei meandri di MacOS, armiamoci di TextWrangler e andiamo ad aprire il file /Library/Preferences/SystemConfiguration/com.apple.Boot.plist. Trattandosi appunto di un .plist, potremmo anche farlo più facilmente con il Property List Editor, che però viene installato solo assieme a XCode, cosa che non fanno tutti. In teoria, dovremmo persino farlo da Terminale, per non modificare i permessi; ma questo lo correggeremo.
Proseguiamo quindi con TextWragler; troveremo nel file queste righe:

<key>Kernel Flags</key>
<string></string>



e dopo la modifica dovremo avere sulla seconda riga:

<string>arch=x86_64</string>

Salviamo e dal prossimo avvio saremo sempre automaticamente col kernel a 64 bit! Ripeto: provate questa strada solo se vi sentite confidenti, altrimenti rischiate di danneggiare il sistema, arrivando anche a non farlo più ripartire; siete avvisati!

Ora che siete a posto, potete provare i vari software per vedere quali sono compatibili; personalmente non ho avuto grossi problemi: persino Bryce 5.5 e Poser 5, anche se abbastanza vecchi, funzionano (Poser 5 ogni tanto ha qualche indecisione). Parallel 4 deve essere aggiornato (in modalità 32 bit funziona) con una patch dal sito, come anche Cyberduck; Eclipse e Flex Builder non hanno problemi. Le Preferenze di Sistema sono tutte a 64 bit, escluso MacFuse, che però funziona comunque (quindi XMarks, Growl e così via).
Non ho fatto prove esplicite di tempi, ma la sensazione di velocità è netta: sul mio MacBookPro a 2.5GHz, con 2 GB RAM il Finder è una scheggia e Safari parte con un solo saltello. Le applicazioni a 32 bit sono un po' più lente, ma forse sempre più veloci che a 32 bit. X11 fa girare egregiamente Gimp.
Notizia inaspettata: anche la mia interfaccia Midi M-Audio Midisport 2x2 funziona egregiamente con il normale driver, anche se il produttore non ha ancora rilasciato i driver appositi (la 1x1 è persino supportata nativamente da SL!). Anche MySQL non mi ha dato problemi (salvo una piccola correzione, di cui parleremo tra breve).

Diciamo quindi che vale la pena fare un tentativo con i 64 bit!

Nessun commento: