Counter Strike v Linuxe

Článok sa zaoberá kompletnou inštaláciou Counter Strike v linuxe. Poskytuje jednoduchý návod na inštaláciu ovládačov grafickej karty, emulátoru wine ako aj samotnej hry.

9.4.2004 10:00 | Jaroslav Imrich | přečteno 46016×

Pri písaní tohoto návodu som vychádzal z anglického HOWTO, ktorého originál môžete nájsť na adrese http://lhl.linuxgames.com/.

Nie som však nijaký "linux guru" a pôvodné HOWTO mi nepripadalo dosť jasné. To bol hlavný dôvod, prečo som napísal tento návod. Je to podrobný popis mojej inštalácie pod Mandrake 9.1 no veľmi podobná by mala byť aj na ostatných známych distribúciách resp. iných verziách distribúcie Mandrake.

Celý proces som kvôli prehľadnosti rozdelil na tri časti:

  1. Inštalácia ovládačov grafickej karty s podporou OpenGL
    V článku je podrobne popísaná inštalácia ovládačov pre grafické karty s čipmi nVidia
  2. Inštalácia emulátora systému Windows zvaného WINE
    Článok vás prevedie krok za krokom stiahnutím, kompiláciou i konfiguráciou tohoto programu
  3. Inštalácia samotnej hry Half-Life a módu Counter Strike

Counter 
Strike

1. INŠTALÁCIA OVLÁDAČOV GRAFICKÝCH KARIET NVIDIA

nVidia patrí medzi producentov, ktorý nezabúdajú na podporu OS Linux. Ovládače si môžete stiahnuť priamo z webstránky www.nvidia.com a inštalačný program by sa mal volať nejako takto "NVIDIA-Linux-x86-1.0-5336-pkg1.run". Verzia sa samozrejme môže líšiť od tu uvedenej. Ovládače nemôžete inštalovať v grafickom prostredí X-window. Je nutné ukončiť beh X-serveru a spustiť inštaláciu v konzole. Ak ste si pri inštalácii systému zapli možnosť autologinu do grafického prostredia, musíte ju vypnúť, aby ste sa po reštarte dostali do konzoly. (V MDK 9.1 to môžete urobiť pomocou "Mandrake Control Center" v sekcii Boot). Následná inštalácia je jednoduchá. Stačí stiahnutý program spustiť:

# sh NVIDIA-Linux-x86-1.0-5336-pkg1.run

a riadiť sa jeho pokynmi. Po ukončení inštalácie je nutné upraviť konfiguračný súbor X-serveru. Nájdete ho v adresári /etc/X11/ a má názov XF86Config-4 resp. ak tam súbor s takýmto názvom nie je, musíte editovať súbor XF86Config a ako root v ňom vykonať nasledovné zmeny:

Zmeny samozrejme uložte a v súbore /etc/security/console.perms vymažte všetky riadky obsahujúce reťazec "<dri>". Prepnite sa späť z užívateľa root na svoj bežný účet a spustite Xserver príkazom

# startx

Ak sa pri štarte grafického serveru objaví logo nVidia, tak sa vám inštalácia podarila a máte nainštalované ovládače podporujúce OpenGL. Ak sa vám to nepodarilo, musím vás odkázať na veľmi dobre spracovaný súbor README daných ovládačov.

2. INŠTALÁCIA EMULÁTORU WINE

Zdrojové súbory emulátoru wine je možné stiahnuť prostredníctvom CVS, čo je systém, ktorý umožňuje z internetu sťahovať aktuálne verzie zdrojových súborov najmä open-source projektov. Musíte mať však v systéme nainštalovaný program cvs, ktorý nájdete na distribučných CD alebo si ho môžete stiahnuť ako rpm balíček z www.cvshome.org. Stiahnite si tiež skript z http://www.horae.dti.ne.jp/~gotoh/dist/cvschroot/cvschroot a uložte ho do adresára /usr/src/. V tomto istom adresári vytvorte adresár "winex". Do neho stiahnete spomínané zdrojové súbory.

# cd /usr/src/
# mkdir winex
# sh cvschroot -d winex :pserver:cvs@cvs.transgaming.org:/cvsroot winex
# cvs -d:pserver:cvs@cvs.transgaming.org:/cvsroot login

Zadajte heslo 'cvs'

# cvs -z3 -d:pserver:cvs@cvs.transgaming.org:/cvsroot co winex

Po chvíli by sa zdrojové súbory mali nachádzať v adresári /usr/src/winex. K úspešnej kompilácii však musíte mať v systéme zdrojové súbory OpenGL pre vašu distribúciu. Pre Mandrake 9.1 sú na distribučnom CD ako rpm balíček s názvom libMesaGLU1-devel-5.0-3mdk.rpm a v ostatných distribúciách by sa mal volať podobne. Tiež je nutné, aby ste mali na disku súbor menom glext.h. Overenie jeho prítomnosti je veľmi jednoduché. Ako root spustite príkaz

# updatedb

po ktorom nasleduje update databázy s informáciami o všetkých súboroch na disku a teda môžete použiť príkaz na vyhľadanie

# locate glext.h

Ak tento súbor nemáte, musíte si ho stiahnuť z http://lhl.linuxgames.com/glext.h a umiestniť do adresára /usr/X11R6/include/GL. Wine sa vám bez neho nepodarí skompilovať s podporou pre OpenGL. Mne osobne tento súbor v čerstvej inštalácii linuxu nechýbal. Než však pristúpime k samotnej kompilácii, musíte podporu OpenGL ešte povoliť. Choďte do /usr/src/winex a spustite príkaz:

# ./configure --enable-opengl

Môže sa stať, že vám v priebehu vykonávania tejto operácie vypíše nejaký error. Väčšinou to znamená len chýbajúce balíčky, ktoré musíte doinštalovať. Ak túto chybu vyhodí, určite vám napíše aj meno chýbajúceho balíka. Mne konkrétne chýbal 'bison' a 'flex'. Oba však boli na distribučných CD Mandrake a nebol najmenší problém ich doinštalovať. Aby ste si boli istý, že sa vám povolenie OpenGL podarilo, skontrolujte či sa v súbore include/config.h nachádza riadok "#define HAVE_OPENGL 1". Ak je tento riadok vykomentovaný (Pozor # na začiatku riadku neznamená komentár!) alebo sa v súbore nenachádza, wine sa neskompiluje s podporou OpenGL. Pokračujte postupným spúšťaním kompilačných príkazov. Make install však musíte spustiť ako užívateľ root.

# make depend
# make
# make install

Táto časť nejakú tú minútku trvá, no potom je wine skompilované a nainštalované. Musíte ho však ešte nakonfigurovať! Skopírujte ukážkový konfiguračný súbor do vášho home adresára, kde vytvoríte adresár .wine

# mkdir ~/.wine/
# cp /usr/src/winex/documentation/samples/config ~/.wine/config

Jediné, čo je nutné v tomto defaultnom konfigu upraviť, je cesta k vášmu virtuálnemu disku C. Ja som si zvolil adresár ~/wine/ ale môže byť ľubovoľný. Časť, ktorú som upravil teda vypadá nasledovne:

[Drive C]
"Path" = "${HOME}/wine/"
"Type" = "hd"
"Label" = "Dos Drive"
"Filesystem" = "win95"

Ostatné disky, ktoré sú v konfigu nemusíte vôbec editovať - pre beh Counter Strike to nie je potrebné. Samozrejme adresár, ktorý je virtuálnym diskom C musí existovať, čiže je potrebné ho ešte vytvoriť a v ňom ďalšie dva "windows" a v ňom adresár "system32".

# mkdir ~/wine
# mkdir ~/wine/windows
# mkdir ~/wine/windows/system32

Teraz sa v konfiguračnom súbore ~/.wine/config presuňte do časti [x11drv] a uistite sa, že parameter DesktopDoubleBuffered má hodnotu Y. Zmeny uložte a konfigurácia je hotová. Ak by ste však teraz chceli spustiť s wine nejaký program, pravdepodobne by ste uvideli chybovú hlášku: "wine: error while loading shared libraries: libntdll.so: cannot open shared object file: No such file or directory". Znamená to, že systém nepozná cestu k menovanej knižnici a musíte mu ju zadefinovať. Ako root teda spustite už známe

# updatedb

a následne

# locate libntdll.so

Získanú cestu k súboru zapíšte do súboru /etc/ld.so.conf a spustite príkaz

# ldconfig

3. INŠTALÁCIA HALF-LIFE A MÓDU COUNTER STRIKE

Vložte vaše HALFLIFE CD do mechaniky a spustite inštaláciu cez wine:

# cd /mnt/cdrom/
# wine setup.exe

Obdobne nainštalujete aj potrebné patche a samotný Counter Strike. Pre jeho ľahšie spúšťanie je dobré vytvoriť shell script. Len pre úplnosť uvádzam, že shell script je obyčajný textový súbor obsahujúci viac príkazov, ktoré je možné spustiť všetky naraz spustením daného skriptu - je to obdoba BAT súborov v DOS-e. Prepnite sa teda na užívateľa root, do čistého súboru napíšte

cd ~/wine/Sierra/Half-Life/
wine hl.exe -- hl.exe -console -game cstrike

Uložte ho do adresára /bin napríklad pod menom 'cs' a nastavte mu atribút na spúšťanie a čítanie pre všetkých užívateľov

chmod 777 /bin/cs

Toto zabezpečí, že Counter Strike môžete spúšťať priamo príkazom 'cs'. Tento skript vám uľahčí aj vytvorenie zástupcu na hru v KDE a iných window manažéroch.

Counter Strike

A aké sú moje skúsenosti z hrania Counter Strike pod linuxom?

Na mojej zostave AMD Athlon XP 2500, 512MB RAM ide hra plynulo a bez najmenších problémov. Pri inštalácii na iných zostavách som sa stretol s tým, že niektoré integrované zvukové karty zle prehrávali zvuk, čo však mohla byť aj chyba nesprávnych ovládačov. Zvukové karty od firmy Creative hru zvládajú na jednotku. Druhou nevýhodou je, že cez menu PLAY ON LAN sa nedá pripojiť na lokálne servery, ale musíte to urobiť cez menu PLAY ONLINE a zadať IP adresu serveru. Inak je hra ale úplne rovnaká ako vo windows, poskytuje rovnako mocné zážitky a hlavne... nepotrebujete na ňu Window$ :)

Jaroslav Imrich - jariq@orangemail.sk

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=96