Basandosi su Windows in Arm

Microsoft sta spingendo, in qualche modo, per Windows Arm64, l’ultimo di numerosi tentativi, ma il più serio finora. La prova di ciò può essere vista nella spinta a rendere Visual Studio 2022 nativo per Arm64, il rilascio di un Dev Kit per lo sviluppo di Arm su Windows (noto anche come Project Volterra) e il lancio di dispositivi Surface premium con la configurazione Arm opzionale, l’ultimo è il Surface Pro 9.

Il Dev Kit viene fornito con un processore Qualcomm Snapdragon 8cx Gen3 mentre Surface utilizza processori SQ, ma probabilmente non c’è molta differenza.

All’interno del Dev Kit di Microsoft (immagine: Microsoft)

Perché concentrarsi sul braccio? Il motivo principale è l’efficienza, sia che si manifesti come una maggiore durata della batteria su un laptop, server più convenienti o un’opzione verde in un’epoca in cui l’efficienza energetica non è mai stata così importante. Arm arriverà anche nel cloud Azure di Microsoft, sotto forma di Ampere Altra VM, che sarà generalmente disponibile dal 1° settembre di quest’anno.

Pertanto, ci sono almeno due motivi per cui gli sviluppatori devono codificare sui dispositivi Arm. Primo, perché sono anche migliori per gli sviluppatori; e in secondo luogo, per testare funzionalità e prestazioni sulla stessa architettura del processore che verrà utilizzata per l’implementazione.

L’influenza di Apple Silicon, anch’essa con sede ad Arm, è significativa. I dispositivi Apple M1 funzionano bene, il che mitiga il prezzo premium per l’hardware. Microsoft ha bisogno di processori Arm per competere e gli sviluppatori che utilizzano laptop Apple M1 potrebbero anche voler installare Windows in una VM, che richiede una build Arm64. Sia Parallels che VMWare ora eseguono Windows senza problemi su un processore M1.

Abbiamo messo le mani su un Surface Pro 9 in prestito per provare l’ultima esperienza di Windows on Arm. È sorprendente che la società di pubbliche relazioni lo abbia fornito senza una cover per tastiera, il che vale la pena notare solo se mostra quale scarsa esperienza offre Windows 11 per gli utenti di tablet puri. Come si è scoperto, non potevamo nemmeno accedere senza collegare la tastiera; e la maggior parte dei dispositivi Surface sembra essere utilizzata come laptop per la maggior parte del tempo, nonostante l’ingegneria intelligente dietro le tastiere rimovibili.

Gli sviluppatori possono aspettarsi qualche attrito. I primi passi per noi sono il download e l’installazione di Visual Studio, VS Code e git. Git è interessante perché non esiste una build Windows Arm offerta dal sito ufficiale. C’è una build ma ci sono alcuni problemi, ad esempio con il gestore delle credenziali, come discusso qui. Git compilato per x86 funzionerà ovviamente; ma il codice nativo è migliore. Windows on Arm ha faticato in parte perché è una scelta di minoranza, da qui lo sforzo per consolidarlo ulteriormente e migliorare l’ecosistema.

Quella discussione include il riferimento ad Arm64EC che rende possibile compilare codice “compatibile con l’emulazione” che è nativo di Arm ma segue la convenzione di chiamata x64 e il layout della struttura dei dati, tra le altre cose, per comunicare correttamente -link alle DLL in esecuzione in emulazione. Ci è stato anche detto che “lo stesso sistema operativo Windows 11 on Arm fa molto affidamento sull’interoperabilità Arm64EC per consentire l’esecuzione di applicazioni x64”.

C’è un tocco di “uncanny valley” su Windows on Arm, dove la compatibilità con Windows su x64 è abbastanza buona da farti dimenticare, e poi te lo ricordi. Sviluppando con .NET, ad esempio, va tutto bene fino a quando non è necessaria l’interoperabilità con codice nativo, quindi viene visualizzato “Errore: tentativo di caricare un programma con un formato errato”.

Il Surface Pro 9 è un dispositivo interessante con una durata della batteria fino a 19 ore di “utilizzo tipico del dispositivo” dichiarato (un miglioramento rispetto alle 15,5 ore per la variante Intel, anche se con la stessa batteria) e supporto per una nano SIM con connettività 5G . Detto questo, è all’ombra dell’M1 di Apple e il processore Microsoft/Qualcomm SQ 3 non sembra corrispondere al chipset di Apple. L’abbiamo testato contro un MacBook Pro da 14″ del 2021 con 16 GB di RAM. Surface 9 Pro costa £ 1440,82 + IVA quando viene aggiunta una tastiera di base, rispetto a £ 1582,50 + IVA per MacBook Pro ai prezzi odierni nel Regno Unito; non una grande differenza. L’M1 Pro di Apple ha 8 core e funziona a 3,22 GHz, mentre l’SQ 3 ha 8 core e funziona a 3,00 GHz.

Piace? Geekbench 5 ha dato un punteggio di 1740 single core e 9729 multi core per MacBook Pro, rispetto a 1078 single core e 5351 multi core per Surface Pro 9.

Abbiamo anche eseguito Windows on Arm in emulazione sul MacBook, utilizzando l’eccellente Fusion 13 di VMWare che fornisce anche un piccolo TPM virtuale per installare Windows 11 senza intoppi: abbiamo avuto un po’ di problemi con i driver di rete non caricati, che cadevano. l’installazione, ma un rapido Shift-F10 lo risolve e una volta installati gli strumenti VMWare tutto va bene. È interessante notare che il punteggio single core di Geekbench 5 in emulazione sul MacBook Pro era 1343, più veloce del punteggio nativo di Surface Pro 9, anche se il multicore è rimasto molto indietro a 2037.

Gli sviluppatori che desiderano eseguire Windows on Arm per i test potrebbero scoprire che un MacBook Pro è tutto ciò di cui hanno bisogno o un Mac Mini.

C’è anche un Dev Kit da considerare, una frazione del prezzo di un Surface Pro 9 a £ 482,50 + IVA (più economico di un Mac Mini) e con specifiche chiave migliori: 32 GB di RAM, 512 GB di SSD NVM2. È un percorso conveniente per Windows on Arm, a meno che non si possa eseguirlo su un Raspberry Pi o simile, e una buona offerta anche se il primo tester Jeff Geerling ha riferito che “gli interni sono un po’ disordinati. Sembra ovvio che il coraggio sia fondamentalmente una scheda madre in stile Surface Pro X che è stata riorganizzata per adattarsi a un case desktop.”

I due grandi problemi con Windows on Arm sono in primo luogo, che l’hardware deve essere migliorato in qualcosa di più vicino a ciò che Apple può offrire, e in secondo luogo, che deve essere abbastanza mainstream da far sì che l’attrito, sia per lo sviluppatore che per altri utenti, scomparire. Quest’ultimo almeno si sta avvicinando e se Windows on Arm è sufficiente per portare a termine il lavoro, c’è sempre da considerare il risparmio energetico.

Leave a Reply

Your email address will not be published. Required fields are marked *