Strana 1 z 2
- Linux a hry - kdo říká, že to nejde?
Operační systém Linux je pro mnoho uživatelů opředen spoustou fám a nesmyslů. Hitparáda těchto všeobecně přijímaných omylů by jistě vydala na celý jeden článek. Dnes se však budu zabývat pouze jedním z nich: "Na Linuxu se nedá hrát"
Že se toto tvrzení nezakládá na pravdě, si ukážeme v dnešním článku. Dopředu podotýkám, že smyslem mého dnešního snažení není ukazovat GNU/Linux jako nejzásobenější herní platformu, tou jsou dnes bezpochyby Windows XP / Windows Vista. Smyslem dnešního článku je ukázat, že pokud vám operační systém Linux vyhovuje, nemusíte ve volných chvílích hrát pouze hledání min nebo poker. Taktéž nemusíte kvůli hrám udržovat pro vás eventuelně zbytečnou instalaci Windows na vašem disku v dualbootu. Lze se obejít i bez nich. Smyslem článku je ukázat, jaké jsou dnes některé herní možnosti, používáte-li Linux.
Situace v oblasti počítačových her dnes poměrně vykrystalizovala do jednoznačného stavu. Po mnoho let využívaly počítačové hry převážně jedno ze dvou následujících API (rozhraní):
- DirectX - API vyvíjené společností Microsoft, prakticky dostupné jen pro Windows
- openGL - dnes otevřený standard. Toto API vyvinula SGI a dnes je volně dostupné pro všechny počítačové platformy.
Rozdíly mezi těmito API je věnován samostatný článek, nicméně srovnávání DirectX a openGL není tak úplně na místě. DirectX je poměrně jednoduché API využívající tzv "direct rendering", kdežto openGL je komplexní profesionální API pro všechny druhy aplikací. Skutečným protějškem DirectX na unixových operačních systémech je DRI (Direct Rendering Infrastructure). OpenGL je produkt trochu vyšší kategorie s globálním zaměřením.
Multiplatformní openGL za posledních pár let použilo jen pár herních titulů jako Quake, Doom, nebo Unreal Tournament. Mnohé z těchto her se skutečně dočkaly verzí pro Linux. Ovšem v poslední době, jak se zdá, hernímu průmyslu tvrdě dominuje DirectX. Je to pochopitelné, protože Windows mají drtivý podíl na desktopech, a téměř všechny hry jsou proto vyvíjeny právě pro Windows. Agresivní politika Microsoftu pak jistě prosazení directX také prospívá. Bohužel, na rozdíl od openGL a DRI, není directX otevřeným standardem, a není ani multipltaformní.
Jak správně tušíte, zejména díky tomu DirectX hry nejsou dostupné ve verzích pro Linux a vypadá to, že si tyto hry na Linuxu nezahrajeme. Že to vlastně není až tak úplně pravda to je námětem dnešního článku :-D .
Program Wine, přestože to má v názvu, bývá (zejména lidmi, kteří ho nikdy neviděli) velmi často chybně označován jako emulátor. Název WINE je rekurzivní akronym slovního spojení: "Wine Is Not Emulator" nebo chcete-li wine není emulátor. Odtud tedy název W-I-N-E. Wine je ve své podstatě překladač API. Zcela jednoduše překládá volání Windows programů na volání programů v prostředí Linux/Unix. Z tohoto faktu vyplývá omezení, že Wine lze smysluplně provozovat jen na procesorech třídy x86, právě proto, že Windows jaksi běhají jen a pouze na nich. Domovská stránka projektu se nachází zde: http://www.winehq.org/
Wine je svobodný program distribuovaný pod licencí LGPL. Původní benevolentní licence MIT byla nahrazena "přísnější" LGPL z obavy, že komerční verze Wine produkované některými společnostmi nebudou přispívat zpět do kódu Wine. Nejznámějšími komerčními produkty postavenými na wine jsou:
- Cedega - produkt společnosti Transgaming Technologies postavený na forku poslední verze Wine, která byla distribuována pod licencí MIT. Používá se zejména k provozování her pro Windows v prostředí Linux/unix.
- Cross-over-office - produkt vyvinutý firmou CodeWeavers umožňující provoz některých důležitých aplikací jako Microsoft office v prostředí Linux/Unix.
My se dnes budeme zabývat pouze původní svobodnou LGPL verzí Wine, která je podle mého soukromého názoru beztak nejpovedenější. Wine ve vašem domovském adresáři vytvoří skrytou složku /.wine, ve které se nachází adresář /drive_c. V něm se nachází notoricky známé adresáře /Program files a /Windows/system32 , který jak můžete vidět je plný DLL knihoven, takže iluze Windows je na první pohled dokonalá.
(pro zvětšení klikněte na obrázek)
Rozhodně ovšem nelze tvrdit, že ve wine lze spustit jakoukoli Windows aplikaci. Úspěšnost se poměrně dramaticky liší a na první pohled lze jen těžko odhadnout, které aplikace poběží bez problémů, které s problémy, a které nebudou fungovat vůbec. Je zřejmé, že například DX10 hry pomocí wine fungovat nebudou, neboť podpora pro části DX10 nebyla do wine zatím zahrnuta. DX9 hry ovšem běhají skvěle. Zajímavý je zejména fakt, že tyto hry často běhají ve wine na Linuxu znatelně rychleji a s více FPS než ve windows.
Samotný program se pomocí wine spouští z konzole (obdoba "cmd" ve Windows) příkazem: "wine XXX.exe" , kde XXX.exe je spustitelný program pro Windows. Ale abychom se nebavili jen obecně, pojdme se podívat na konkrétní názorný příklad...
|