Powszednieje opinia, że procesory x86 nie będą nam miały w przyszłości do zaoferowania znacznie więcej niż dziś. Trwają poszukiwania alternatywy, a naturalnym następcą są w tej chwili procesory o architekturze ARM. Mają one wiele obiecujących walorów, ale także stanowią wyzwanie. Trzeba bowiem przygotować sposoby na uruchamianie na ARM-ach oprogramowania pisanego na x86.
Twórcy Wine’a pracują nad uruchamianiem x86 na procesorach ARM
To zagadnienie jest znacznie ważniejsze, niż mogłoby się wydawać. Potrzeba szerszej adaptacji procesorów ARM w elektronice użytkowej jest wręcz paląca. Przez lata odsuwaliśmy od siebie myśl o śmierci Prawa Moore’a, dziś – trochę z ręką w nocniku – jesteśmy zmuszeni przyjmować do wiadomości zapewnienia Intela na temat „optymalizacji energetycznej” kolejnych generacji x86. ARM-y natomiast prą do przodu, czego znamienitym przykładem był opisywany na łamach naszego bloga 24-rdzeniowy ARM-owy procesor serwerowy montowany na Banana Pi.
Przed woltą w stronę ARM musimy sobie jednak zapewnić możliwie miękkie lądowanie – większość użytkowników nie będzie sobie mogła pozwolić, by z dnia na dzień rozstać się z oprogramowaniem kompilowanym na x86. Jak znalazł będzie tutaj ogłoszone właśnie przedsięwzięcie realizowane przez deweloperów związanych dotąd z Wine. Dostępna jest już pierwsza wersja alpha rozwijanego przez André Hentschela oraz Stefana Dösingera programu Hangover. Ma on pozwolić na uruchamianie windowsowego oprogramowania x86/x86_64 na procesorach ARM.
Hangover, czyli choroba dnia następnego
Z Hangovera będzie można korzystać oczywiście na Linuksie, także Androidzie, a nawet na Windowsie 10 w wersji kierowanej na urządzenia Always Connected, czyli hybrydy z ARM-ami i slotem na kartę SIM. Program wykorzystuje kod Wine’a, ale także korzysta z komponentów emulatora QEMU. Na razie całe przedsięwzięcie jest na bardzo wczesnym stadium rozwoju – obsługiwanych jest zaledwie kilka windowsowych (Win32) programów, po których nie należy oczekiwać, że będą działać szybko i sprawnie. Hangover docelowo może także być krokiem w stronę uruchamiania windowsowych gier na urządzeniach z Androidem.
Koncepcja twórców Wine’a oczywiście nie jest całkowicie nowa – swój sposób na uruchamianie Win32 ma także Microsoft. Wariant Windowsa na rzeczonych urządzeniach Always Connected także wykorzystuje emulację x86. Wykorzystano tam swoje rodzaju koncepcję mieszaną – emulowany system działa na bazie jądra i usług systemowych gospodarza oraz uruchamianego na nim emulatora. Emulowane będą już wszystkie biblioteki DLL (x86) oraz same aplikacje. Nie ma tu zatem mowy o żadnej wirtualizacji czy obsłudze oprogramowania 64-bitowego, można natomiast spodziewać się wąskiego gardła.
Zmarnowane szanse Microsoftu
Czy propozycja programistów związanych z Winem będzie lepsza? Jest oczywiście zdecydowanie zbyt wcześnie, by to orzec. Cieszy jednak, że dostrzegli oni zbliżający się nieuchronnie ARM-owy boom. Dla wielu rozwijane pod patronatem Microsoftu urządzenia Always Connected okazały się niewypałem. Może jednak nie tyle była to porażka, lecz false start. Kolejne próby spopularyzowania komputerów osobistych z procesorami ARM mogą w rezultacie zostać przeprowadzone już bez udziału Windowsa.