Nedávno sa na stránkach steam-u objavila štatistika najpredávanejších hier roku 2016. Potešiteľnou správou je, že tých hier, ktoré podporujú aj Linux, sa v tomto rebríčku nachádza 43. Na toto číslo sa dá pozerať aj tak, že až 43% tých najlepších hier z roku 2016 si viete zahrať aj na Linuxe, pretože existuje ich natívny port. Čo ale tých zvyšných 57%? Je nejaká možnosť, ako si ich na Linuxe aj tak zahrať? Na jednu z možností sa skúsime pozrieť aj v tomto článku.
Motivácia miesto úvodu
Neviem ako vy, ale ja mám veľmi rád akcie projektu Humble Bundle. Na začiatku som bol v princípe len podporovateľom a príležitostným hráčom, ale postupne s pribúdajúcimi (najmä) komerčnými kúskami sa moja knižnica rozrástla natoľko, že si viem vybrať. Občas. Pretože tie najväčšie pecky sú aj tak na konkurenčnej platforme. A čo s hrami, ktoré mám kúpené, ale nemôžem si ich zahrať, keďže nemám na počítači okrem Linuxu žiadny iný operačný systém?
Alternatívou by sa v tomto prípade mohol stať projekt Wine, ktorý umožňuje spúšťať aplikácie určené pre OS Windows v Linux-e. To je síce fajn, ale problém je, že aj napriek tomu, že moja knižnica na Steame obsahuje okolo 100 hier (a to ešte pomerne dosť kľúčov nemám aktivovaných), tie hry, ktoré nie sú určené pre Linux, jednoducho nainštalovať nejde. Čo s tým?
Tentokrát si pomôžeme jednoduchou fintou - stiahneme a nainštalujeme Steam klienta pre OS Windows, ktorý nám inštaláciu Windows aplikácií povolí aj umožní. K tomu budeme samozrejme potrebovať mať nainštalovaný Wine a v niektorých prípadoch aj dostatočne výkonnú grafickú kartu s podporou akcelerácie aj v Linux-e. Poďme na to.
Inštalácia Wine
Vo vašej distribúcii nainštalujte dva balíčky a s nimi aj všetky vyžadované závislosti: wine
a winetricks
. Ak používate Fedoru, do príkazového riadku napíšte:
$ dnf install wine winetricks
Balíček wine
obsahuje samotný nástroj wine
, pomocou ktorého je možné spúšťať aplikácie pre operačný systém Windows. V mojom prípade (Fedora 25) došlo k nainštalovaniu verzie wine 1.9.23. Verziu vo svojej inštalácii si môžete overiť pomocou príkazu
$ wine --version
Balíček winetricks
však obsahuje nástroj, pomocou ktorého je možné riešiť niektoré problémy súvisiace s wine-om ako aj doinštalovať ďalší potrebný softvér. To, čo bude potrebné doinštalovať, bude silne závisieť od závislostí inštalovanej aplikácie. Stránka opisujúca inštaláciu klienta Steam napr. odporúča doinštalovanie fontov ttf-tahoma a tts-ms-fonts. Ich inštaláciu zabezpečíte spustením nasledujúceho príkazu z príkazového riadku:
$ winetricks corefonts
Inštalácia klienta pre službu Steam
Pre nainštalovanie Steam-u máme niekoľko možností. Prvou z nich je stiahnutie a nainštalovanie potrebného súboru zo stránky projektu. V tomto prípade nasmerujte svoj prehliadač na adresu http://store.steampowered.com/about/, z ktorej si klienta môžete stiahnuť. Tu však pozor - ak ste prihlásení priamo z Linux-u, automaticky vám bude ponúknuté stiahnuť klienta pre OS Windows. Preto kliknite na odkaz, ktorý stiahne alternatívneho klienta pre OS Windows.
Obr. 1: Stránka na stiahnutie Steam klienta.
Po stiahnutí klienta nainštalujete príkazom:
$ wine SteamSetup.exe
Ďalšou možnosťou je nainštalovať klienta pomocou nástroja winetricks
. Klienta nájdete po spustení v menu Install an application.
Obr. 2: Inštalácia Steam-u cez nástroj winetricks.
Na obrázku si môžete všimnúť, že verzia vydania Steam klienta je vo winetricks z roku 2010. To vás však nemusí odradiť pri použití tohto spôsobu inštalácie - Steam sa pri prvom spustení sám aktualizuje na najnovšiu verziu.
Používatelia distribúcie Fedora môžu na nainštalovanie použiť aj nástroj fedy. V tomto prípade je postup veľmi podobný ako v prípade winetricks, kedy si klienta nainštalujete pomocou grafickej aplikácie. To, ktorý zo spôsobov si vyberiete, je však úplne na vás. Rovnako tak môžu klienta nainštalovať priamo z balíčkov distribúcie príkazom:
$ dnf install steam
Inštalovanie hier
Po spustení nainštalovaného Steam klienta máte tentokrát k dispozícii možnosť inštalácie hier, ktoré sú určené pre OS Windows. Pri spúšťaní si však dajte pozor na to, aby ste naozaj spustili verziu, ktorá nie je určená pre OS Linux (ak ju máte nainštalovanú). Za týmto účelom vám odporúčam vytvoriť si samostatný skript alebo aspoň upraviť spúšťač vo vašom grafickom prostredí. V mojom prípade potrebujem spúšťač upraviť hlavne z dôvodu, že používam hybridnú grafickú kartu NVIDIA Optimus. Ak chcem hrať hry s výkonom akcelerovanej grafickej karty, potrebujem Steam klienta spustiť práve na dedikovanej grafickej karte. Preto som vytvoril jednoduchý skript s názvom winsteam.sh
, ktorého výpis je nasledovný:
#!/bin/bash
export WINEPREFIX="/home/mirek/.wine"
export vblank_mode=0
primusrun /usr/bin/wine \
C:\\windows\\command\\start.exe /Unix \
~/.wine/dosdevices/c:/users/Public/Desktop/Steam.lnk
To, že sa Steam klient spustil na dedikovanej grafickej karte viem jednoducho overiť tým, či boli do jadra zavedené príslušné moduly:
$ lsmod | grep nvidia
nvidia_modeset 790528 2
nvidia 11935744 53 nvidia_modeset
Aktuálne nám už nič nebráni v tom, aby sme sa vrhli do inštalácie niektorej hry, ktorá nemá príslušný natívny port na Linux-e. Zo zoznamu hier, ktoré mám v knižnici za týmto účelom vyskúšam nainštalovať hru Bioshock.
Obr. 3: Hra BioShock pred inštaláciou v Steam-e.
Po stiahnutí zhruba 5.7GB dát a spustení hry, došlo k prvej zrade - hra si vyžadovala doinštalovať balík Microsoft Visual C++ 2005 SP1. Potvrdil som a balík bol nainštalovaný. Ďalší pokus o spustenie viedol k vytuhnutiu. Ďalší pokus rovnako. To neveští nič dobré. Nastáva fáza zisťovania, v čom môže byť problém.
V tomto momente by ste mali vždy ísť najprv na stránku Wine HQ a zistiť, aké skúsenosti mali s rozbehaním konkrétnej hry ostatní hráči. Po krátkom hľadaní sa dozvedám, že verzia hry BioShock 1.1 zo Steam-u má veľmi dobré hodnotenie. Z komentárov sa dozvedám, že medzi parametre spúšťania treba pridať tieto:
-dx9 -nointro
Ten prvý zabezpečí spúšťanie hry vždy s pomocou DirectX 9 a druhý parameter vypne úvodné videá. Vo vlastnostiach hry pridávam uvedené parametre, spúšťam hru a... tentokrát úspešne.
Obr. 4: BioShock - Čerstvo po havárii lietadla.
Pár postrehov na záver
Ak ste už niekedy hrali hry cez wine tak viete, že tento spôsob so sebou prináša aj niektoré úskalia. To, či sa vám hru naozaj podarí úspešne spustiť, záleží od viacerých faktorov. Jedným z nich je, akú verziu wine-u používate a aké všetky vlastnosti má implementované. Ďalší faktor môže súvisieť s tým, či máte doinštalované všetky potrebné komponenty pre spustenie danej hry, ako napr. DirectX alebo spomínané fonty. Občas sa vám totiž hra rozbehne, ale s výsledkom nemusíte byť veľmi spokojní (napr. ma celkom prekvapilo, že keď som spustil jeden simulátor automobilových pretekov, na trati nebolo vidieť žiadne autá, pokiaľ som práve nedoinštaloval DirectX). Čítať a rozumieť výpisom wine-u dá zabrať, ale na základe niektorých z nich a Googla sa dá problém vyriešiť veľmi rýchlo.
Obr. 5: Mafia II bežiaca v Linux-e (v okne, aby bolo naozaj vidieť, že používam Gnome).
Samozrejme netreba zabudnúť ani na stránku Wine HQ, ktorá obsahuje zoznam aplikácií, ktoré sa jednotlivým používateľom podarilo alebo nepodarilo pomocou wine-u spustiť. Každá hra má svoje hodnotenie a rovnako tak sú pri nej uvedené aj podmienky, za ktorých sa hru podarilo alebo nepodarilo spustiť (verzia distribúcie, verzia wine-u a pod). Častokrát tu však nájdete aj odpoveď na váš problém alebo aspoň postup, ako príslušnú hru rozbehnúť vo vašej distribúcii. Ten výsledok v podobe spustenia hry však za to stojí a pozná ho každý linuxák, ktorý sa snažil vyriešiť nejaký problém. Najčastejšie asi s nefunkčným hardvérom...
Použité zdroje
- http://store.steampowered.com/sale/2016_top_sellers/ - zoznam najpredávanejších hier na Steam-e v roku 2016
- https://www.root.cz/zpravicky/nejvydelecnejsi-hry-na-steamu-linux-podporuje-43-z-nich - správička na serveri root.cz o podpore 43 hier zo 100, ktoré si viete zahrať aj na Linux-e
- http://store.steampowered.com/about/ - stránka na stiahnutie Steam klienta
- https://wiki.archlinux.org/index.php/Steam/Wine - opis inštalácie Steam klienta pomocou wine
- https://www.winehq.org/ - domovská stránka projektu Wine spolu s databázou aplikácií a poznámkami k ich úspešnému spusteniu
Naozaj velmi pekny clanok. Ja mam na steame 172 hier a z toho ani nie 50 sa da hrat na linuxe. Skor by ma zaujimalo ci by bezal aj Origin na linuxe, tam mam tiez par hier.
Origin nepoznam. Ale ak ma klienta ako steam, tak mozes aplikovat uplne rovnaky postup. Na druhej strane tie hry sa aj tak ulozia lokalne do tvojho domovskeho priecinka. Staci len najst ten spravny exe subor a spustit ho cez wine.
No praveze nema. Origin je myslim ze only MS. Patri EA tusim.
A akym sposobom sa tam hraju a instaluju hry?
Tak ako na steame. Kupis, stiahnes a hras.
teraz to pozeram a ma tiez klienta na stiahnutie. nasiel som aj nejaky navod<a/>, ako ho nainstalovat v linuxe, ale este som neskusal.
Ani ja som to este neskusal. Vyskusam ked budem mat cas.
origin bohuzial nejde... par hier tam mam ale smola. Co teraz na nakup pouzivam je GoG odtial mi zatial nesiel len jeden titul kvoli VGA AMD
Mne Origin fungoval...
Čo konkrétne ti nejde ?
Mne sa to nechcelo pripojiť na internet ale keď som tam skopíroval stiahnutú hru a prihlásený profil z Windows (virtuál) tak to hru spustilo...
ja som tiez chvilku skusal nainstalovat, ale neslo mi to. zrejme je to verziou wine (aspon podla toho, co som stihol patrat).
Takto ste to neskúšali?
tak som to neskusal ;) ale ten chalanisko tiez pouzival starsiu verziu wine-u (v jeho pripade vzhladom na pouzite distro a rok vzniku videa ;) ale ako som spominal, kdesi som videl odporucanie na konkretnu verziu wine-u. ale nepatral som viac - origin nepouzivam, takze ma nema co motivovat :-)
v prípade potreby použi PlaOnLinux a zvolenú verziu WINE.
Tiež ber na vedomie že dané programi sa stále vyvíjajú...
Ja osobne som vždy používal PoL a väčšinu vecí to vyriešilo samo.
V kútiku ostrova som dúfal návod ako donútiť Linuxovú verzii Steamu spúšťať Windows hry cez Wine...
Metóda púšťať celý Steam vo WINE má veľkú nevýhodu v tom že posledné verzie Steamu funguu v podstate len na najnovších verziách WINE... čo znamená že vyladi chod nejakej hry môže dať poriadne zabrať...
rovnaky problem bude ale aj s novymi hrami vo vseobecnosti. otazkou bude stale, co wine podporuje a co nie. ak je nejaka hra postava na mega technologii X a steam ju nepodporuje, tak si vela srandy neuzijeme :-(
tak prave som na tvoj problem nasiel riesenie. vyskusam si ho a napisem clanok. myslim, ze sa ti bude pacit ;)
Já mám s Mafií 2 přes Steam ve Wine problém s tím, že problikává nebe.
To robilo ked hra vysla aj mne na PC s Win. Len uzbsi nepamatam co som nastavoval v grafickom nastaveni v hre aby to neblikalo. Skus pohladat nieco a v hre nastavit alebo len tak nieco premen v nastaveniach. Mozno pomoze.
dlho som to nehral, ale stavalo sa mi to aj s cestou, ked som siel autom prilis rychlo (rychla zmena prostredia). ked som sa pozeral na konzolu, co vypisuje wine, tak pisal nieco o tom, ze vycerpal pamat. skusal som to hravat bez spustenia inych aplikacii. ak si dobre pamatam, tak to pomohlo. mozno to bude podobne aj s tou oblohou.
Jednoznačne odporúčam vypnúť Internetový prehliadač, pretože tie dnes vykresľujú obsah cez WebGL, takže sa to správa ako ďalšia spustená hra a môže hravo zožrať prostriedky pre OpenGL.