Jak działa Proton na pokładzie Steam

Jeśli masz platformę Steam i ciekawi Cię, jak odtwarza ona gry oparte na systemie Windows w systemie Linux, to dobrze trafiłeś!

Jeśli masz Pokład parowy, prawdopodobnie jesteś zaskoczony, jak dobrze działa na nim wiele gier. Jest to nie tylko komputer kieszonkowy, ale także komputer kieszonkowy z systemem Linux. Pomimo złej reputacji systemu operacyjnego w zakresie gier wideo, tytuły AAA, takie jak Cyberpunk: 2077 I Grand Theft Auto V działa bardzo dobrze na Steam Deck. Dzieje się tak dzięki Protonowi, warstwie kompatybilności opracowanej przez Valve i CodeWeavers.

Co to jest proton? Jak to działa?

Proton jest w rzeczywistości kilka lat starszy od Steam Deck, który został wydany po raz pierwszy w sierpniu 2018 roku. W tamtym czasie Valve powiedziało, że „Teraz mogą być dostępne gry dla systemu Windows, które nie są obecnie dostępne w wersji dla systemu Linux instalowany i uruchamiany bezpośrednio z klienta Linux Steam, wraz z natywnym Steamworks i OpenVR wsparcie."

Przed Protonem gracze korzystający z Linuksa często potrzebowali natywnych portów gier dla swoich systemów lub byli zmuszeni polegać na warstwach zgodności innych firm, takich jak Wine. Wino działa całkiem nieźle, ale często wymagało wielu poprawek, aby wszystko działało idealnie, w grach takich jak

DOOM-a (2016) da się grać przy odrobinie pracy.

Tutaj wkracza Proton. Eliminuje to potrzebę jakiejkolwiek pracy po stronie użytkownika końcowego. Pomysł jest taki, że możesz po prostu zainstalować grę i grać w nią tak, jakby była to natywny port, a użytkownik końcowy nie musi wiedzieć, co się dzieje pod maską.

Proton współpracuje ze zmodyfikowaną wersją Wine. Wine działa jako warstwa tłumacząca wywołania API systemu Windows na wywołania POSIX (Portable Operating System Interface). jednocześnie odtwarzając strukturę katalogów Windows i zapewniając alternatywne implementacje systemu usługi. Wine nie używa żadnej emulacji ani wirtualizacji do wykonywania plików binarnych Windows.

Inną częścią Protona, niezbędną w równaniu gier, jest jego zdolność do tłumaczenia wywołań API Direct3D. Zawiera DXVK, opartą na Vulkan warstwę translacyjną dla Direct3D 9, 10 i 11, z obsługą Direct3D 12 zapewnianą przez VKD3D-Proton, rozwidlenie VKD3D od Wine.

Jeśli chodzi o Direct3D, jest to graficzny interfejs API dla komputerów z systemem Windows i jest częścią DirectX, a Proton zasadniczo interpretuje te wywołania API Direct3D. Proton tworzy własną wersję tej biblioteki, z którą mogą współpracować gry. Następnie Proton wewnętrznie kieruje te wywołania do API Vulkan, dzięki czemu gra może działać tak, jakby znajdowała się na komputerze z systemem Windows.

Proton jest całkowicie otwartym oprogramowaniem, który według Valve „umożliwi zaawansowanym użytkownikom modyfikowanie Protonu”. Najpopularniejszą niestandardową wersją Protona jest Proton-GE, który uwzględnia najnowsze zmiany eksperymentalne Protonu. Zawiera inne poprawki i funkcje, których nie ma zwykły Proton.

Przyszłość Protonu

Nad Protonem zawsze można pracować i udoskonalać, ale w obecnej postaci jest to już projekt dojrzały i rozwinięty. Biorąc pod uwagę, że można już za jego pośrednictwem grać w ogromne tytuły, gracze nie mogą chcieć wiele więcej. Nadal pojawiają się pewne problemy ze zgodnością i błędy graficzne, ale ogólnie rzecz biorąc, gra w Protonie jest nie do odróżnienia od gry natywnie w systemie Windows.

Jedną rzeczą, na której Valve może się całkowicie skupić, jest przekształcenie wersji Wine, na której oparty jest Proton, do nowszej wersji. Proton pozostaje w tyle za najnowszą oficjalną wersją Wine o kilka wydań, a projekty społecznościowe typu open source, takie jak Proton-GE, mają na celu dodanie dodatkowych funkcji i zmianę bazy na nowsze wersje Wine.

Oczywiście ostatecznym celem Valve jest stabilność i kompatybilność, dlatego nie uwzględnia tylko wszystkich zmian, które udało się osiągnąć projektom takim jak Proton-GE. Jeśli jesteś zaawansowanym użytkownikiem, nic nie stoi na przeszkodzie, aby zamiast tego zainstalować i używać Proton-GE, ale dla zwykłego gracza stabilny Proton jest zdecydowanie lepszą opcją.