Oprogramowanie  /  News

Niemożliwe stało się możliwe. Windows 10 na ARM zgodny ze wszystkimi aplikacjami

Picture of the author

Windows 10 na urządzeniach z procesorem ARM nie był do tej pory zgodny ze wszystkimi windowsowymi aplikacjami. To właśnie się zmienia – choć jeszcze nie dla zwykłych użytkowników.

Microsoft od wielu lat utrzymuje zgodność Windowsa NT z procesorami o architekturze ARM. System ten nawet doczekał się dwóch edycji gotowych do sprzedaży z pełną zgodnością z ARM-em – w formie Windowsa RT i Windowsa 10.

O Windowsie RT mało kto już pamięta. Urządzenia z tym systemem nie sprzedawały się w zasadzie wcale. Głównym powodem był brak zgodności tego systemu z niemal wszystkimi aplikacjami dla Windows – poza tak zwanymi aplikacjami nowoczesnymi z Microsoft Store.

Surface RT z Windowsem RT

W przypadku Windowsa 10 jest dużo lepiej. System ten zainstalowany na urządzeniu ARM zgodny jest z większością windowsowych aplikacji – choć z jednym istotnym wyjątkiem. Obsługiwane są programy skompilowane do architektur ARM32, ARM64, x86-32, ale nie x86-64.

Testy obsługi 64-bitowych aplikacji x86 dla Windows 10 na ARM właśnie ruszyły. Microsoft wcześniej twierdził, że to niemal niemożliwe.

W ramach programu Windows Insider można już testować rozwojową wersję Windowsa 10, który na procesorach ARM obsługuje zarówno natywne 32- i 64-bitowe aplikacje, jak i 32- i 64-bitowe w trybie emulacji x86. Co ciekawe, Microsoft wcześniej twierdził, że emulacja x86-64 na ARM może okazać się w Windowsie 10 niemożliwa. Podobno moduł emulacji Microsoft miał działający od dawna – jednak ponoć oferował tak niską wydajność, że nie było sensu oferować go użytkownikom końcowym.

Coś jednak wyraźnie się zmieniło. Nie tylko emulacja działa, ale działa całkiem sprawnie – przynajmniej wnosząc po, przyznaję, bardzo krótkich testach przeprowadzonych przeze mnie na urządzeniu z procesorem Microsoft SQ2 (ARM) dzisiejszej nocy. Zestaw testowanych przeze mnie aplikacji po prostu działa. I to przy całkiem przyzwoitej wydajności.

Notebooki z ARM oferuje między innymi Asus

Niestety nie wiemy ile te testy mają potrwać. Rzeczona kompilacja trafiła do kanału Windows Insider Dev – a ten nie służy do testowania jakiejś konkretnej edycji Windowsa. Obawiam się wręcz, że ów mechanizm nie trafi do wiosennego wydania Windows 10 21H1 – zamiast tego zapewne pojawi się dopiero jesienią, w ramach Windowsa 10 21H2. To jednak wyłącznie przypuszczenia, a sam Microsoft takiego obrotu zdarzeń nie sugerował.

Dlaczego nas to powinno interesować?

Coraz więcej obserwatorów branży jest zdania, że Intel ma poważne problemy z dalszym rozwojem architektury x86 oraz, co dużo ważniejsze, własnych procesorów. Już dziś jego konkurent w formie AMD – w zestawieniu z Intelem to wręcz maluczka, niespecjalnie istotna firma – oferuje układy, które w wielu aspektach są technicznie lepsze od procesorów Intel Core. Niektórzy jednak uważają, że ogólna przyszłość procesorów to architektura ARM.

Procesory o architekturze ARM zapewniają zazwyczaj dużo wyższą sprawność od konkurentów w formie Intel Core czy AMD Ryzen. W większości przypadków współczynnik PPW (Performance Per Watt) jest dla układów ARM wręcz nieporównywalnie korzystniejszy. To właśnie dlatego wszystkie ultramobilne urządzenia typu telefon czy tablet korzystają z układów ARM. Niemal żaden z układu x86.

Tablet HP z Windowsem i układem ARM

Do tej pory panowało jednak przekonanie, że choć układy ARM istotnie oferują wyższą sprawność energetyczną, tak wydajnościowo na razie nie są w stanie zagrozić konstrukcjom Intela i AMD. Najnowszy komputery Mac od Apple’a w sposób oczywisty przeczą tej tezie. Układ Apple M1 oferuje niesamowite osiągi, w niektórych pomiarach wręcz kompromitując procesory Intel Core.

Co oznacza emulacja x86-64 na ARM w Windows 10?

Windows 10 od samego początku – a więc od pierwszych wersji Windowsa NT sprzed dekad – był projektowany tak, by można było go względnie łatwo przenosić między architekturami procesorów. Sęk w tym, że trwająca przez dekady dominacja Intela na rynku procesorów sprawiły, że mało który twórca windowsowych aplikacji zawracał sobie głowę architekturą ARM.

Nie było ani urządzeń, ani odpowiednich procesorów, ani klientów. Nie było więc powodu by o tym myśleć. Co więcej, nie było powodu by unikać niewłaściwych praktyk w pisaniu aplikacji. Nie było powodu by nie stosować nieudokumentowanych przez Microsoft optymalizacji dla x86, dzięki którym dana aplikacja działa jeszcze lepiej, ale też za sprawą której dużo trudniej ją przenieść na ARM.

Na dziś więc windowsowych aplikacji na ARM jest bardzo niewiele. Dlatego też Windows 10 potrafi emulować środowisko x86 – i to z zaskakująco dobrą wydajnością – bo inaczej urządzenia z Windowsem i układem ARM byłyby dużo mniej użyteczne za sprawą braku zgodnego z nimi oprogramowania.

Większość windowsowych aplikacji zazwyczaj kompilowana jest zarówno do 32-, jak i 64-bitowych wersji. Większość nie oznacza jednak wszystkie. Zawsze prędzej czy później okaże się, że ta jedna jedyna apka, której bardzo potrzebujemy i na której polegamy od zawsze, dostępna jest tylko w formie x86-64. Przez co całe urządzenie staje się dla nas bezsensowne. Dodanie obsługi 64-bitowych aplikacji problem ten w zasadzie rozwiązuje.

Czy to oznacza, że komputery Mac z Apple M1 mają się czego bać? Oj, nie.

Mac Mini z superszybkim, ARM-owym procesorem M1

Największym problemem Microsoftu w kontekście architektury ARM są jego partnerzy sprzętowi. Na razie jedyne procesory ARM, jakie są wykorzystywane w PC z Windowsem, to układy Snapdragon od Qualcomma (Microsoft SQ również bazuje na Snapdragonie). Są to rewelacyjne procesory dla telefonów komórkowych. Sęk w tym, że na PC mamy dużo większe potrzeby.

Czytany przez was tekst – podobnie jak wszystkie moje teksty minionego tygodnia – powstał na Surface Pro X z procesorem SQ2 (ARM) i 16 GB RAM, z edycją zdjęć włącznie. Uwielbiam ten sprzęt i pracuje mi się na nim świetnie. To na dziś najwydajniejszy windowsowy tablet z układem ARM. I nadaje się głównie do pracy biurowej i prostej edycji zdjęć w Photoshopie i Lightroomie.

Aplikacje w windowsowym trybie emulacji na dziś "widzą" ARM-owy procesor SQ2 jako osiem fizycznych 32-bitowych rdzeni x86

Tablet jest bardzo responsywny za sprawą aż ośmiu fizycznych rdzeni i 16 GB RAM. Jednak w typowych zadaniach przeliczeniowych (compute tasks) nie ma najmniejszych szans z komputerami Mac z M1. Reprezentuje raczej pod tym względem poziom najbardziej energooszczędnej wersji Core i5. Fakt, że istotna część używanych przeze mnie programów działa w wpływającym na wydajność trybie emulacji x86 nie pomaga.

Trudno się dziwić Qualcommowi i temu, że traktuje rynek PC z ARM na razie dość eksperymentalnie. Na każdy jeden sprzedany Snapdragon 8cx dla PC przypadają tysiące Snapdragonów dla telefonów komórkowych. To rynek ultramobilny jest dla Qualcomma najważniejszy, a nie ten pecetowy. Czyli odwrotnie niż twórcy Windowsa potrzebują.

Uwielbiam Surface'a Pro X z ARM. Trudno mi jednak go polecić szerszej grupie odbiorców

Microsoft potrzebuje mocniej zaangażować Qualcomma we współpracę, znaleźć dodatkowego partnera lub samemu zacząć projektować swoje procesory. Dopóki to się nie wydarzy, komputery z Windowsem i układem ARM spełnią oczekiwania tylko bardzo specyficznych użytkowników, a w tak zwanym mainstreamie pozostaną sprzęty z procesorami Core i Ryzen. Mając coraz więcej problemów z nadążeniem za komputerami Mac z M1.

przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst