Granie na MacBookach od dawna jest raczej ciekawostką, aniżeli czymś oczywistym. Większość tytułów nigdy nie została wydana na systemy MacOS, a odkąd Apple przeszedł w swoich komputerach na procesory Silicon M, to ta kwestia stała się jeszcze bardziej problematyczna. Dlaczego?
Kiedyś na komputerach od giganta z Cupertino (po epoce PowerPC), instalacja innego systemu operacyjnego nie była większym problemem. Od strony technicznej taki MacBook był po prostu laptopem – Posiadał procesor od Intela, kartę graficzną od AMD i inne podzespoły znane komputerów przenośnych. Także obok MacOS można było zainstalować dystrybucję GNU/Linux lub system Windows. Wybierając okienka od Microsoftu (jako drugi system) nic nie stało na przeszkodzie, aby zagrać w swoje ulubione gry. Natomiast w momencie przejścia przez Apple na procesory ARM, instalacja innych systemów (a w konsekwencji granie na nich) stała się niemożliwa. Przynajmniej do czasu.
Asahi Linux – pierwsza dystrybucja działająca na Apple Silicon, która uruchomi gry AAA
Asahi Linux to dystrybucja dedykowana dla urządzeń z logiem nadgryzionego jabłka, które zostały oparte o autorskie procesory ARM. Kilka dni temu zespół deweloperów ogłosili, że ich system osiągnął zgodność (na poziomie sterowników) z grami x86, dedykowanymi dla systemu Windows. Co prawda funkcja nadal jest w fazie testowej (alfa) i działa wyłącznie na układach na układach Apple M1 i M2, ale Asahi Linux jest pierwszą na świecie dystrybucją Linuksa, która może się poszczycić taką funkcjonalnością. Jak udało się tego dokonać programistom?
Zestaw narzędzi do grania na Asahi Linux obsługuje emulację x86 i zgodność z systemem Windows (dzięki sterownikom Vulkan 1.3). Dodatkowo dystrybucja dostarcza sterowniki OpenGL, OpenCL i Vulkan dla sprzętu Apple z SoC ARM. Aby to wszystko działało, programiści musieli stworzyć i skonfigurować aż cztery (!) stosy translacji. FEX emuluje instrukcje x86, aby działać na sprzęcie ARM, Wine tłumaczy kod Windows na Linuksa, a DVK i Proton skupiają się na tłumaczeniu wywołań DirectX API na Vulkan.
Czym jest FEX-Emu?
FEX-Emu pozwala na uruchamianie plików binarnych x86 i x86-64 na hoście z systemem Linux (AArch64). Oprogramowanie robi to podobnie jak qemu-user czy box86/box64.
Dodanie dodatkowej (czwartej warstwy) złożoności dotyczyło obejścia rozmiarów stron jądra (tzn. kernel page file) – Systemy Apple używają rozmiarów stron 16K, podczas gdy gry w systemie Windows (x86) wykorzystują strony wielkości 4K. W rezultacie programiści Asahi wirtualizują drugorzędne jądro ARM Linux z innym rozmiarem strony, aby obejść to ograniczenie. Proces obejmuje uruchomienie gry x86 na małej maszynie wirtualnej przy użyciu muvm (usługa mikro maszyny wirtualnej), a następnie przekazanie podzespołów wymaganych do gry, takich jak GPU czy wejścia urządzeń peryferyjnych.
Tak jak zostało wspomniane na początku tego artykułu, zgodność Asahi z systemem Windows x86 jest obecnie w fazie alfa, a programiści pracują nad wydaniem wersji 1.0. Aktualne braki czy błędy obejmują chociażby niezgodność z rozproszonym teksturowaniem w sterowniku Honeykrisp. To właśnie ten sterownik odpowiada za działanie emulowanych z Windowsa gier i jako jedyny (w świcie Linuksa) pozwala na renderowanie obrazu na procesorach Silicon M1 i M2.
Pomimo jeszcze długiej drogi do pełnej stabilizacji sterownika i zintegrowanego z nim oprogramowania, to już część gier AAA można płynnie uruchomić. Przykładowo przez te warstwę translacji udało się na MacBookach odpalić takie tytuły jak Doom, Cyberpunk 2077, Portal 2, Fallout 4 czy Control.
Także jeżeli jesteście zainteresowani przetestowaniem tej dystrybucji, to zachęcam do odwiedzenia strony projektu. Natomiast wszystkich zapraszam do sekcji komentarzy – Chętnie przeczytam, co myślicie o tym projekcie.
Źródło: Tom’s Hardware, Asahi Linux, FEX-Emu
Zgłoś naruszenie/Błąd
Oryginalne źródło ZOBACZ
Dodaj kanał RSS
Musisz być zalogowanym aby zaproponować nowy kanal RSS