Granie na Linuksie

Linux jako platforma gamingowa

 

Pojawienie się Steam’a i w końcu natywnej aplikacji na Linuksa w 2013 roku to rewolucja, dzięki której Linux w końcu stał się możliwą alternatywą jako platforma gamingowa na PC’ty. Po czterech latach sytuacja ciągle jeszcze nie dojrzała jednak do końca. Poniżej omówimy jak wygląda granie na Linuksie, szanse oraz problemy z jakimi borykają się gracze na Linuksie, jak i rozwiązania, które mogą sytuację usprawnić.  Na koniec prezentuję też film, który podaje temat od strony dewelopera, gdzie okazuje się, że portowanie gier na Linuxa czy w ogóle rozwój gry na różne platformy nie jest tak trudny.

1. Potencjał

W porównaniu do Windows, systemy Linuksowe zużywają mniej zasobów sprzętowych:  mniej RAMu, mniej mocy procesora, nie obciążają dysku ciągłymi różnorodnymi, niepotrzebnymi procesami (nie pracując na Linuxie, dysk również nie pracuje, zupełnie inaczej jest na Windowsie). Niebagatelnym jest też fakt, że Linux będąc systemem open source (otwartoźródłowym),  jest NIEZALEŻNYM systemem, gdzie nie ma wstępu żaden monopolista, każdy może skorzystać, poprawiać, rozwijać, więc nie ma tu zagrożeń typu zamykania platformy (Windows zmierza w tym kierunku, Mac OS już tam jest), czy szpiegowania użytkowników (Windows 10, Windows S), backdoorów (Windows), różnorodnych i bardzo poważnych dziur bezpieczeństwa, które są trzymane w tajemnicy, itp. Do tego dochodzą inne mocne strony Linuksa jak olbrzymia konfigurowalność, łatwość, szybkość i wygoda aktualizacji oraz wiele innych.

W przeciwieństwie do Mac’ów, Linux nie jest ograniczony sprzętem. Owszem, można zainstalować system Apple’a na zwykłych komputerach, tworząc tzw. „hackintosh’e”, ale nie działają one optymalnie, bo system jest ściśle stworzony do pracy na sprzęcie firmy z logiem jabłka, który jest… bardzo słaby do gier i zdecydowanie za drogi w stosunku do możliwości.

Linux będzie chodził na większości komputerów, więc nie ma przeszkód stworzyć potężnego PC’ta do gier na ten system. Jest sporo osób, które tak robi. Wszystko wygląda pięknie. Jednak mimo tego potencjału, Linux nie jest dobrą platformą do grania – jeszcze. Owszem, można na nim grać i wiele osób to robi, jednak zdecydowanie przegrywa z Windowsem. Czemu? Tutaj cały szkopuł jest w fakcie, że Linux będąc niszowym systemem nie ma wsparcia ani poważnego zainteresowania ze strony firm produkujących sprzęt komputerowy (hardware) jak i developerów gier, choć to zaczyna się ostatnio zmieniać. Co roku i z miesiąca na miesiąc pojawiają się nowe gry na Linuksa i coraz więcej tytułów triple X jest portowanych na tą platformę. Firmy zaczynają też deklarować wsparcie Linuksa w momencie premiery gry. Nie jest to dominujący trend, ale coraz częściej można się z takimi przykładami spotkać. Udział Linuksa jako systemu na desktopy na rynku powoli, ale jednak wzrasta, w tej chwili szacuje się go na średnio 3% przy czym realna liczba może być większa i przypuszcza się, że sięga około 5%. Dane statystyczne z samej Polski sugerują, że 5% jest właśnie bliższe prawdy. Wraz ze zwiększonymi udziałami Linuksa na rynku sytuacja z czasem się odmieni.

Rozbijmy sytuację na mniejsze elementy i prześledźmy jak  to obecnie wygląda.

2. Sterowniki

Linux nie ciesząc się dużym zainteresowaniem dużych producentów kart graficznych czy innego sprzętu dostawał zawsze ochłapy w postaci niepełnowartościowych lub słabo zoptymalizowanych sterowników zamkniętych, natomiast sterowniki otwarto-źródłowe pisane na zasadzie inżynierii odwrotnej były bardzo niedoskonałe, miały jeszcze więcej luk w funkcjonalności i dawały bardzo słabe wyniki w grach. W efekcie gry na ciężkim, ale w doskonale wspieranym Windowsie jak na ironię zwykle chodziły dużo szybciej.

Na rynku mamy dwóch liczących się producentów kart graficznych: AMD i Nvidia. Na Linuksie Nvidia zdecydowanie wygrywała, bo na AMD sterowniki otwarte były koszmarne, a sterowniki zamknięte (pisane przez producenta) były dużo mniej wydajne w porównaniu do tych Nvidii, więc przez długi czas dla poważnych graczy tylko karty Nvidia były sensownym wyborem. Niedawno sytuacja się mocno zmieniła, bo AMD przestała wspierać sterownik zamknięty i zaczęła rozwijać oficjalny (pisany przez AMD) sterownik otwarto-źródłowy, tak że w tym momencie tylko taki jest jedną słuszną wersją na Linuksa. Do niedawna takie sterowniki ciągle były pod względem wydajności trochę słabsze niż te odpowiadające Nvidii, jednak i tak były dużo lepsze niż stare otwarto-źródłowe. Najnowsze aktualizacje to zmieniają i karty AMD zaczynają być sensownym wyborem dla poważnych graczy, niemniej jednak trudno powiedzieć, czy mogą konkurować z Nvidią, ale to już kwestia czasu.

Producenci gier twierdzą, że sterownik Nvidii ma wszystkie te same możliwości co wersja Windowsowa, jednak brak jest oprogramowania dodatkowego oraz rozbudowanych narzędzi jakie oferuje platforma Windows. Do tego dochodzi optymalizacja sterowników pod system typu Linux i tutaj niestety bywa z tym gorzej.

Na kartach Nvidii sterowniki zamknięte zawsze oferowały lepszą wydajność i były głównym wyborem nie tylko dla graczy. W przeciwieństwie do AMD, Nvidia dalej ma kod zamknięty i nie słychać, żeby miało się coś zmienić w tej kwestii, ale możliwe, że presja jak i przykład AMD spowoduje zmianę podejścia Nvidii.

3. OpenGL, Vulkan i DirectX

Co tu dużo mówić, OpenGL jest wolniejszy niź DirectX i nawet jeśli sterowniki już zaczynają się zbliżać do wydajności Windowsowej, to OpenGL jest wąskim gardłem, która mocno obniżało wydajność gier. Jest jednak nadzieja w postaci nowej generacji nisko-poziomowego API do gier Vulkan, który jest jakościowo i wydajnościowo porównywalny do DirectX12, a jak niektóre testy sugerują, że możliwie lepszy. Do tego dochodzi fakt, że Vulkan jest platformowo agnostyczny, czyli będzie chodził na Windows, Linux, MacOS, Android, co jest bardzo dużą zachętą dla developerów gier, bo mogą łatwo portować gry przy niewielkim nakładzie kosztów. Gry zbudowane pod Vulkanem w testach osiągają porównywalne lub lepsze wyniki na Linuksie niż na Windowsie, więc szala zaczyna się przechylać. Niestety, gier na Vulkana jest jeszcze stosunkowo niewiele, ale stopniowo powstają nowe i jest szansa, że Vulkan wyprze DirectX’a – gdyż nawet samo AMD należy do grupy Kronos’a, które rozwija Vulkan’a, więc duzi gracze są zainteresowani niezależnym i potężnym, niskopoziomowym API do gier.

Co ciekawe, gry zbudowane na Vulkanie nawet jak nie są portowane na Linuksa, chodzą doskonale pod Wine i możemy skorzystać ze wszystkich dobrodziejstw, które oferuje Vulkan (np. DOOM 4).

4. Ilość dostępnych gier.

Większość gier na PCty to gry na platformę Windows, więc wybór jest kompletny. Nie można tego powiedzieć o Linuksie, na który Steam oferuje chwili pisania tego artykułu ok. 2 500 tysiąca tytułów z czego produkcje tripleX (wysokobudżetowe produkcje dużych firm) to zdecydowana mniejszość. Tutaj można zobaczyć listę tytułów Steam’a ze wsparciem Linuxa:

https://steamdb.info/linux/

Sytuacja się jednak rozwija i z każdym miesiącem przychodzą nowe tytuły, również te większe. Są też studia deklarujące wypuszczenie swoich nowych gier na Linuksa od razu z dniem premiery, tymczasem do tej pory na wersje Linuksowe trzeba było sporo czekać i dla większości tytułów to dalej prawda. Dedykowany gracz, który chce od razu mieć nowości, duże tytuły i ogromny wybór miałby problem na Linuksie. Dla okazyjnych graczy jednak sytuacja nie jest aż tak zła i można wybierać spośród wielu dobrych, znanych tytułów jak np.:

Age of Wonders 3
Alien Isolation
Baldur’s Gate
Baldur’s Gate 2
Bard’s Tale
Bioshock Infinite
Borderlands 2
Borderlands Pre sequel
Civ Beyond Earth
Civilisation V
CK II
Company of Heroes 2
Deus Ex: Mankind Divided
Devolver Digital Full List
Dirt Showdown
Empire Total War
EU IV
F1 2015
F1 2017
Fahrenheit: Indigo Prophecy Remastered
Football Manager 2017
Grid Autosport
Half Life
Half Life 2
Hearts of Iron IV
Hitman GO: Definitive Edition
Icewind Dale: Enhanced Edition
Life is Strange
Mad Max
Medieval II: Total War
Metro 2033
Metro Last Light
Motorsport Manager
Pillars of Eternity
Portal
Portal 2
Saints Row
Serious Sam 3
Shadow Warrior
Spec Ops THe Line
Square Enix Full List
Star Wars Knights of the old republic 2
Stellaris
System Shock 2
Tomb Raider
Torchlight II
Total War Attila
Total War Warhammer
Warhammer 40K Dawn of War II
Warner Bros
Wasteland 2
Witcher 2 (Wiedźmin 2)
XCOM
XCOM 2

 

Listę tytułów Steam’owych na Linuxa można również przeglądać z samego Steam’a:

http://store.steampowered.com/search/?os=linux

Na googlu można wyszukać frazę „games on linux” i pokaże to listę wielu popularnych gier:

Oprócz Steam’a są też inne platformy, które umożliwiają grę na systemach linuksowych:

http://www.linuxandubuntu.com/home/some-of-the-popular-gaming-platforms-for-linux

Linux to nie tylko Steam i np. na itch.io można znaleźć aż ponad 9000 tytułów na Linuksa! Tutaj kolejny artykuł prezentujący miejsca, gdzie można zakupić lub/i ściągnąć gry:

Fantastic Linux Games and Where to Find Them

 

Co zrobić jednak jak gry nie ma na żadnej liście? Trzeba zainstalować Steam’a na Wine czy PlayOnLinux (POL), ewentualnie płatnym Crossover i tam będziecie mieli aktywne wszystkie tytuły na Windowsa. Czy jednak będą się uruchamiać poprawnie to już inna historia. Duża część z nich, szczególnie starsze gry powinny działać, czasem trzeba zastosować jakieś haki (przejrzeć fora i strony w ich poszukiwaniu), bo problemów z grami na Linuksie nie mniej niż na Windowsie, ale może się też zdarzyć, że gra chodzi lepiej niż na Windowsie… miałem już taką sytuację.

Do niedawna gry pisane pod DirectX11 nie chodziły poprawnie na Wine, ale najnowsze wersje Wine to zmieniają i już da się uruchomić nawet Wiedźmina 3, chociaż ciągle jeszcze są pewne błędy, które są eliminowane z wersji na wersje, a postępy można śledzić na filmikach na YT.

To w tej chwili najnowszy stan Wiedźmina 3 na Wine Staging 2.16:

Z każdą nową wersją Wine’a mamy kolejne usprawnienia i prace postępują bardzo szybko. Jeszcze niedawno gra w ogóle się nie uruchamiała, potem grafika była zupełnie rozjechana, teraz już coraz bardziej przypomina grywalną wersję, chociaż jeszcze nie jest to ideał.

 

Może się zdarzyć, że na starych wersjach Wine dana gra chodziła lepiej (tak jest z Morrowind, który nie chce się uruchamiać na nowym Wine a chodził na starym) i tu z pomocą przychodzi PlayOnLinux, gdzie można instalować grę czy Steam’a na wybranej wersji aplikacji Wine. Jest tutaj dużo kombinowania i nie zawsze efekty są tego warte, ale mimo dość oszczędnej listy tytułów na Steam, można grać w dużo więcej. Bardziej wybredny lub zapalony gracz musi jednak rozważyć dual-boot z Windowsem, jeśli dana gra będzie sprawiać za dużo problemów na Linuksie.

5. Jakość portów gier

Niestety część z portów na Linuksa nie jest najlepszej jakości, brakuje im opcji graficznych z Windowsa lub gorzej – są niestabilne, zawierają wiele błędów, sypią się…. a jak działają to wydajność jest niższa, bo firma nie zrobiła poprawnej lub pełnej optymalizacji pod OpenGL. To kolejny z powodów, dlaczego wydajność gier może być gorsza i tak zbiera się cegiełka do cegiełki… Niemniej jednak nowsze komputery z przyzwoitymi kartami graficznymi są w stanie uruchomić grę w grywalnej jakości i mimo statystycznie gorszych wyników, przeciętny gracz tego nawet nie zauważy. Nie każdy port też jest zły, więc nie można generalizować tutaj za mocno, jednak problem występuje, chociaż coraz mniej widoczny.

6. Komputery/laptopy z hybrydową grafiką

To temat rzeka. Na Windows system dynamicznie przełącza między np. kartą Intel i Nvidia w razie potrzeby i użytkownik zupełnie nie musi się tym przejmować. Na Linuxie serwer wyświetlania X (element systemu odpowiedzialny za wyświetlanie obrazu) jest bardzo stary i nieprzystosowany do tego typu rozwiązań, a producenci kart graficznych nie przejmowali się kompatybilnością swoich rozwiązań z nim, napisali za to pełne wsparcie na Windowsa. W efekcie na Linuksie wypracowano 2 obejścia, które jednak nie zapewniają tego samego komfortu co na Windows:

  • Bumblebee – ręcznie trzeba uruchamiać program z parametrem (primusrun) w konsoli, żeby dane okno było obsługiwane przez dedykowaną kartę graficzną. Minusem jest niewygoda i wiele problemów związanych z tym hakiem (np. uruchomienie monitorów podpiętych do HDMI połączonych z dedykowaną kartą to koszmar), plusem jest, że na co dzień laptop korzysta z oszczędnego modułu Intela, co zwiększa działanie na baterii, na dodatek dedykowana karta poświęca swoją moc tyko dla wybranego programu.
  • Nvidia-Prime – sposób na przełączanie karty graficznej, albo Intel albo Nvidia, trzeba zrestartować system, żeby zmiana została zastosowana. W tym trybie system działa tylko na jednej z wybranych kart całościowo i nie ma korzyści typu oszczędność energii i zasobów, ale unika się mnóstwa rożnych problemów, które wynikają z rozwiązania Bumblebee.

Tutaj sytuację ma zmienić Wayland, nowy serwer wyświetlania na Linuksa, jednak na chwilę obecną niewiele środowisk może działać funkcjonalnie w tym trybie: Gnome, Sway. W środowisku Gnome w sesji Walyand już można uruchamiać gry na dedykowanej karcie używając parametru DRI_PRIME=1 , czyli na podobnej zasadzie jak na Bumblebee jednak bez minusów jakie mogą wynikać z tego rozwiązania, a od wersji Gnome 2.26 będzie można uruchomić program na dedykowanej karcie wybierając opcję w menu po prawo-kliku na docku. Plasma natomiast się zbliża do funkcjonalnego Wayland’a, ale ciągle nie działa poprawnie na kartach Nvidia czy rozwiązaniach hybrydowych.

 

7. SteamOS i Steam Machines

W grudniu 2013 roku Steam wydało SteamOS, system operacyjny oparty na Debianie (Linux), mający służyć jako alternatywa dla konsol. System od razu uruchamia się w trybie Big Picture Mode, dając wrażenie obcowania z konsolą, szczególnie jeśli mamy do tego kolejny produkt: Steam Controller. Dodatkowo Valve zachęciło firmy produkujące PC’ty do tworzenia tzw. Steam Machines, komputerów z preinstalowanym SteamOS. Były duże nadzieje, jednak ten projekt miał sporo wad.

SteamOS jest dostępny do instalacji samodzielnej, jednak jest ona wyjątkowo skomplikowana. Ilość dostępnych tytułów na Linuksa nie powalała w tamtym czasie (ok. 500) a i teraz nie jest imponująca (2500). Można oczywiście korzystać z samego systemu desktopowego zbudowanego na bazie środowiska Gnome, jednak jest ono w bardzo surowym stanie i ewidentnie nieprzystosowane do zwykłego użytkowania, więc mimo potencjału, dla przeciętnego gracza lepiej było zainstalować Windows, na nim Steam, żeby mieć dostęp do pełnej biblioteki tytułów. Z kolei zwolennicy Linuksa po prostu instalowali Steam na preferowanych przez siebie dystrybucjach mając do dyspozycji pełny i dojrzały system oraz możliwość gier jak na konsoli.

Zaprezentowane komputery Steam Machines były już przestarzałe sprzętowo w momencie premiery i relatywnie drogie. Do tego doszło brak skupienia się na jednej marce czy linii, brak dobrej promocji. W efekcie samo SteamOS jak i Steam Machines okazały się klapą, chociaż system jest ciągle dostępny, tak samo jak komputery. Możliwe, że z czasem, jeśli ilość dostępnych gier się zwiększy, szczególnie o znane i popularne tytuły to coś się zmieni.

Tutaj pewnym obejściem problemu ilości gier jest możliwość streamowania gry z innego komputera z windows prosto do telewizora podłączonego do SteamOS. Większość zdaje się zapominać o tej ciekawej funkcji klienta Steam.

Zupełnie inna sytuacja jest ze Steam Controller, który okazał się sukcesem. Kontroler sprzedał się już w dużej ilości egzemplarzy (warto czekać na okresowe promocje lub pakiety z innymi grami, można wtedy kupić w dobrej cenie) i po początkowych krytykach, stał się cenionym i chwalonym dodatkiem do Steam’a. Olbrzymie możliwości konfiguracji umożliwiają korzystanie z niego również z gier przeznaczonych na klawiaturę, przez co Steam naprawdę może z powodzeniem zastąpić konsolę. Jeśli ktoś nie polubi steamowego kontrolera (a na to potrzeba trochę czasu, bo nauczenie się jego obsługi i ustawień może zająć trochę czasu – jednak jak już się zorientujemy jak to działa, możliwości są niemal nieograniczone), może również podpiąć inne popularne kontrolery jak do Xbox czy Playstation – Steam jest tutaj bardzo elastyczny.

Kolejnym produktem Valve jest Steam Link, urządzenie umożliwiające bezpośrednie, lokalne streamowanie gry i jej kontrolę między komputerami czy komputerem i telewizorem. Jest to rozwiązanie pełne technologicznych niedociągnięć (sensowna jakość możliwa obecnie po kablu, na wifi jakość obrazu spada co jakiś czas), jednak w określonych warunkach dające ciekawe możliwości. Również można je kupić za stosunkowo niską cenę podczas promocji lub z pakietem gry.

 

8. Rozwój gier na Linuksa

Jak wygląda natomiast sytuacja od strony dewelopera gier? Zamiast powtarzać co już zostało powiedziane, po prostu zapraszam do obejrzenia prezentacji osoby, która już to robi:

 

 

PODSUMOWANIE:

Każdy z przedstawionych powyżej problemów nie jest permanentny i przy każdym widać światełko w tunelu, przy niektórych bliższe, przy innych dalsze. Jednak ciągle jeszcze wiele lat minie zanim sytuacja będzie przyzwoita i granie na Linuksie będzie dobrą alternatywą dla obecnie najlepszej platformy PC dla graczy – Windowsa.

Wiele entuzjastów Linuksa się nie przejmuje problemami i jak najbardziej używają go jako głównej platformy do gier, trzymając Wine czy Windowsa dual-boot jako zabezpieczanie w razie skrajnych wypadków, gdzie nic nie pomoże. Wiele osób lubi gry indie, których jest bardzo dużo na Linuksie a tytułów triple X przybywa. Granie na Linuksie jest możliwe, nie zawsze jest komfortowe, ale dla niektórych jest ważną alternatywą. Dla zapalonych graczy sytuacja jest jednak daleka od akceptowalnej. Czy Linux nadaje się do grania dla Ciebie? To już tylko Ty możesz na to pytanie odpowiedzieć. Potencjał Linuksa jest ogromny, ale… to jeszcze za mało i dlatego Linux jeszcze nie jest pełnowartościową platformą do gier – NA RAZIE ;).

Biorąc pod uwagę, że w ciągu 4 lat z 500 gier weszliśmy na pułap 2500 gier (lub nawet ponad 9000 dla innych stron niż Steam), możliwości uruchamiania jeszcze więcej przez Wine, posiadania natywnego klienta Steam, posiadania coraz lepszych sterowników, Waylanda i Vulkana, których rozwój nabiera rozpędu, sytuacja wygląda całkiem dobrze i wystarczy mieć trochę cierpliwości, żeby zobaczyć kolejny wzrost i usprawnienia w następnych latach.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *