Bu doküman ile linux/unix işletim sistemleri altında WINE programı yardımı
ile Half Life ve MOD'larının (Örneğin Counter Strike) nasıl kullanılabileceği
anlatılacaktır. Half-Life yazılımı için
EHL project ve Sierra
'dan, Wine programı için WineHQ ve
Codeweavers adreslerinden
bilgi edinebilirsiniz.
Bu belge, internet üzerinde bulunan diğer belgeleri, web siteleri,
haber gruplari, IRC ve kişisel tecrübelerim gibi çeşitli kaynaklardan
yararlanılarak hazırlanmıştır. Kaynak olarak
David McBride'in HOWTO'su ,
WINE haberlesme grubu. ,
Emulated Half Life ve
David Hammerton 'un hazırladığı belge kullanılmıştır.
Linux Half-Life Howto: Running Half-Life under WINE Copyright (C) 2000, 2001 David Hammerton
Linux Half-Life Howto (Turkish): Running Half-Life under WINE Copyright (C) 2002 Onur Küçük and Mert Uzbaşlı
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
A copy of the GPL can be found at the GNU Homepage
Half-Life'i çalıştırabilecek bir x86 PC
En son Linux sürümlerinden biri
XFree86 4.0.1 veya daha yenisi. (DRI kullanıcıları için XFree86 4.0.3 tavsiye edilir.).
Half-Life
Linux altında OpenGL destekleyen herhangi bir grafik karıi.
Çalışan bir XFree86 ve kartınızın 3D desteğinin ayarlanmış olması
! Herhangi bir Windows bölümüne veya kurulu bir Windows'a ihtiyacınız YOK!
Bu doküman 3D kartınızı Linux'a nasıl kuracağınızı ve nasıl ayarlayacağınızı
göstermemektedir. Bu dokuman çalışan bir 3D kartınız olduğunu varsayar.
(Quake3, Heretic2, Descent3, veya baska herhangi bir programı 3D modunda
çalıştırabilirsiniz.)
Konuyla ilgili olarak Bazi linkler:
NVidia chipsetleri için (TNT/TNT2/GeForce/GeForce2 etc): NVidia Linux Sürücüleri
Yeni 3DFX chipsetleri için (Voodoo's 3, 4 & 5): DRI Projesi 3DFX Xfree86 3.3.6 için glide sürücüleri: 3DFX ve Glide projesi
Matrox GX00 / ATI Rage 128 / Intel i810/ 3dlabs Oxygen: DRI Projesi
Bu iş için en uygun kartlar NVidia kartlarıdır. Linux işletim sisteminde en iyi performansı Nvidia nın kartları ile aldım. Nvidia sitesinde anlatılan gerekli ayarlamaları yaparak biglisayarınıza 3D desteği vererek bu kısmı atlayabilirsiniz.
Xfree86 4.0.2 sürümünden itibaren, en son TDFX bölümü DRI CVS'e konuldu - yani 3DFX kullanicilari XFree86 ve DRI'i CVS'den indirerek derleyebilirler. Güncel dağıtımlarda yeni XFree86 ve DRI öntanımlı olarak gelmektedir. Dağıtımınızda 3D desteği sağlayabiliyorsanız bu kısmı atlayınız. Aksi halde eski yöntemle devam edin:
Bu iş 3DFX kullanıcıları için biraz daha zor gözükebilir ama yine de mümkün. CS'yi voodoo3 ile başarılı bir şekilde çalıştırabilen birindenalınan bilgilere göre iki seçeneginiz var, DRI ( XFree 4.0.1 ve üstü), ya da Glide (XFree 3.3.6). Voodoo3'üm olmadığı için buradaki bilgilerin doğruluğundan emin olamıyorum ancak calışması için gerekenler şunlar olmali;
Lars Munch'ün email'indan < c948114@student.dtu.dk>
Iste benim yaptiklarim: |
Tek yapmaniz gereken XFree86 4.0.2 ya da daha üstü bir sürüm kurmak. XFree86 4.0.1 ile çalışmıyor, MUTLAKA XFree86 4.0.2 ya da üstü bir sürüm kullanmalısınız. Grafiklerde bazı titreşmeler görürseniz aşağıdaki sorunlar bölümüne bakınız.
DRI projesinin desteklediği bir karta sahipseniz büyük ihtimalle dağıtımınız
kartınızı otomatik olarak ayarlamıştır. Eğer kullandığınız programların
kartınızı desteklediğine inanıyorsanız XF86Config ( ya da XF86Config-4,
/etc ya da /etc/X11 altında bulunur ) dosyası içinde Modules kısmında
{ Load "glx" } ve { Load "dri" }yazan satirlarin olduğuna emin olun (
{} olmayacak ). Probleminiz olursa
DRI projesi adresine göz atınız.
Yapmamız gereken ilk şey WINE kurmak. Eger Linux'u fazlaca kurcalamışsanız bu işlemi yapmak problem olmayacaktır. Sisteminizde önceden kurulu bir wine/winex sürümü varsa ve çalışıyorsa bu kısmı okumadan geçebilirsiniz. Eğer wine kullanırken beklenmedik sorunlar ile karşılaşırsanız (örneğin Half-lif/CS de menulerin mavi görünmesi ya da hiç görünmemesi, sesin çıkmamas ya da bozuk çıkması) daha güncel bir wine sürümüne ya da winex sürümüne geçmeniz önerilir. Winex daha çok oyunları hedef alan bir wine klonudur. Daha fazla bilgi için Transgaming sitesine bakınız. Wine paketinizi güncellemek ya da yenisini kurmak için önce sisteminizde kurulu olan paketleri kaldırın.
RPM tabanli sistemlerde;
# rpm -qa |grep WINE |
Debian tabanli bir sistemde bunu yapmak için:
# apt-get remove wine |
Eger daha önceden WINE ya da winex programlarını kaynak kodundan derleyip kurduysaniz, kaynak dizinine gidin ve:
# make uninstall |
Simdi WINE indirin. Siddetle en son CVS sürümünü indirmenizi öneriyorum, ama bunu yapmak için en kolay yol en son CVS Snapshot Tarball'u indirmek ve sonra bunu CVS ile güncellemektir. Daha fazla bilgi için: "http://www.winehq.com/devstart.html" (Getting Wine via FTP and converting to CVS'e bakin). Wine source paketini /usr/src/wine altına indirdiğinizi varsayıyorum, yani wine kaynak kodunuz /usr/src/wine/wine'da olacaktır.
Eğer sadece CVS kullanmak istiyorsanız:
# export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine |
Böylelikle CVS'den kendiniz wine kaynak kodlarını indirebilirsiniz. (50-60 MB kadar dosya indirmeniz gerekebilir).
Dağıtımınıza uygun olan OpenGL geliştirme paketleri edinin (mesa-devel). Debian için bu, xlibmesa-dev. Diğer dagitimlarda da benzer isimlerde bu paketi bulabilirsiniz. Bir de glext.h isminde bir dosyaya ihtiyacınız var. Bu dosyaya sahip olup olmadığınızı öğrenmek için:
# updatedb |
Eger sisteminizde glext.h yoksa, WINE'i kurmadan önce edinmelisiniz. Eski bir kopyasını "http://lhl.linuxgames.com/glext.h" adresinden indirip "/usr/X11R6/include/GL/" altina koyabilir, ya da Rpmfind.net adresinden bu dosyayı içeren bir paket bulup kurabilirsiniz . Bu dosya olmadan wine programını opengl desteği ile derleyemezsiniz.
Derlemek için, " /usr/src/wine/wine " altında " iken "./tools/wineinstall" komutunu kullanın. Wine kendi kendine ayalanacak, derlenecek ve kurulacaktir. Kurulum programı sizin için bir kayıt dosyası bile yaratacaktır.Son sürümler otomatik olarak OpenGL desteği ile birlikte kurulmaktadır.
Şimdi wine.conf ayarlama zamanı. "wine.conf" dosyasını bir metin düzenleyici
ile açın. Kurulduğu yere bağlı olarak dosya "/usr/local/etc/"
ya da "/etc" dizininde olabilir. Önemli olan bu dosyayı kendi home dizininizde
".wine" dizini içerisine koyup ayarlamanızdır. Örneğin "ben" kullanıcısı
için dosya /home/ben/.wine/config adı ile yer almalıdır. En son sürümlere
bakıldığında wine için C sürücünüz /usr/share/wine-c olarak ayarlanmalıdır.
Daha fazla bilgi için kullandığınız programın sitesini ve dokumanlarını inceleyiniz.
Ayrica bilgisayarınızda hazır
kurulu bir Half-Life yok ise kurulum için CD sürücünüzün de wine ayar
dosyasında tanımlanmış olması gerekmektedir. Şimdi [x11drv] bölümüne bakın,
"double-buffering" seçeneği ON olmalı. "useDGA" seçeneği on ya da
off olabilir. Bazı sistemlerde bu seçeneği on yapmak performans getirirken
bazı sistemleri sistemin tamamen donup kalmasına neden olabilir. Sisteme
kalıcı zarar vermeyeceği için denemek sorun yaratmayacaktır. Ayar dosyası
ile işiniz bittikten sonra, Half-Life'ı hangi kullanıcılar ile
çalıştıracaksanız o kullanıcıların ev dizinine gidin ve ;
Ayar dosyası ile işiniz bittikten sonra, Half-Life'ı hangi kullanıcılar ile çalıştıracaksanız o kullanıcıların ev dizinine dosyayı kopyalayın
# mkdir ~/.wine/ |
WINE'ı böylece kurmuş ve ayarlamış oluyoruz.
Half-Life kuruluma hazıir durumda olmalı.
HL CD'sini CD sürücünüze koyun, sonra:
# mount /mnt/cdrom <cdrom'unuzun bağ noktası> --> örnek olarak #mount /dev/cdrom /mnt/cdrom |
Yükeleme yapılırken bir problemle karşılaşmamanız lazım. Kurulum sonunda installer kilitlenirse (genelde kilitlenir) bir konsolda root haklarına sahip olun ( su - ) ve bütün WINE client/server'larını öldürmek için aşağıdaki komutu yazın:
# killall -9 wine |
Herhangi bir çalıştırılabilir dosyayı ( örneğin uzantası .exe olan windows sistemi dosyalarını) ancak wine.conf içerisinde tanımlı bir disk bölümünden çalıştırabilirsiniz.
Half-Life kurulumu tamamlandıktan sonra Counter Strike sitesinden en son halflife yamasını (patch) ve en son counter strike modu paketini indirip kurunuz. Henüz linux desteklenmediği için windows yama ve mod dosyalarını kullanacağız. Bu dosyaları da aynı yukarıdaki gibi "wine komut" kullanarak Half-Life kurduğumuz yere yüklüyoruz
/usr/local/wine/games/Half-Life/' (ya da kurulumda nereyi seçtiyseniz) dizinine giderek aşağıdaki komutu verin:
# wine hl.exe -- hl.exe --console |
Oyun çalıştıktan sonra "Configuration --> Video --> Video Modes" menüsüne girin. OpenGL seçerek "XF86Config-4" (eski isimle "XF86Config") dosyasında da mevcut olan (yani sisteminizde kullanabileceğiniz) bir çözünürlüğe göre oyunu ayarlayın.
İsterseniz oyun tuşlarını da ayarlayın. Tabi ki kendiniz bir text editor yardımı ile "config.cfg" dosyasını da düzenleyebilirsiniz.
Seslerin olması gerekenden daha geç gelmesi gibi bir sorun ile karşılaşabilirsiniz. (Örneğin görüntüde siz ateş ettikten sonra sesin gelmesi için rahatsız edici bir sürenin geçmesi). Bu sorunu düzeltmek için "config.cfg" dosyanızda aşağıdaki satırları değiştirin.
_snd_mixahead "0.28" |
(0.28 değeri rastgele seçilmiş bir değerdir. Sisteminiz için daha uygun bir değere deneme yanılma yöntemiyle ulaşabilirsiniz.)
Bazı ses kartlarında, Enlightened Sound Daemon (esd) seslerin çıkmamasına neden olabiliyor. (Bu durum genellikle Gnome altında ortaya çıkıyor.) Çözüm için:
# ps aux | grep esd |
Eğer "esd -nobeeps" ya da benzer bir çıktı görürseniz, sorununuzun kaynağı esd olabilir. Çözüm için Gnome panele sağ tuş ile tıklayın, "Panel" -> "Add to Panel" -> "Applet" -> "Multimedia" -> "Sound Monitor" menüsünü seçin. Yeni aplete sağ tuş ile tıklayın ve "Place esound in standby" işaretleyin. Artık esd çalışmayacaktır. Oyunu tekrar çalıştırıp deneyin.
Bu problem oyunu "-game cstrike" parametresi olmadan başlattığınızda karşınıza çıkar. CS' yi "wine -- hl.exe -game cstrike -console" komutu ile çalıştırırsanız sorun kalmayacaktır.
Eğer oyun içinde bazı yazıtipleri yanlış gözüküyorsa (mesela scoreboard) o zaman yazıtipi dosyalarını bulamamakla ilgili bir kaç hata mesajı alıyor olmalısınız. Bu hata mesajları oyun açılırken konsolda gözükürler.Bu dosyalardan birinin "1026_Scoreboard Text.tga" olduğunu varsayalım. Oyun yazıtipinin gözükemedigi bir çözünürlükte açıldığı için de dosya bulunamiyor hatası alabilirsiniz. Çözüm için Half-Life'ı kurmuş olduğunuz dizinde "valve/gfx/vgui/fonts" dizininin içinde; kullanmanız gereken (yani elinizde çalışır durumda bulunan) yazıtiplerini, kullanılanların yerine kopyalayın. Örnek olarak:
1024_Briefing Text.tga 1024_Scoreboard Text.tga |
Bu sorunu çözmenin baska bir yolu da oyunu pencere içinde çalistirmaktir. (Video Modes'daki kutucuktan seçimi kaldırın ve wine ayar dosyasında "managed=Y" olacak şekilde ayarlayın)
Bu problem genellikle DRI kullanıcıları tarafından yaşanıyor. Sorunu çözmek için Half-Life'ın config.cfg dosyasında belirtilen düzeltmeyi yapın:
gl_ztrick 0 |
Bazı kullanıcılar için bu seçenek de yeterli olmayabiliyor. Sorunu çözücek başka bir yol biliyorsanız lütfen bizimle paylaşın.
Half-Life'ı çalıştırdığınız çözünürlük "XF86Config" dosyanızda belirttiğiniz çözünürlüklerden biri olmalıdır. Eğer bu ayarlarınız doğru ise, oyun ekranı tam olarak kaplayana kadar "ctrl" "alt" "Keypaddeki_artı_tuşu"tuşlarına aynı anda basınız. Eski çözünürlüğe geri dönmek için de aynı işlemi tekrarlayın.
Bu pek çok kişinin karşılaştığı acak çözümü kolay bir problem. XFree86'nizin aydınlık seviyesini değiştirmek için "xgamma" programını kullanın:
# xgamma -gamma 3.0 |
3.0 değeri oyunu rahatlıkla oynayabilmenizi sağlar. Ekran ayarlarınıza bağlı olarak daha farklı bir değeri tercih edebilirsiniz. Oyun bittikten sonra normal XFree görüntüsü size çok aydınlık görünürse yine xgamma programı ile ayarları eski haline getiriniz.
Pek çok sebepten dolayı bu sorun oluşabilir ancak genellikle sistemde birden çok çeşit OpenGL kütüphanesinin mevcut olduğu durumlarda oluşur. Genellikle /usr/lib ve /usr/X11R6/lib altında ki "libGL" ile başlayan dosyaların farklı olması ile oluşur. Sorunu çözmek için sisteminiz için uygun olan kütüphaneleri, diğer bozuk kütühanelerin üstüne kopyalamak yeterlidir.
Öncelikle WINE'ı OpenGL desteği ile derlediğinizden emin olun. (./configure komutunun çıktısını inceleyebilirsiniz). Ayrıca wine programının yanlış ".so" ve ".a" dosyalarına bağlanmadığından (link) emin olunuz. ( Daha fazla bilgi için buraya bakabilirsiniz.)
Öncelikle Wine'ın libopengl32.so dosyasını nereye koyduğunu bulun. (Bu wine'ın OpenGL desteği kütüphanesidir. /usr/local/lib , /usr/lib/wine gibi dizinlerde olabilir ). Daha sonra yapmanız gereken:
$ ldd libopengl32.so |
Bir Nvidia kartı için çıktı aşağıdakine benzer olacaktır;
libx11drv.so => /usr/local/lib/libx11drv.so (0x4004a000) |
En önemli satırlar libGL.so.1 ve libGLcore.so.1 satırlarıdır. Bunların doğru NVidia! libGL.so.1 ve libGLcore.so.1 kütüphanelerini gösterdiğinden emin olun. Kontrol etmek için bulundukları dizine gidin ve (örnekte /usr/lib):
# ls -l libGL* |
Bunun gibi birsey ariyoruz::
lrwxrwxrwx 1 root root 16 Mar 17 09:33 libGL.so -> libGL.so.1.0.769 |
libGL.so.1 --> libGL.so.1.0.769 ve libGLcore.so.1--> libGLcore.so.1.0.769 dosyasına birer sembolik bağ ile bağlanmış. Eger sisteminizde fazladan ya da bozuk bağlar varsa büyük ihtimalle mesa kütüphanelerine aittir. Bu durumda diğer gereksiz bağları silin ve ldconfig'i tekrar çalıştırın.
Bir başka olası neden de kütüphanelerinizin yerinin doğru tanımlanmamasıdır. Çözüm için /etc/ld.so.conf dosyasına sizin wine kütüphanelerinizin (libopengl32.so içeren dizin) ve opengl kütüphanelerinizin yerini tanımlayın. Örnek olarak /etc/ld.so.conf dosyası içinde "/usr/lib", "/usr/lib/wine", dizinleri tanımlıdır. Bu ayarlamayı yaptıktan sonra ayarları aktif hale getirmek icin "ldconfig" komutunu kullanabilirsiniz.
Artık sorunsuz bir şekilde Half-Life/Counter-Strike oynayabiliyor olmalısınız. Eğer hala sorunlarınız varsa Linux Half-Life adresine bakabilir, IRC üzerinden (irc.openprojects.net serverında #lhl kanalı) soru sorabilir ya da .linux.org.tr listesi üyesi olarak diğer linux kullanıcılarına danışabilirsiniz.
okucuk@yahoo.com
iknewitwasamistake@yahoo.com
How to Run Half-Life (İngilizce)
crazney@crazney.net
mayof1937@crosswinds.net