Hráme hry určené pre OS Windows na Steam-e

06.01.2017 17:57 | Články | mirek biňas

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.

Stiahnutie Steam 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.

Inštalácia Steam-u cez nástroj winetricks
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.

Hra BioShock pre inštaláciou v Steam-e
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.

BioShock - Čerstvo po havárii lietadla
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.

Mafia II bežiaca v Linux-e
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

    • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 21:17
      Avatar Andrej Lacho Debian, CentOS obcas Kubuntu  Administrátor

      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.

      Linux without fckin systemd
      • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 21:42
        Avatar mirek biňas Fedora 25  Administrátor

        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.

        • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 21:49
          Avatar Andrej Lacho Debian, CentOS obcas Kubuntu  Administrátor

          No praveze nema. Origin je myslim ze only MS. Patri EA tusim.

          Linux without fckin systemd
          • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 22:03
            Avatar mirek biňas Fedora 25  Administrátor

            A akym sposobom sa tam hraju a instaluju hry?

            • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 22:16
              Avatar Andrej Lacho Debian, CentOS obcas Kubuntu  Administrátor

              Tak ako na steame. Kupis, stiahnes a hras.

              Linux without fckin systemd
      • RE: Hráme hry určené pre OS Windows na Steam-e 07.01 | 21:00
        Avatar redhawk75 mint, arch, debian, mx16  Používateľ

        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

        • RE: Hráme hry určené pre OS Windows na Steam-e 07.01 | 21:18
          Avatar Juraj Artix - OpenBox  Používateľ

          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...

          • RE: Hráme hry určené pre OS Windows na Steam-e 07.01 | 22:34
            Avatar mirek biňas Fedora 25  Administrátor

            ja som tiez chvilku skusal nainstalovat, ale neslo mi to. zrejme je to verziou wine (aspon podla toho, co som stihol patrat).

            • RE: Hráme hry určené pre OS Windows na Steam-e 08.01 | 16:17
              Avatar 7R7 Debian Stretch  Používateľ

              Takto ste to neskúšali?

              • RE: Hráme hry určené pre OS Windows na Steam-e 08.01 | 18:18
                Avatar mirek biňas Fedora 25  Administrátor

                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 :-)

                • RE: Hráme hry určené pre OS Windows na Steam-e 08.01 | 21:41
                  Avatar Juraj Artix - OpenBox  Používateľ

                  v prípade potreby použi PlaOnLinux a zvolenú verziu WINE.

                  Tiež ber na vedomie že dané programi sa stále vyvíjajú...

                  • RE: Hráme hry určené pre OS Windows na Steam-e 08.01 | 21:45
                    Avatar bedňa antiX, Devuan, LegacyIce  Administrátor

                    Ja osobne som vždy používal PoL a väčšinu vecí to vyriešilo samo.

                    Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 22:14
      Avatar Juraj Artix - OpenBox  Používateľ

      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ť...

      • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 22:24
        Avatar mirek biňas Fedora 25  Administrátor

        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 :-(

      • RE: Hráme hry určené pre OS Windows na Steam-e 06.01 | 22:49
        Avatar mirek biňas Fedora 25  Administrátor

        tak prave som na tvoj problem nasiel riesenie. vyskusam si ho a napisem clanok. myslim, ze sa ti bude pacit ;)

    • RE: Hráme hry určené pre OS Windows na Steam-e 29.01 | 11:42
      Avatar kuba77   Návštevník

      Já mám s Mafií 2 přes Steam ve Wine problém s tím, že problikává nebe.

      • RE: Hráme hry určené pre OS Windows na Steam-e 30.01 | 21:29
        Avatar Andrej Lacho Debian, CentOS obcas Kubuntu  Administrátor

        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.

        Linux without fckin systemd
        • RE: Hráme hry určené pre OS Windows na Steam-e 30.01 | 22:02
          Avatar mirek biňas Fedora 25  Administrátor

          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.

          • RE: Hráme hry určené pre OS Windows na Steam-e 30.01 | 23:07
            Avatar bedňa antiX, Devuan, LegacyIce  Administrátor
            skusal som to hravat bez spustenia inych aplikacii

            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.

            Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org