Jak na WineX

17. 9. 2002
Doba čtení: 6 minut

Sdílet

Chcete si na svém Linuxu zahrát populární hry jako např. StarCraft, Warcraft 3 a další? S pomocí WineX to není problém a v dnešním článku se podíváme, jak na to.

Naprostý začátek:

Předtím, než začneme, měli byste si připravit a rozmyslet několik základních věcí:

  • dostatek místa na disku pro winex (rozbalený cvs snapshop 49MB + kompilace celkem vydá dočasně asi na 325MB)
  • kde budete mít adresář, ve kterém budou programy a věci pro ně potřebné. Zde tento adresář budu nahrazovat <fake_win_dir>
  • používám RedHat Linux a tudíž je návod dělaný pro něj. Až na věci specifické pro tenhle systém je samozřejmě použitelný i pro ostatní distribuce.

Příprava:

Zjistěte, jestli nemáte nainstalovanou nějakou verzi wine. Pokud ano, odstraňte ji:

[mf@archon mf]$ rpm -qa | grep -i wine
wine-xyz.abc

[mf@archon mf]$ rpm -e wine-xyz.abc

Dalším krokem je stažení WineX CVS snapshotu. Pro heslo stiskněte pouze enter:

[mf@archon mf]$ cvs
  -d:pserver:anonymous@cvs.winex.sourceforge.net:\
/cvsroot/winex login
Logging in to
  :pserver:anonymous@cvs.winex.sourceforge.net:
  2401/cvsroot/winex
CVS password: <enter>
[mf@archon mf]$ cvs
  -d :pserver:anonymous@cvs.winex.sourceforge.net:\
/cvsroot/winex -z 3 co -r quartz-pre-removal wine

Do adresáře wine se vám stáhne poslední verze winex. Celkem 49MB, ale vzhledem k tomu, že pro přenos se používá komprese, budete stahovat něco kolem 7MB.

Kompilace a instalace:

Nyní máte kompletní WineX u sebe na disku. Přesuňte se tedy do adresáře wine:

[mf@archon mf]$ cd wine

A zapište příkaz, který vše připraví pro kompilaci:

[mf@archon wine]$ ./configure --with-x --disable-trace
  --enable-opengl --disable-debug

Po úspěšné přípravě se můžeme s chutí pustit do kompilace:

[mf@archon wine]$ make depend && make

A nakonec jako root nainstalujeme. Nepracujete doufám stále jako root :o)

[mf@archon wine]$ su -c "make install"

Konfigurace:

Vše by mělo v tuto chvíli být nachystáno pro konfiguraci. Nejprve se zbavte starých konfigurací wine (raději si je ale předtím zazálohujte! :o)) a adresář .wine ve vašem home opět vytvořte. Poté do něj zkopírujte kostru konfiguračního souboru:

[mf@archon wine]$ rm -Rf adr ~/.wine

[mf@archon wine]$ mkdir ~/.wine

[mf@archon wine]$ cp documentation/samples/config ~/.wine

Nyní se pustíme do samotné konfigurace.

[mf@archon wine]$ vim ~/.wine/config

Hlavní věcí, co asi bude chtít změnit, jsou disky. Všímejte si hlavně parametrů, jako jsou Path a Device. Path odpovídá místu, kam se náš disk připojuje, Device odpovídá jeho zařízení v /dev. Cesty je nutno uvádět v absolutní podobě. Mé nastavení pro RedHat Linux:

[Drive A]

"Path" = "/mnt/floppy"

"Type" = "floppy"

"Label" = "Floppy"

"Serial" = "87654321"

"Device" = "/dev/fd0"



[Drive C]

"Path" = "<fakewindir>"

"Type" = "hd"

"Label" = "MS-DOS"

"Filesystem" = "win95"



[Drive D]

"Path" = "/mnt/cdrom"

"Type" = "cdrom"

"Label" = "CD-Rom"

"Filesystem" = "win95"

"Device" = "/dev/cdrom"



[Drive E]

"Path" = "/tmp"

"Type" = "hd"

"Label" = "Tmp Drive"

"Filesystem" = "win95"



[Drive F]

"Path" = "${HOME}"

"Type" = "network"

"Label" = "Home"

"Filesystem" = "win95"

Dále jsou všechna nastavení použitelná, ale je třeba udělat ještě několik změn. Uvedu hodnoty, které fungují a doporučuji je. Je tu ale samozřejmě možnost si s nimi pohrát a možná i dosáhnout lepších výsledků. Hodnoty mnou neuvedené můžete klidně nechat tak, jak jsou.

;; "AllocSystemColors" = "" (zakomentovat pomocí ;)

"PrivateColorMap" = "Y"

"PerfectGraphics" = "N"

"UseDGA" = "N"

"UseXShm" = "Y"

"DXGrab" = "Y"

"DesktopDoubleBuffered" = "Y"

Nyní ještě vytvoříme strukturu adresářů potřebnou pro běh aplikací:

[mf@archon wine]$ mkdir -p ~/wine-x/windows/system

[mf@archon wine]$ mkdir ~/wine-x/windows/Fonts

Poslední krok konfigurace spočívá ve vytvoření správných registrů pomocí utilitky regapi (standardně dodávané s WineX):

[mf@archon wine]$ cd programs/regapi/
[mf@archon regapi]$ make
[mf@archon regapi]$ ./regapi setValue <
  ../../winedefault.reg

Instalace StarCraftu:

Vložte instalační disk do mechaniky, přimountujte, přesuňte se do adresáře, kam jste CD připojili, a spusťte instalaci:

[mf@archon regapi]$ mount /dev/cdrom
[mf@archon cdrom]$ cd /mnt/cdrom
[mf@archon cdrom]$ wine SETUP.EXE

Pokud vše šlape tak, jak má, mělo by se vám objevit známé úvodní okno pro SC. Zvolte nainstalovat, ignorujte nadávky o tom, že nemáte DirectX 5 a vyšší, a jednoduše pokračujte. Po dokončení instalace celý SC ukončete. Jestliže máte BroodWar, stačí jej vložit do mechaniky a nainstalovat obdobným způsobem. Kupodivu je však slušnější a tolik se nezlobí kvůli Directům.

První spuštění:

Pokud jste se dostali až sem – gratuluji! Cíl je za dveřmi. Poslední věc je třeba vyřešit. StarCraft totiž vyžaduje rozlišení 640×480 s 256 barvami. Já tento problém řeším jiným souborem s konfigurací X windows (XF86Config-4-SC). Soubor se stávající konfigurací zkopírujte pod tímto jménem do stejné složky:

[mf@archon cdrom]$ su
[root@archon cdrom]$ cd /etc/X11/
[root@archon X11]$ cp XF86Config-4 XF86Config-4-SC

A nyní v souboru XF86Config-4-SC proveďte následující změny:

Section "Screen"
Identifier   "Screen0"
Device       "NV AGP"
  Monitor      "Monitor0"
  DefaultDepth  16        <--- zde změna
  Subsection "Display"
    Depth  16             <--- zde změna
    Modes       "640x480" <--- zde změna
  EndSubsection
EndSection

Ostatní řádky, než které jsem označil, není třeba měnit a můžete je nechat dle svého nastavení. Opravdu je třeba použít hloubku 16b, jinak SC vypadá opravdu úděsně. Nyní jsme naprosto připraveni ke spuštění – tudíž hurá do toho. Já pro spouštění používám následující skriptík:

#!/bin/bash

INST="/home/mf/wine-x/Program Files/Starcraft/StarCraft.exe"

DEVICE="/dev/cdrom"

CONFIG="XF86Config-4-SC"

eject $DEVICE

echo "vloz cd a bouchni na enter..."

read enter

mount $DEVICE

xinit /usr/local/bin/wine "$INST" -- :1 -xf86config $CONFIG

killall wine

Tento skript otevře mechaniku, počká na stisk klávesy enter a poté na jiné grafické konzoli spustí SC. Abyste mohli SC pouštět na jiné konzoli, je ještě třeba říct xauth, že můžeme. To provedete příkazem:

[mf@archon mf]$ xauth add :1 . `mcookie`

Nyní je všechno připraveno. Spusťte skript a už se jen kochejte legendární hrou na legendárním systému :o)

War3

Na Warcraft 3 je třeba aplikovat obdobný způsob. Pouze ho ještě o trošku rozšíříme. Jak je to s instalaci W3, bohužel nevím. Zkoušel jsem jej rozchodit, až když jsem jej měl nainstalovaný z jistého M$ systému, a nyní nemám u sebe instalační CD, abych jej ozkoušel. Nicméně by tento postup měl pro instalaci fungovat také. Pokud systém připravíte stejným způsobem, jak bylo popsáno až sem, W3 spustíte, ale nezahrajete si kampaň, protože založení nového hráče využívá věci, co WineX samo o sobě neodhalí, a tudíž mu musíme trošku pomoci. Je třeba sehnat soubory z „funkčních“ :o))) Windows. Budou to soubory c:\windows\sys­tem\msvcrt* a c:\windows\sys­tem\regsvr32.e­xe. Ty zkopírujte do oblasti <fake_win_dir>/­windows/system. Nyní už zbývá poslední krok k nádheře Warcraftu 3. Pod Linuxem bohužel nepřehrajete videa a při pokusu o jejich přehrání se W3 ukončí. Tento problém můžete odstranit tím, že v lokaci, kam jste W3 nainstalovali, adresář Movies přejmenujete nebo smažete. Údajně by animace v tomto adresáři měl umět přehrát mplayer – mně se to ale bohužel nepovedlo :o(
Ještě jednu věc vám asi řeknu. W3 je doporučeno spouštět s parametrem -opengl. Já sice nevidím rozdíl, ale pro pořádek věci uvedu své řešení skriptů pro tohle. Ať jsem se snažil, jak jsem se snažil, nepodařilo se mi tento parametr zabudovat do výše uvedeného skriptu, a tudíž to řeším sice celkem šeredně, ale taky funkčně: mám dva následující skripty.

bitcoin_skoleni

skript _w3:
#!/bin/bash
INST="/home/mf/wine-x/Program Files/Warcraft III/War3.exe"
/usr/local/bin/wine -- "$INST" -opengl

skript w3:
#!/bin/bash
CONFIG="XF86Config-4-W3"
xinit ./_w3  -- :1 -xf86config $CONFIG
killall wine

Spouští se samozřejmě skript w3. Pokud někdo najde způsob, jak parametr opengl předat hře v jednom skriptu, prosím, ať mi napíše – rád to sem doplním.

Odkazy:
Transgaming Technologies Inc.

Autor článku