Gry na Linuksie: przewodnik dla osób o ograniczonej cierpliwości

A więc chcesz grać na Linuxie? O rany, zapnijcie pasy, poprawcie kaski i szykujcie się na porządną porcję prawdziwego programowania. Czy Ty w ogóle cokolwiek kiedykolwiek kompilowałeś, smarkaczu? Wiesz jak ludzie kompilowali w latach 90-tych?

Czy w ogóle widziałeś jak kompiluje Prawdziwy Mężczyzna?

Ech, przepraszam jeżeli Cię zaniepokoiłem. Prawdą jest, że Linux staje się z roku na rok coraz bardziej przyjazny przeciętnemu użytkownikowi komputera. Jeżeli jesteś w miarę na czasie z ostatnimi wydarzeniami spod znaku pingwina (beta testy platformy Steam dla Linuxa), możesz zacząć się zastanawiać, czy wciąż jedyną opcją dostępną dla graczy komputerowych jest Windows. Szczerze powiedziawszy już od jakiegoś czasu tak nie jest. I o ile główne obostrzenia wynikają wciąż z typu hardware na jakim pracujesz, o tyle Linux sam w sobie jest już solidnie przygotowany do obsługi gier. Tak wiem że już to gdzieś czytałeś/słyszałeś, ale tym razem mówimy poważnie.

Jako dowód pokażemy Ci jak w relatywnie prosty sposób uruchomić współczesne gry przeznaczone na PC na platformie pracującej w oparciu o Linux, nie bacząc na to na jakim hardware masz postawiony system. Poradnik oprzemy w głównej mierze na najnowszej wersji Ubuntu (12.10), która jak wskazują statystyki cieszy się największym powodzeniem. Zaprezentowane rozwiązania powinny również działać na dowolnym buildzie Linuxa opartym na Debianie, np. Mint.

Na potrzeby tego poradnika założymy, że masz już zainstalowanego Linuxa, i obiecuję że nie będziemy nic kompilować. Słowo skauta.

Ściąga z Linuxa

Poniżej znajdziecie przydatną ściągę z komend i pojęć, które każdy szanujący się gracz Linuxowy znać powinien.

WINE (po angielsku WINE Is Not an Emulator - WINE Nie Jest Emulatorem, eh ci szczwani Linuxowcy) jest nakładką umożliwiającą uruchamianie programów pisanych pod Windows w środowisku Linux. Program jest obecny na rynku od ponad 15 lat i świetnie radzi sobie np. z aplikacjami z rodziny Office choć stworzony był głównie z myślą o grach.

PPA (Personal Package Archive) - jak głosi definicja jest to "repozytorium oprogramowania, do którego wprowadza się pakiety źródłowe w celu przystosowania ich do użycia przez APT na Launchpad lub podobne programy". A "po ludzku" jest to strona Web zawierająca aktualne pakiety dla Ubuntu. Korzystanie z PPA zapewnia eliminację sporej dozy problemów z kompatybilnością i przyśpiesza proces instalacji łatek.

sudo (Super-User DO) jest poleceniem dającym dostęp na poziomie administratora i zezwala na zmiany w zaawansowanych częściach systemu np. wszelkiej maści sterownikach. Będziemy z niej korzystać dość często, ale nie uważajcie że ma ona nadrzędną moc sprawczą. Nie bez powodu trzeba wpisywać ją za każdym razem od nowa.

Zaczynamy

Na pierwszy ogień powinny pójść odpowiednie sterowniki do karty graficznej. Tutaj oczywiście wszystko zależeć będzie od typu posiadanej karty. Postaram się żeby zabrzmiało to możliwie najprościej i możliwie najbardziej naturalnie - wybierając kartę graficzną do grania na Linuxie należy zawsze celować w półkę średnią-wyższą, oraz warto żeby karta była dostępna na rynku od min. roku. W tym konkretnym przypadku za przykład posłuży GeForce GTX 560 Ti z 1GB (cena detaliczna oscyluje wokół 750 zł). Jeżeli masz inny model karty nie rozpaczaj, czytaj dalej i "nic nie bój".

Instalowanie sterowników GeForce

Jak już wspominałem idziemy drogą najmniejszego oporu i stosujemy najprostsze rozwiązania. Otwórz konsolę i wpisz poniższe komendy (lub skopiuj i wklej za pomocą Ctrl+Shift+V). Pamiętaj o Enterze po każdej z nich:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

sudo apt-get update

sudo apt-get install nvidia-current

Reboot komputera i "pozamiatane". Sterownik powinien automatycznie się aktualizować w przyszłości.

Sterowniki dla Intel HD lub AMD Radeon starszych niż HD 6XXX

Jeżeli operujesz na kartach nie wyprodukowanych przez nVidię, instalacja sterowników Linuxa jest odrobinę bardziej skomplikowana. Użytkownicy kart poprzedniego producenta są w uprzywilejowanej sytuacji, ponieważ nVidia sama opracowuje swoje sterowniki. I idzie im to całkiem zgrabnie. Intel i AMD natomiast wydają swoje sterowniki w postaci otwartego kodu, na który po jakimś czasie "wsiada" prężna społeczność Linuxa i tworzy swoje wersje mniej lub bardziej stabilnych sterowników.Jak już wspomniano nie są to oficjalne sterowniki i z ich stabilnością bywa różnie. Nie koniecznie muszą być one również najbardziej wydajne i czasami mogą ustępować osiągami temu co da zaobserwować się na Windows. Ale w ogólnym rozrachunku powinny to być różnice albo szybko niwelowane przez społeczność albo kosmetyczne.

Zobaczcie zresztą sami, otwieramy konsolę i wprowadzamy poniższe:

sudo add-apt-repository ppa:oibaf/graphics-drivers

sudo apt-get update

sudo apt-get dist-upgrade

Ponownie uruchamiamy komputer i dzięki magii PPA cieszymy się najnowszymi wersjami sterowników.

AMD Radeon HD 6xxx lub nowszy

Jeżeli dysponujesz nowiusieńkim GPU Radeona czeka Cię odrobinę inna ścieżka instalowania sterowników. AMD lekko ślamazarzy się z opracowywaniem otartych wersji kodu swoich sterowników i wszystkie nowe karty dostaję ich zamkniętą wersję przygotowaną przez AMD. W porównaniu do sterowników nVidia te oferowane przez AMD zdają się nie być tak dokładnie przygotowane i ewidentnie widać w niektórych przypadkach, że potrzeba im było kilku dodatkowych godzin na "czesanie kodu". Wydajność tych sterowników odbiega od tego do czego przyzwyczaja nas Windows, ale na dobrą sprawę wszystko zależy od rodzaju gier w jakie się gra. Trzeba sprawdzić to na własnej skórze, być może okaże się, że różnica jest nieznaczna w naszym odczuciu.

Udaj się na oficjalną stronę AMD, wybierz model karty którą posiadasz, system operacyjny (tutaj Linux x86_64) i pobierz plik. Zapisz go następnie na Pulpicie (Desktop), uruchom konsolę i wpisz:

cd Desktop

sudo sh amd-driver-installer-catalyst-12.10-x86.x86_64.run

Instalator zajmie się resztą procesu konfiguracji sterowników i panelu kontrolnego AMD Catalyst Control Center. Jednak taki sposób instalacji nie zapewnia automatycznych aktualizacji sterowników (nie pochodzą one z PPA Ubuntu) , dlatego trzeba robić to ręcznie co jakiś czas z poziomu Control Center.

Reboot komputera i powinno działać.

Uff połowa ciężkiej części za nami, teraz czas na …

Instalacja i konfiguracja WINE

Nawet jeżeli zamierzasz grać w gry z oficjalnymi portami Linuxowymi instalacja WINE drastycznie poszerza horyzonty grania bez Windows na komputerze, dlatego też wysoce zalecaną jest instalacja tego programu.W porównaniu do tego co robiliśmy przed chwilą to "pestka". Otwieramy konsolę i wpisujemy:

sudo add-apt-repository ppa:ubuntu-wine/ppa

sudo apt-get update

sudo apt-get install wine1.5

sudo apt-get install winetricks

System może zapytać się o instalację kolejnych pakietów, zgadzamy się. Po zakończeniu przechodzimy dalej i wypadałoby wyrobić sobie nawyk używania skrótów klawiaturowych Linux.

Wciskamy przycisk … Windows (heh o ironio jeżeli sam nie przerobiłeś sobie klawiatury to w 98% przypadków będziesz dysponował znaczkiem okna a nie pingwina, a w Linuxowej nomenklaturze przycisk ten zwany jest "Super", trzeba się przestawić) i wpisujemy "winetricks". Enter pojawia się okno …

Winetricks jest małym programem odpowiedzialnym za uzupełnianie bibliotek Windowsowskich bez potrzeby ich manualnego wyszukiwania, sprawdzania aktualności i instalowania. Program sam sprawdza i decyduje czy potrzebujesz wersji do Windows XP, 7 czy może 8? Po jego uruchomieniu zaznaczcie opcje “Select the default wineprefix", wciśnijcie OK następnie zaznaczamy "Install a Windows DLL or component" i ponownie OK.Żeby uprościć sprawy jeszcze bardziej należy pobrać następujące pakiety:- wszystko zaczynające się od “d3dx"

- quartz

- vcrun2005, vcrun2008 oraz vcrun2010

- wininet

- xact, xact_jun2010 oraz xinput

- opcjonalnie dotnet3.5. Na chwilę obecną można pominąć ten krok, ale należy pamiętać kiedy później przejdziemy do sekcji "Rozwiązywanie problemów".

Po wszystkim klikamy OK i wszystko powinno zainstalować się samoczynnie w tle. Możesz być poproszony o potwierdzenie z raz bądź dwa. Dobra wiadomość jest taka, że ciężka część operacji za nami a pacjent wciąż żyje! Czas na przyjemność "Granie w Gry" cytując klasyka.

Skąd brać gry, w jaki sposób…i po co?

Opcja 1: The Humble Store lub Ubuntu Software Center

The Humble Bundle to stosunkowo nowa inicjatywa sceny niezależnej gier PC. W jej ramach regularnie wypuszczane są paczki "indyków" (od ang. Independent - niezależny) które użytkownik kupić może za … dowolną sumę. Gry zoptymalizowane są do działania pod Windows, Linux i na iOs. Inicjatywa od swojego początku wygenerowała więcej portów gier z Windows na Linuxa niż łącznie ich do tej pory stworzono w ogóle w ciągu ostatniej dekady. Warto regularnie sprawdzać stronę Humble Indy Bundle a jeżeli przegapi się paczkę z pożądanymi grami zawsze można je później indywidualnie pobrać z Ubuntu Software Center (stworzony na modłę App Store, zapewnia podobne wsparcie jak PPA, wszystko poza grami jest w nim praktycznie darmowe).

Opcja 2: STEAM

Jak już wspomniałem we wstępie, STEAM jest w fazie beta testów na Linux! Co jest bardzo budujące i zadowalające ponieważ pokazuje, że Linux jest traktowany jako poważna platforma do gier przez dużych graczy. Przełożyć to się może w przyszłości np. na mniejsze problemy z aktualizacją sterowników. Póki co jeżeli masz zainstalowane WINE nie ma większego sensu instalowanie STEAM pod Linux. Biblioteka gier jest póki co bardzo mała i obejmuje pozycje z Humble Bundli lub natywnie tworzone na Linux.Na chwilę obecną rekomenduję używanie Windowsowej wersji STEAM, chyba że koniecznością jest osiąganie dodatkowych 5 klatek na sekundę w grach napisanych natywnie na Linuxa.

Intalacja STEAM na Ubuntu jest dziecinnie prosta i przy okazji demonstruje prawdziwą moc WINE:

Udajemy się na stronę steampowered.com, pobieramy klienta i instalujemy w "normalny sposób" (czytaj dwa razy klik na ikonę i dzieje się magia). Obsługa jest identyczna jak w STEAM dla Windows, tak samo kupujemy gry, aktualizujemy sterowniki etc. W 9 na 10 przypadkach wszystko będzie chodziło bez najmniejszych problemów (pod warunkiem że powalczyłeś wcześniej z winetricks i ustawiłeś wszystko jak pisałem). Jeżeli nie będzie chodziło - zaraz się tym zajmiemy.

Opcja 3: Emulacja.

Jeżeli lubisz sobie pograć na konsolach to masz szczęście! Istnieje co najmniej jeden emulator każdej konsoli KAŻDEJ generacji z Linuxowym portem. Dla przykładu starsze platformy jak SNES emulowane są na ZSNES lub konsola PlayStation emulator PCSX. Dodatkowo starsze emulatory dostępne są z poziomu  Ubuntu Software Center, nowsze (tj. Dolphin dla Gamecube/Wii lub PCSX2 dla PS2) wymagają dodania PPA wydawców. Przykład Dolphin:

sudo add-apt-repository ppa:glennric/dolphin-emu

sudo apt-get update

sudo apt-get install dolphin-emu

lub PCSX2:

sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa

sudo apt-get update

sudo apt-get install pcsx2

Występuje tutaj drobna loteria z kompatybilnością. Dolphin pracuje świetnie na grafice Intela, PCSX2 będzie się krzaczył na większości układów poza nVidią.

Warto wypróbować wszystko na swojej skórze i w momencie w którym poczujecie się pewniej w środowisku można zacząć rozglądać się za PPA programów / gier które znacie i kochacie a nie są dostępne w Ubuntu Software Center. Wyniki mogą być mile zaskakujące.

Opcja 4: Porty starszych gier.

Jest to odrobinę naciągana opcja ale dzięki niej też można grać. Jeżeli jesteś miłośnikiem gier wydanych w latach 1998 - 2006 można się już spotkać z na pół oficjalnymi wersjami produkcji z tych lat na Linuxa. Dobrym źródłem tego typu gier jeststrona  Linux "Installers for Linux Gamers" (http://www.liflg.org/?catid=6&gameid=17). Do pobrania stamtąd np. Unreal Tournament 2004

Rozwiązywanie problemów (oraz kiedy odpuścić i dać sobie spokój)

Żeby zbędnie nie komplikować, poniżej zamieszczam listę najczęściej występujących problemów z WINE. Jeżeli nie znajdziesz swojego problemu poniżesz zwróć się  o pomoc na oficjalnym formum WINE (http://forum.winehq.org/); co jak co ale społeczność Linuxa jest jedną z najbardziej spójnych i pomocnych grup ludzi w całym Internecie.

- Microsoft.NET nie zawsze działa poprawnie. Problem jest wciąż pod lupą i prowadzone są prace żeby go wyeliminować, ale póki co niestety gry korzystające z Games for Windows Live będą się w dużej mierze wykrzaczać. Można połowicznie temu zaradzić wrzucając w folder z plikem .exe gry paczkę "xliveless", która … całkowicie wyłączy wszystkie funkcje online.

- Mając powyższe na uwadze najbezpieczniejszą metodą na uniknięcie problemów z kompatybilnością jest instalacją jak najmniejszej ilości bibliotek DLL. Za pomocą WINE instalujemy absolutne minimum (tak jak robiliśmy to wcześniej) a resztą zajmie się STEAM.

- DX10 nie jest do końca kompatybilny z WINE. Na szczęście nie ma dziś na rynku gier które nie byłby wstecznie kompatybilne z DX9, dlatego jeżeli zajdzie taka potrzeba można je uruchamiać w tym trybie.

- Tryb pełnoekranowy jest bardziej awaryjny od wyświetlania w oknie. Jeżeli gra wysypuje się zanim masz możliwość przełączenia wyświetlania na okno, możesz spróbować pogmerać bezpośrednio w plikach konfiguracyjnych i manualnie wymusić zmianę. Przeważnie jest to plik typu .ini i znajdował się będzie w jednym z dwóch miejsc:

/home/[username]/.wine/drive_c/Program Files

(x86)/Steam/userdata/[username]/[gamenumber]/remote/

lub

/home/[username]/My Games/[game title]/

Namierzony plik otwieramy za pomocą edytora tekstu i Ctrl+F "Fullscreen", które zminić należy na wartość 0, lub "false". Ewentualnie szukamy "windowed" (w zależności od użytej formy zapisu) i zmieniamy na 1 lub "true".

- czasami spotykałem się z przypadkiem że gry nie działały w ogóle mimo ze wszystkie znaki na niebie i ziemi wskazywały, że powinny (niskie wymagania sprzętowe, dawna konwersja na Linux, etc.). Sprawdź czy gra dysponuje wersją stand alone demo i spróbuj to uruchomić. Jeżeli zadziała a wersja STEAM nie nie pozostaje nic innego jak skontaktować się z wydawcą i zwrócić ich uwagę ten fakt.

- Jeżeli gra nie uruchamia się w ogóle a jesteś zdeterminowany żeby ją uruchomić spróbuj zrobić to z poziomu konsoli. W ten sposób można sprawdzić czy dostaniemy zwrotną informację o jakichś konkretnych błędach. Zamykamy STEAM, otwieramy konsolę i wpisujemy:

wine “.wine/drive_c/Program Files (x86)/Steam/steam.exe"

STEAM uruchomi się zasypując nas sporą ilością komunikatów wyjściowych. Spróbuj ponownie uruchomić daną grę, przy odrobinie szczęścia, kiedy się wywali dostaniemy komunikaty zwrotne o braku konkretnych paczek, sterowników etc. Można je w tedy namierzyć za pomocą WINE i manualnie dosztukować. Jeżeli gra nie zwróci żadnych błędów i zwyczajnie się nie uruchomi to można spokojnie sobie odpuścić i iść na (tu wstaw dowolny ulubiony napój). Problem jest poza naszym zasięgiem gdyż jest to albo problem z WINE, albo kartą graficzną, albo czymkolwiek.

Mam nadzieję, że ten krótki poradnik pomoże pokonać wstępne problemy z uruchamianiem gier na Linux. Kto wie, może w niedługiej przyszłości dane nam będzie w zupełności porzucić Windows. Witamy w świecie wolnego oprogramowania, Towarzyszu! : )


Zobacz również