L’uscita di Windows Phone 8 ha suscitato parecchie perplessità e notevoli malumori da parte di chi aveva comprato, anche da poco, un cellulare con in dotazione Windows Phone 7 o 7.5, poiché Microsoft ha attestato che un aggiornamento alla nuova versione non sarebbe stato possibile, adducendo motivazioni di carattere tecnico (necessità di hardware nuovo).
Per chi ha creduto in questa nuova piattaforma mobile della casa di Redmond, arriverà a breve quello che possiamo definire senza alcun dubbio come il classico contentino, per cercare di addolcire l’amara pillola che i clienti sono stati costretti a inghiottire: la versione 7.8, che porterà soltanto una parte delle funzionalità della 8.
Ha destato, quindi, scalpore l’annuncio di un programmatore, che è riuscito a far girare Windows Phone 8 su un telefonino HTC HD2, ben conosciuto agli appassionati di modifiche e “custom rom” in quanto, pur essendo stato venduto dalla casa madre col vecchio Windows Mobile 6.5, finora ha dato molte soddisfazioni ai fortunati possessori, in quanto ha consentito di veder girare Windows Phone 7, 7.5, e di recente anche una delle ultime versioni di Android, Jelly Bean. Esistono anche esperimenti per farvi girare l’iOS di Apple, ma si tratta di tentativi ancora ben lontani dall’essere stabili e utili.
Tornando a Windows Phone 8, sembra che giri discretamente, anche se presenta qualche problema di gioventù, a cui molto probabilmente si affiancano altre difficoltà relative a driver che forse non sono perfettamente compatibili o funzionanti su questo tipo di hardware.
Comunque il risultato ottenuto finora è accettabile, e il telefonino, da quel che si legge nel forum, risulta abbastanza usabile, sebbene l’autore dell’hack abbia precisato che il nuovo kernel NT, che Microsoft ha utilizzato al posto del vecchio CE, sia decisamente più pesante, come c’era da aspettarsi.
Ma ad arricchire quella che sembra ormai una telenovela, iniziata con le prime voci su Windows Phone 8 & 7.5, è l’ultimo capitolo, che s’è aggiunto di recente, a fine anno. Il colpo di scena, questa volta, è rappresentato dalla possibilità di far girare il neonato Windows RT sullo stesso dispositivo!
Tutto ciò è stato possibile grazie all’utilizzo di un particolare boot loader, che è in grado di emulare il firmware UEFI (ex BIOS), com’è possibile notare dalle immagini riportate. L’UEFI, infatti, risulta indispensabile per poter far partire RT, che con questo trucco viene ingannato. Anche qui ci sono ancora problemi di driver, per cui l’utilizzo ne risente, ma con driver adeguati tutto si dovrebbe risolvere.
Ovviamente questi tentativi vanno presi con le pinze, poiché finora si tratta di informazioni riportate da una sola persona, l’autore dell’hack, che non ha provveduto a rendere pubblico il suo lavoro (anche se ci sta pensando, da qualche dice). Si tratta di esperto conoscitore dell’HD2, che ha già contribuito ad altre modifiche, per cui è plausibile che la storia sia vera.
D’altra parte, guardando al lato tecnico della vicenda, sono ben pochi i fattori che emergono e che potrebbero falsificare la validità di questi esperimenti.
L’HTC HD2 è dotato di SoC Qualcomm Snapdragon S1 single core della famiglia “Scorpion” (basata su ARM v7, quindi il Cortex di cui abbiamo parlato in precedenza in un altro articolo), con GPU Adreno 200, e 576 di RAM.
Un cellulare Windows Phone 8 di fascia bassa è l’HTC Windows Phone 8S, che monta un SoC Qualcomm Snapdragon S4 dual core della famiglia “Krait” (sempre ARM v7), con GPU Adreno 305, e 512MB di RAM.
Dal punto di vista della memoria ovviamente non ci sono problemi, e anche la CPU non ne desta, poiché entrambe sono basate sulla versione 7 dell’architettura ARM. L’unica differenza è rappresentata dall’FPU, in quanto l’S1 integra la versione 3 (VFPv3), mentre l’S4 la versione 4 (VFPv4).
Sembra che la seconda abbia aggiunto soltanto un’istruzione (VMLA, che esegue un’operazione di moltiplicazione e somma “fused“, chiamata FMA in gergo), che a questo punto non viene ancora utilizzata e non è presente negli eseguibili generati dai compilatori Microsoft. E’ possibile che in futuro vengano aggiornati e, quindi, che i binari risultino inutilizzabili dai vecchi core S1, ma al momento la situazione è rosea.
Anche la presenza di un core addizionale non influenza negativamente l’esecuzione, se non per a carattere puramente prestazionale (come il nuovo core S4, che ovviamente è superiore al precedente). Microsoft, insomma, non blocca l’avvio del sistema operativo in presenza di un solo core né lo richiede espressamente per alcune funzionalità. Il che sembra anche corretto logicamente, poiché sarà il kernel a gestire i core addizionali, in maniera trasparente.
Rimane in ballo la GPU, che sulla carta dovrebbe essere abbastanza diversa. Sull’Adreno 305 dell’HTC Windows Phone 8S non si trovano caratteristiche tecniche, ma Windows Phone 8 gira anche su GPU Adreno 225, la quale condivide tutte le caratteristiche con l’Adreno 200 dell’HTC HD2, aggiungendo il supporto alle funzionalità DirectX 9 più avanzate.
Per cui le uniche differenze sensibili riguardano la GPU, che sulla carta potrebbe bloccare un hack del genere. In realtà bisogna considerare che la GPU viene gestita tramite un driver, e dunque sarebbe possibile emulare in software tutte le caratteristiche mancanti (o anche l’intera GPU), pagandone lo scotto a livello prestazionale. Probabilmente è questa la strada che sta seguendo l’hacker, e che gli ha consentito di far partire il nuovo s.o. mobile di Microsoft.
Affinché si possa ottenere un buon risultato dipenderà molto da quanto il s.o. utilizzi le caratteristiche peculiari delle nuove GPU, e lo stesso ragionamento sarà applicabile, in particolare, ai videogiochi, ma la mia impressione è che, al momento, un’Adreno 200 possa assolvere tranquillamente al compito di far girare il nuovo s.o..
Rimangono poi alcune nuove caratteristiche hardware, come ad esempio l’NFC, che però sono assolutamente marginali, di secondaria importanza, e non possono di certo rappresentare un motivo valido per bloccare l’esecuzione di un intero s.o. e/o applicazioni.
In conclusione, credo sia del tutto legittimo che Microsoft possa non voler aggiornare i “vecchi” cellulari nati sulla base di Windows Phone 7. Si tratta di una politica che trova riscontro anche per i terminali Android, i quali non fanno girare tutti l’ultima versione della casa di Mountain View. Diversamente da Apple, che attualmente è quella che garantisce una maggior longevità ai suoi dispositivi mobile.
Non è, però, accettabile, sulla scorta di quanto discusso, che accampi giustificazioni di carattere prettamente tecnico, quando i SoC che lei stessa ha imposto ai produttori di telefonini erano già ottimi all’epoca, e lo rimangono tutt’ora, com’è dimostrato dallo stesso Windows Phone 7/7.5, che risulta fluido e scattante anche sulle configurazioni più economiche.
Windows Phone 8 è sicuramente un sistema operativo più pesante, derivando dal kernel NT, ma non tale da supportare quella che appare certamente come una scusa…