Valve włożyło emulator x86 i Androida do jednego headsetu. Tak Steam Frame czyta gry z trzech platform
Valve ujawniło dwie nowe warstwy kompatybilności dla headsetu Steam Frame. FEX emuluje gry z Windows na architekturze ARM, a Lepton uruchamia tytuły z Androida. Razem otwierają dostęp do gigantycznej biblioteki gier bez pytania deweloperów o zgodę.

Spis treści
Dwie warstwy kompatybilności pozwalają headsetowi Valve uruchamiać gry z Windows, Androida i Linuksa na jednym urządzeniu. Fot. zombieite, Wikimedia Commons, CC BY 2.0
Gdy Valve zaprezentowało headset Steam Frame, uwaga skupiła się na sprzęcie. Tymczasem prawdziwa rewolucja rozegrała się w oprogramowaniu. Dwie nowe warstwy kompatybilności - FEX i Lepton - sprawiają, że urządzenie z procesorem ARM i systemem Linux bez problemu uruchamia gry napisane z myślą o Windows i Androidzie.
FEX, czyli jak x86 dogadał się z ARM
→ Czytaj też: Steam Controller sam wraca do ładowarki. Programista pokazał, jak to możliwe
Proton, warstwa tłumacząca gry Windows na język SteamOS, zdążył już przyzwyczaić graczy do cudów kompatybilności. W przypadku Steam Frame Valve sięgnęło jednak po narzędzie o zupełnie innym kalibrze. FEX to port projektu open source fex-emu, który emuluje instrukcje procesorów x86 na architekturze ARM. Bez niego ogromna biblioteka gier pecetowych byłaby dla headsetu niedostępna.
Historia FEX-a sięga 2018 roku, ale kluczowe okazało się wsparcie Valve. Firma finansowała głównego dewelopera projektu, Ryana Houdeka, od fazy prototypu.
„Chcę podziękować ludziom z Valve za bycie tutaj od samego początku i umożliwienie mi rozpoczęcia tego projektu” - napisał Houdek w siódmą rocznicę powstania FEX-a. „Zaufali mi, powierzając odpowiedzialność za zaprojektowanie i stworzenie szkieletu projektu w sposób, który zapewni jego długoterminowe działanie”.
Inżynier Valve, Pierre-Loup Griffais, przyznał w rozmowie z The Verge, że firma od początku zakładała „blisko dekadę pracy”, zanim emulator stanie się wystarczająco solidny. Dziś FEX wykorzystuje zaawansowany rekompilator binarny, obsługuje wszystkie nowoczesne rozszerzenia zestawu instrukcji x86(-64) i korzysta z cache’owania kodu, by zminimalizować przycinanie.
Lepton - Android w sercu SteamOS
→ Czytaj też: Gdzie wyrośnie kryształ? Naukowcy właśnie nauczyli się dyktować naturze, gdzie ma zacząć

Drugim filarem jest Lepton, rozszerzenie projektu Waydroid, które umożliwia uruchamianie plików APK z Androida w kontenerze na SteamOS. Dla Steam Frame to przepustka do świata gier VR, które pierwotnie powstawały na gogle Meta Quest. Aż 52 ze 120 pierwszych tytułów oznaczonych jako „Great on Frame” to właśnie aplikacje androidowe tłumaczone przez Leptona - wynika z analizy metadanych Steam przeprowadzonej przez serwis VR.org.
Jeremy Selan, inżynier Valve, tłumaczy to prosto: „To deweloperzy VR, którzy chcą publikować swoje treści VR i przenoszą mobilny tytuł, z którym są już obeznani”. Dzięki Leptonowi nie muszą tworzyć natywnych portów na Linuksa - ich APK po prostu działa.
Co to oznacza dla graczy i rynku?
Valve nie ukrywa, że Steam Frame przeciera szlaki dla szerszej wizji. „Myślę, że jedną z rzeczy, które chcemy zrobić, a Frame toruje ku temu drogę, jest bardziej uniwersalny SteamOS dla ARM” - powiedział Griffais w wywiadzie dla Rock Paper Shotgun. Firma aktywnie bada wersje swojego systemu na inne urządzenia z procesorami ARM.
Cel jest jasny: gracz nie powinien rezygnować z części swojej biblioteki tylko dlatego, że wybrał sprzęt o innej architekturze. Lawrence Yang z Valve, pytany o możliwość uruchamiania zwykłych aplikacji androidowych przez Leptona, odparł: „Nigdy nikogo do tego nie zniechęcaliśmy”, po czym dodał: „Jesteśmy firmą gamingową i koncentrujemy się na grach”.
Od czasów, gdy Valve prosiło deweloperów o ręczne tworzenie portów na pierwszą wersję SteamOS, minęła epoka. Dziś firma dostarcza narzędzia, które same rozwiązują problem - nawet jeśli wymagało to dekady cierpliwej inżynierii.


