r   e   k   l   a   m   a
r   e   k   l   a   m   a

Wiedźmin 3 na Linuksie? Gdy deweloperzy mówią „nie”, zostaje Wine

Strona główna AktualnościOPROGRAMOWANIE

Niezależnie od tego, ile gier na Linuksa pojawi się w sklepie Steam, większość graczy i tak zapyta – a co z Wiedźminem 3? Nie jest to pytanie bezpodstawne – choć liczba dostępnych na systemy z Pingwinem tytułów AAA stale rośnie, to z jakiegoś powodu mnóstwo ludzi chce właśnie grać w wymyślonym przez Sapkowskiego świecie fantasy. A Wiedźmina 3 na Linuksa wciąż nie ma, i chyba nigdy nie będzie. Czy z tak wymagającą grą może sobie dać radę środowisko Wine?

W czerwcu 2014 roku na stronie sklepu Steam pojawił się interesujący plakat:

SteamOS to oczywiście Debian z dodatkami Valve, więc jeśli coś zostało zapowiedziane na SteamOS-a, to zostało zapowiedziane na Linuksa. Był to przecież rok wielkiej ekscytacji „maszynami parowymi”, pracujące pod kontrolą SteamOS-a gamingowe komputery miały rywalizować z konsolami Sony i Microsoftu w naszych salonach, więc zapowiedź wydania na tę platformę najsłynniejszej gry roku nikogo nie dziwiła. Liczono nawet, że będzie to natywna wersja, a nie koszmarek wykorzystujący wrapper eON, jak to było w wypadku Wiedźmina 2.

r   e   k   l   a   m   a

Poza bannerem nigdy jednak niczego nie zobaczyliśmy, coś zawiodło w komunikacji między CD PROJEKT RED i Valve. Jesienią zeszłego roku pojawiła się nawet informacja (z samego sklepu GOG.com), że nie ma żadnych planów wydania Wiedźmina 3 na Linuksa, i co więcej, nigdy takich planów nie było.

Gamingowemu ludowi indyki niesmaczne

Zaskoczenia właściwie nie ma, biorąc pod uwagę to, jak wielkie studia gamingowe podchodzą do Linuksa. Większość nowych gier to produkcje małych i średnich, niekiedy zdarzy się, że jakiś większy tytuł zostanie przeniesiony przez VP czy Feral Interactive. Oznacza to, że tym fanom Linuksa, którzy chcą z jakiegoś powodu bawić się grami AAA, a nie chcą (z jakiegoś powodu) zainstalować sobie na drugiej partycji Windowsa, pozostaje Wine.

Wraz z wydaniem Wine 2.0, poziom wsparcia dla windowsowych gier pisanych na DirectX 11 znacznie wzrósł. Józef Kucia i Matteo Bruni, deweloperzy ciężko pracujący nad d3d11.dll i wined3d.dll osiągnęli wielki postęp od czasu uruchomienienia na Wine pierwszych prostych gier korzystających z DirectX 11, Divekick oraz Karma. Uporządkowanie, restrukturyzacja kodu, implementacja brakujących funkcji shaderów, w końcu zaś wprowadzenie mechanizmu Unordered Access Views, dającego shaderom swobodny dostęp do zasobów.

Największym problemem w uruchamianiu czegokolwiek nowszego od DirectX 9 pozostawało oczywiście to, że wined3d domyślnie wciąż zależało od starego OpenGL 2, na którym wiele sterowników nie ujawniało niezbędnych funkcji w kontekście DirectX 11. Wine doczekało się jednak w końcu możliwości ustawienia maksymalnej wspieranej wersji OpenGL, dzięki czemu przynajmniej na Linuksie z binarnymi sterownikami Nvidii (i czasem otwartymi Mesa) można było z tych funkcji zażądać.

DirectX 11 na Linuksie – powoli, ale jednak

Przełom nastąpił w listopadzie zeszłego roku – Andrew Wesie dostarczył do Wine zestaw łatek, dzięki któremu możliwe stało się uruchomienie na Linuksie słynnego Overwatcha. A co z Wiedźminem 3? Lekko nie będzie. Jeśli sprawdzić obecny poziom odtworzenia windowsowych interfejsów przez Wine, to widzimy niemal kompletny DirectX 10, ale już z „jedenastką” jest znacznie gorzej: według d3dx11_42 – jedynie 15%, d3dx11_43 – całe 27%. Wciąż Windows jest lepszym Windowsem niż Wine, przynajmniej według tej niezbyt często odtwarzanej strony.

W tym tygodniu jednak dostaliśmy deweloperskie wydanie Wine 2.3, które przynosi kilka ważnych ulepszeń, przede wszystkim dla mechanizmu CSMT (command stream multi-threading). Jest on konieczny, aby w Wine odtworzyć ważną właściwość Windowsa. Otóż w momencie wywołania Direct3D, DirectX tworzy sobie oddzielne wątki, odłączając rysowanie grafiki od reszty aplikacji. Tymczasem Wine bezpośrednio wywołuje OpenGL, nie czekając na jego wykonanie na karcie graficznej. Pozwala to zachować dobrą wydajność, ale czasem kończy się graficznymi usterkami – nie można zagwarantować poprawnej kolejności rysowania. CSMT, wprowadzone w Wine 1.7, zapewnić ma zarówno poprawną kolejność jak i wysoką wydajność.

Czy te zmiany mogą pomóc Wiedźminowi 3, który już na Wine się uruchamiał, ale grafika w grze była kompletnie pokraczna? Na pewno pomogą w ogóle się uruchomić – błąd (42509) w Wine 2.2 kompletnie zawieszał komputer po uruchomieniu Wiedźmina 3 już na starcie. Wine. Wreszcie byśmy więc zobaczyli, jak wygląda uruchomienie Wiedźmina 3 z ulepszonym CSMT na najnowszym Wine, ale cóż, przyznajemy – tej wersji 2.3 nie udało się nam zbudować z kodu źródłowego, a w oficjalnym repozytorium PPA dla Ubuntu/Minta wciąż jest stara wersja 2.2 (to i tak lepiej, niż na Debianie, gdzie jest wersja 2.1 czy Fedorze, gdzie dostaniemy tylko 1.9).

Postęp jednak nie ustaje – wierzymy, że już w tym roku Wine stanie się niezłą platformą uruchomieniową dla gier DirectX 11. DirectX 12 już aż tak istotny nie jest – dziś coraz więcej nowych gier jest projektowanych z myślą o wydaniu na wiele platform. XCOM 2, Total War: Warhammer, Civilization VI, Deus Ex: Mankind Divided, Rocket League, nawet HITMAN… tylko tego Wiedźmina 3 brak.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.