- 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...
- Wine v akci - Call of duty 2 a další...
Uvedu to raději rovnou, abych nebyl podezříván, z nějakého účelového výběru. Následující hry jsem vybral jednoduše proto, že byly po ruce. Žádný jiný důvod v tom nehledejte. Moje systémová konfigurace je následující:
- AMD X2 4400+ EE
- MSI K9N NEO V3
- 4GB RAM A-Data
- ASUS EN8600GT
- openSUSE 10.3
- Linux 2.6.22.12-0.1-default #1 SMP 2007/11/06 23:05:18 UTC x86_64
- wine 0.9.44
- x11-video-nvidiaG01 verze 100.14.19-4 x86-64
Zde podotýkám, že pro hraní pod Linux je lépe, vlastníte-li grafickou kartu nVidia, díky dlouhodobě lepším ovladačům a mnohem vyššímu výkonu. U karet ATI i dnes bývá problém zprovoznit 3D akceleraci, nicméně toto je čistě problém AMD/ATI a jejich nedávného laxního přístupu - to se týká ATI, ale v poslední době se situace zlepšuje i zde. Je dobré si uvědomit, že všemožné testy HW prováděné z 99% ve Windows, nevypovídají o výkonu HW v Linuxu často vůbec nic.
ISO obraz instalačního média COD2 jsem si připojil do adresáře na disku (lze samozřejmě použít i CD/DVD, ale instalace z HDD je rychlejší). Ano, není třeba použít něco jako Alcohol 120% či Daemon-tools, aby vytvořil virtuální mechaniku, do které budeme jako vkládat virtuální CD a v něm ho budeme jako virtuálně spouštět. Navíc, nezní to trošku absurdně? A to nemluvím o situaci, kdy vám driver "SPTD.sys", který obě externí aplikace používají, shodí celý systém, což potupně přiznává i největší zastánce Windows a známý internetový Guru s největším Egem na celém Internetu. Tyto umělé a absurdní problémy v Linuxu neexistují a práce se standardním ISO obrazem je zcela snadná. Externí aplikace vůbec nejsou potřeba.
Mám tedy instalační médium připojené do složky: /home/data/COD. Instalace se překvapivě spouští souborem "setup.exe". Otevřeme si tedy konzoli a spustíme instalaci příkazem: wine /home/data/COD/setup.exe. Že to funguje, můžete vidět na obrázcích.
Instalace je zcela totožná s instalací ve Windows. Instalátor nepozná, že neběží ve Windows a použije adresář ~/.wine/drive_c jako skutečný disk C:/. Po úspěšné instalaci se na ploše objeví ikony CoD2 a v menu oddíl wine s odpovídajícími položkami pro Call of Duty, tak jak je znáte z windows.
Nyní už jen stačí spustit hru. A že to skutečně funguje, se můžete přesvědčit na následujících screenshotech:
Pro další ukázku jsem si vybral C&C Renegade. Kdysi to byla jedna z mých nejoblíbenějších her. Jednoduše proto, že si člověk mohl projít svět strategií C&C v roli pěšáka. Je to již starší titul, ale fanoušci C&C jistě znají.
Takhle bych mohl (metodou pokus-omyl) pokračovat. Databázi fungujících nejenom her, ale i aplikací naleznete zde: http://appdb.winehq.org
Jak už jsem zmínil v úvodu, spousta známých her využívajících openGL byla naportována přímo pro Linux. Vedle zmíněných her od ID software, případně her používajících jejich engine existují i další zajímavé herní tituly. Například legedární Postal, či Half Life, Penumbra Overture atd. Za zmínku stojí také Sauerbraten, již starší 3D akce postavená na herním enginu Cube2. Pro ty co rádi střílí davy rozzuřených mutantů zcela v duchu legendárního DOOM docela zábavná hra :-D.
Strejda Google jistě dále napoví. Klíčová hesla jsou "Linux" a "Games". :-D
- Phoronix: ATI: Linux vs. Windows Vista
Server Phoronix.com se zaměřuje na recenze HW a Softwaru pro platformy Linux a Solaris. Jeho jméno má u výrobců velmi dobrý zvuk, což dokládá mimo jiné fakt, že je dvorním testerem ovladačů pro AMD/ATI. Ovladače ATI jsou od listopadu sjednoceny a pro Windows i Linux nesou označení Catalyst 7.11. Nicméně Linuxová verze ATI driverů je stále spíše ve vývoji, a rozhodně má k dokonalosti velmi daleko. Přesto se rozhodli předcházející verzi ovladačů fglrx 8.42 porovnat s vysoce optimalizovanými a odladěnými Catalyst 7.10 pro Windows. Test byl proveden na malém, a tedy nereprezentativním vzorku her, které běhají nativně v obou OS: Enemy Territory: Quake Wars a Doom 3. Použita byla grafická karta ATI HD 2900XT. Zdůrazňuji, že smyslem testu bylo prozkoumat, jak stoupá kvalita dodnes nedokonalých ovladačů ATI, nikoli porovnávat herní výkon obou platforem. Výsledek nicméně vyrazil autorům testu dech. Zatímco v DOOM3 je situace vyrovnaná
Catalyst 7.10 (Vista) vede o cca 4 (4FPS), v ET si vedly lépe Fglrx 8.42 (Linux) a to o téměř 20% (10FPS). Tento výsledek by nebyl nijak zajímavý, kdyby tady nestály optimalizované Catalyst 7.10 (Vista) proti stále se vyvíjejícím Fglrx 8.42 (Linux), které trpí mnoha dětskými nemocemi. Celý test si můžete prohlédnout zde.
Nebudu z něj vyvozovat žádné závěry, ty ať si udělá každý sám, ale nádherně demonstruje fakt, že pokud něco omezuje hraní na Linuxu, rozhodně to není grafický výkon.
Jak je vidět, není třeba z hraní bez Windows dělat nějakého bubáka. Pokud máte počítač především na práci, a stejně nehrajete každý herní titul, který je zrovna vydán, je pro vás již stávající situace více než dostačující. Rozhodně neplatí, že byste byli bez Windows odsouzeni k nudě. Herních titulů je více než dost. Knihovny Wine jsou jistě zajímavým počinem. Je třeba si ovšem uvědomit, že jejich smyslem není spustit každou kravinu, stejně tak není smyslem GNU/Linuxu suplovat Windows. Smyslem existence wine je pomoci uživateli spustit kriticky důležitou aplikaci, která z nějakých důvodů existuje jen ve windows verzi. Rozhodně si nespustíte žádnou aplikaci, která implementuje nějakou šikanizující ochranu. Tyto technologie se ve světe opensource prostě nepoužívají, a aplikace vyžadující tuto ochranu se tedy logicky zprovoznit nedá.
Další zajímavý postřeh je nasnadě, uvědomíme-li si, že Microsoft zatvrzele odmítá všude omílaný DX10 vypustit i pro Windows XP. Vzhledem k tomu, že podpora DX9 je ve Wine již na velmi vysoké úrovni a na DX10 se jistě pracuje, může tedy v budoucnu nastat kuriozní situace, kdy si DX10 hru zahrajete pomocí wine v Linuxu, ale ve Windows XP nikoli.
PS: Jste-li herní maniak a závislák, dejte si studenou sprchu a zapomeňte, co jste si právě přečetli. Bez windows se neobejdete :-D
Za gramatickou správnost ručí
Tato adresa je chráněna proti spamování, pro její zobrazení potřebujete mít Java scripty povoleny
AUTOR: Jan "DD" Stach |
---|
Radši dělám věci pomaleji a pořádně, než rychle a špatně. |
|