如何使用WINE運行

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

如何使用WINE運行<<半條命>>
譯者註釋
這篇文檔介紹了如何在Linux下用WINE來運行<<半條命>>,它的英文原文的地址如下: http://lhl.linuxgames.com/howto/half-life-HOWTO-0.4.1.html 由於譯者沒有這個遊戲,因此也沒有測試過,僅僅對原文進行了翻譯.由於翻譯中可能出現一些錯誤,所以請各位包涵.
daweicheng
以下是原文的翻譯:

如何使用WINE運行<<半條命>>
David Hammerton
crazney@crazney.net

Adam Torgerson
mayof1937@crosswinds.net

Lars Munch
c948114@student.dtu.dk

0.4版,2001年6月1日

修正變更
版本 0.4.1 2001-06-03 Revised by: David
更新了我的e-mail地址和修改了一些過時內容.
版本 0.4 2001-06-01 Revised by: Lars
將文檔的格式改變為Docbook SGML 4.1.文檔描述在http://www.linuxdoc.org/LDP/LDP-Author-Guide/usingldpdsssl.html
版本 0.3 2001-03-19 Revised by: Adam
我主要修正了語法錯誤, 在OPENGL疑難解答和聲音段中增加了一些內容,做了一些整理.在你看到聲音疑難解答段,那兒有個小註釋可供參考.我對SGML知道不多,只是打開文件,象對HTML一樣地去做了.如果有失誤請通知我.

這篇HOWTO文檔可幫助人們在Linux/Unix使用WINE輕鬆地設置和運行<<半條命>>

----------------------------------------------------------------------

內容目錄
1 介紹
1.1 引言
1.2 感謝
1.3 許可
1.4 最新版本
2 開始做
2.1 需求
2.2 3D
2.2.1 常規安裝
2.2.2 NVidia用戶
2.2.3 3DFX用戶
2.2.4 G400用戶
2.2.5 其他用戶
2.3 安裝WINE
2.4 安裝<<半條命>>
2.5 設置和運行<<半條命>>
3 疑難解答
3.1 聲音問題
3.1.1 聲音滯后
3.1.2 無聲
3.1.3 在CS中沒有radio聲音
3.2 顯示問題
3.2.1 亂字元
3.2.2 圖像晃動和/或可以看穿牆壁
3.2.3 不能全屏幕顯示?
3.2.4 <<半條命>>很昏暗
3.2.5 開始<<半條命>>時,XFree86掛起
3.2.6 支持的OPENGL模式不被你的顯卡所支持
3.3 想要gamespy?
4 結語

----------------------------------------------------------------------

1 介紹

1.1 引言
這篇HOWTO文檔可幫助人們在Linux/Unix使用WINE輕鬆地設置和運行<<半條命>>.WINE不是一個windows模擬器,但是她能夠讓你在Linux下運行很多windows程序.這篇HOWTO是為OPENGL用戶和<<半條命>>設計的,我建議你到以下網址看看:http://eg4l.sourceforge.net/ehl/

----------------------------------------------------------------------

1.2 感謝
正如其它的HOWTOs一樣,這篇HOWTO由這些協助構建而成:網站,新聞組,在IRC上的人們和我個人的經驗.兩個主要的協助是David McBrides HOWTO(http://www.doc.ic.ac.uk/~dwm99/Computing/Wine+Half-Life-HOWTO)和WINE newsgroup(news:comp.emultaors.ms-windows.wine).也有一些主意來自於死亡刺痛的大腦(就是擁有Emulated Half Life (http://eg4l.sourceforge.net/ehl/)的那個網站)

----------------------------------------------------------------------

1.3 許可
Linux<<半條命>>的HOWTO:用WINE運行<<半條命>> Copyright (C) 2000, 2001 David Hammerton
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 (http://www.gnu.org/copyleft/gpl.html)
(天哪,一個基於GPL的許可些了這麼多,我就偷懶不翻譯了^_* --譯者注)

----------------------------------------------------------------------

1.4 最新版本
最新版本的文檔在這兒:http://lhl.linuxgames.com/

----------------------------------------------------------------------

2 開始吧

2.1 需求
一台能夠達到<<半條命>>配置的x86電腦.事實上,也許用WINE沒有windoze(看來作者比較討厭window$ --譯者注)運行得好.
一個Linux系統
XFree86 4.0.1或更高版本(對於DRI用戶推薦XFree86 4.0.3)
<<半條命>>
在Linux下能夠支持OPENGL加速的3D加速卡
在XFree86下你的顯卡被設置且運作良好
你不需要windows分區,也無需安裝windows

----------------------------------------------------------------------

2.2 3D

2.2.1 普通安裝
這篇HOWTO不包括在Linux下安裝和設置你的3D顯卡(關於顯卡設置的文章你可以在linux站點上找到 --譯者注).這篇HOWTO假定你的3D卡可以在linux下運作(你可以運行Quake3,Heretic2, Descent3,或是其它3D加速的模式).這兒有鏈接:

NVidia chipsets (TNT/TNT2/GeForce/GeForce2 etc):http://www.nvidia.com/Products/Drivers.nsf/Linux.html

New 3DFX chipsets (Voodoos 3, 4 & 5):http://dri.sourceforge.net/
3DFX glide drivers for XFree86 3.3.6:http://linux.3dfx.com/ 和 http://glide.sourceforge.net/

Matrox GX00 / ATI Rage 128 / Intel i810/ 3dlabs Oxygen:http://dri.sourceforge.net/

Mesa:http://mesa3d.sourceforge.net/

----------------------------------------------------------------------

2.2.2 NVidia用戶
NVidia顯卡是跑這個遊戲的最佳選擇.她擁有Linux下最好的支持,因此在多數情況下運行得最穩定最快速.對於NVidia用戶,不需要特殊的設置,接著看這篇HOWTO.

----------------------------------------------------------------------

2.2.3 3DFX用戶
直到XFree86 4.0.2,最新的TDFX分支才被加入到DRI CVS里--所以3DFX用戶可能需要下載並編譯XFree86和DRI-這沒有被測試過!最好用新近發行的XFree86
4.0.3,但是同樣沒有被測試過.如果哪位測試過並且能運行,通知我.否則,繼續用以往的方法:3DFX用戶運行CS有些勉強,但也是運行CS也是可能的.我聯繫過一個有所幫助的人,他可以讓他的voodoo3良好地運行CS.你有兩個選擇:DRI (x4.0.1),但是看起來出奇地慢,所以我不想被這困擾;另外一個是Glide (x3.3.6).但我沒有voodoo3,我不能肯定.
Lars Munch 的e-mail:c948114@student.dtu.dk

這是我所做的:
----
首先,將glide和mesa移除.
在CVS上得到最新的3DFX驅動,安裝.如果你運行2.4.x內核,這是需要的.
從linux.3dfx.com上得到Glide V3的源代碼的rpm包.編譯安裝,包括庫和devel.
從mesa3d.sourceforge.net上得到Mesa 3.4.你需要MesaDemos和MesaLib.用以下命令編譯:
# ./configure --without-svga --without-ggi --with-glide=/usr
--prefix=/usr --sysconfdir=/etc
並且做:
# make; make install
現在測試,確保它運作良好(testGlide3x,quake...)
你可以用:export MESA_FX_INFO=1來得到一些有用的數據.
安裝WickedGL驅動(miniGL from Wicked3D),它能在640x480下跑到30-70fps.
用--enable-opengl這個選項編譯wine代碼,這樣運行CS:
export MESA_GLX_FX=fullscreen

# wine -desktop hl.exe -- hl.exe -gl -gldrv Default -w 640 -full
-game cstrike -noipx -nojoy -numericping -console -toconsole

----------------------------------------------------------------------

2.2.4 G400用戶
我聯繫到一個可以用G400完美地跑LHL的用戶.有一些步驟需要去做,這看起來比3DFX用戶做得簡單些.註解:你是不是需要個快些的CPU(大於500MHZ?).
現在XFree86 4.0.2(或4.0.3?)已經出來了,你必須安裝它.G400不能運行在普通的4.0.1下,你必須用4.0.2.可能會有些閃爍,在"疑難解答"中有解決的方法.

----------------------------------------------------------------------

2.2.5 其它DRI用戶
我沒有聽說其他DRI用戶(成功運行CS),但請通知我你是如何做到的.試試最新的XFree86 DRI from CVS(這在G400段中有描述,通知我(ATI Rage128 or Radeon,是哪一個?)

----------------------------------------------------------------------

2.3 安裝WINE
首先你要安裝WINE.可能對於玩什麼Linux會有個大爭論.如果你已經有一個WINE安裝好了(rpm/binary包或是其它的),卸載它:在基於RPM系統的Linux中,這樣做:
# rpm -qa |grep WINE
# rpm -qa |grep wine
# rpm -e "whatever showed up above"
基於Debian Linux系統的,這樣做:
# apt-get remove wine
如果你以前編譯並安裝過WINE(源代碼方式),進入源代碼目錄,然後:
# make uninstall

1 現在,下載WINE.我極其推薦你更新你的CVS,但是最簡單的方法是下載最新的CVS Snapshot Tarball並且通過CVS更新到新的版本.有用的介紹在這兒:http://www.winehq.com/devstart.html(看看通過FTP得到WINE和轉變到CVS).我假定你已經下載了WINE到/usr/src/wine目錄下,所以,你的WINE源代碼應該在/usr/src/wine/wine下,如果你想用CVS,這樣試試:
export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine
# cvs login
*** The password is "cvs" ***
# cvs -z3 co wine
請注意這是個大的CVS校驗.對於使用modem的用戶不推薦這樣做.同樣沒有WINE的二進位文件(已編譯好的)被加入了OPENGL的支持.我所知道的是這沒有被測試過.
2 為你的linux發行版選擇一個OPENGL開發包.例如Debian,開發包是xlibmesa-dev.其它發行版本應該有相類似的包.你同時需要一個叫"glext.h"的文件.讓我們看看你是否有(這個文件):
# updatedb
# locate glext.h
如果你的系統沒有glext.h,你需要在編譯WINE之前得到它.我做了一個可用的鏈接:http://lhl.linuxgames.com/glext.h,下載它,把它放到/usr/X11R6/include/GL/目錄下.缺少了這個文件,WINE不會在編譯時加入OPENGL支持.
3 現在編譯,運行wineinstall(從/usr/src/wine/wine下運行./tools/wineinstall).你可以看見WINE開始自動地編譯,配置並安裝.這個安裝工具會給你創建一個註冊.最新的版本將自動地帶有OPENGL支持.編譯會花些時間.
4 現在該編輯wine.conf文件了.用編輯器打開.wine.conf被放在/usr/local/etc/wine.conf(這取決於它安裝在哪兒).將C盤指向/usr/local/wine.你需要將你的CD-ROM(用來安裝cs)掛接點設置好.在[x11drv]段中,確保double-buffering設置成ON.在XFree86中useDGA可能作為DGA在on或off狀態下工作.有人報告這兒遇到問題,試試將useDGA和double-buffering設成off.如果wine.conf工作良好,進入home directory,然後:
# mkdir ~/.wine/
# cp /usr/local/etc/wine.conf ~/.wine/config

WINE現在安裝並配置好了

----------------------------------------------------------------------

2.4 安裝 <<半條命>>
將<<<<半條命>>的光碟放入光碟機,然後:
# mount /xxx (your cdroms mount point)
# cd /xxx
# wine SETUP.EXE
跟著安裝嚮導,安裝順利結束.如果最後安裝掛起(經常出現),用CTRL+ALT+F1切到1號控制台,用root登陸,敲命令:
# killall -9 wine
# ps -ax
確保沒有WINE客戶端/服務端運行.如果有,用kill命令將他們k掉.做同樣的patch工作(裝HL,CS...)但你必須記得,你只能運行在wine.conf里設置的路徑下的.exe文件(因為這是linux環境 --譯者注)

----------------------------------------------------------------------

2.5 運行並設定<<半條命>>
現在到這裡了,結果是好是壞呢;-)進入<<半條命>>目錄:cd /usr/local/wine/games/Half-Life/(目錄取決於你的安裝目錄)執行:
# wine hl.exe -- hl.exe --console
(請記住,當你運行遊戲時,不要這麼做..在gamespy段中有我的腳本,按腳本運行)
你將會看到一個緩慢的菜單出現了,點擊Configuration" -> "Video" -> "Video Modes,將它設置為OPENGL.可能在你點擊OK時畫面會定住,沒關係-切到控制台下用killall -9 wine(這個老兄又來了,都用killall命令了,還說沒關係@_@ --譯者注)確定你的選擇(OPENGL驅動)在XF86Config-4中有解釋.
配置cdkey,應該沒問題.你也可以手動修改config.cfg文件.

----------------------------------------------------------------------

3 疑難解答

3.1 聲音問題

3.1.1 聲音有些滯后
我遇到了一些聲音延遲的問題(比如在CS里的槍聲嚴重地滯后)要解決這個問題,需要在config.cfg文件中加上適當的修改:
_snd_mixahead "0.23"
(0.23這個值可以在我的機器上運行得不錯,有些人說其它的值也許更適合於他們.千萬不要用負值,這樣將不能夠工作!)這將解決聲音滯后的問題.同樣,如果你發現你修改了值后<<半條命>>程序崩潰,試試其它的值.
有些人有同樣的問題,但是不能解決它.如果你有不同的解決方案,請與我聯繫.

----------------------------------------------------------------------

3.1.2 根本就沒有聲音
一些音效卡,由於esd的緣故,可能無聲(通常發生在Gnome下)試試這個:
# ps aux | grep esd
如果esd -nobeeps或是一些相類似的,這可能是困擾你的問題.右鍵單擊Gnome面板"Panel" -> "Add to
Panel" -> "Applet" -> "Multimedia" -> "Sound Monitor"右鍵單擊新程序,選擇"Place esound in standby",這樣就禁止了esd.

----------------------------------------------------------------------

3.1.3 在CS中沒有radio聲音
這是沒有在命令行中加上"-game cstrike"而導致的問題-你可以下載最新的hl啟動腳本(hl launch script)(為了與XQF一起使用)-鏈接在"gamespy"段里

----------------------------------------------------------------------

3.2 顯示問題

3.2.1 亂字元
如果你發現一些字元在遊戲中顯示不太穩定(比如積分牌)你可能得到一個關於"沒找到字體文件"的錯誤.這些錯誤信息將在loading遊戲時在console里顯示.一個文件可能是"1026_Scoreboard Text.tga".是的,你看見了錯誤,因此找不著文件.所以你該找出它在尋找什麼,先退出遊戲,進入你的安裝目錄"valve/gfx/vgui/fonts",拷貝可能需要的文件,它們可能是<<半條命>>所需要的.比如,這是我的:
1024_Briefing Text.tga 1024_Scoreboard Text.tga
1026_Briefing Text.tga@ 1026_Scoreboard Text.tga@
1024_CommandMenuText.tga 1024_Team Info Text.tga
1026_CommandMenu Text.tga@ 1026_Team Info Text.tga@
1024_Primary Button Text.tga 1024_Title Font.tga
1026_Primary Button Text.tga@ 1026_Title Font.tga@
另外一個解決方法時不進入全屏幕狀態(在圖形模式下不作校驗),並且在WINE的配置文件中,讓窗口管理器描繪windows.這時常會去掉綠色的線條.這看起來很漂亮,因為在玩遊戲時,你仍然能看見你的IRC信息.但這種方法可能會使你在全屏幕時調焦不正確.

----------------------------------------------------------------------

3.2.2 圖像晃動得厲害和/或可以隔牆視物
這個問題經常在DRI用戶中出現,這個問題容易解決:增加/修改以下的欄位(在所有的config.cfg中):
gl_ztrick 0
一些用戶反映這不能解決問題,我們也正在尋求一個正確的方案.

----------------------------------------------------------------------

3.2.3 不能全屏幕?
取決於你的設置,在你設置的尺寸下可能會在屏幕中央出現一個方形區域.按下ctrl+alt+keypad_plus直到合適為止.(這和你的XF86Config設置有關,比如解析度)

----------------------------------------------------------------------

3.2.4 <<半條命>>很昏暗
個別人有這個問題,很容易解決.用"xgamma"來改變XFree86的亮度.例如,在啟動腳本中(在CS載入前)加入:
# xgamma -gamma 3.0
3.0這個值是可調節的(為了讓你的眼睛適應).在腳本中"運行遊戲"之後,務必將gamma值改回,要不然會讓你好看.

----------------------------------------------------------------------

3.2.5 在啟動遊戲時XFree86死掉
有很多原因可能導致XFree86掛起,但最可能的原因未知的GL驅動惹的禍.如果你使用NVidia驅動,確保你已經將所有的Mesa庫文件刪掉(尋找libGL.so,只留下NVidia的那一個).同時參見"支持的OPENGL模式不被你的顯卡所支持"段.

----------------------------------------------------------------------

3.2.6 支持的OPENGL模式不被你的顯卡所支持
這是WINE連結到正確的OPENGL驅動的一個問題.首先確定OPENGL已經被編譯進了WINE(察看./configure manually的輸出)多半你要檢查WINE是否連接到了錯誤的.sos和.as上.這個URL很有用:http://wine.screenweavers.com/cgi-bin/fom?file=139
首先,找到WINE將你的libopengl32.so放在哪裡(這是WINE的OPENGL支持庫)我的在/usr/local/lib下).然後你需要做:
$ ldd libopengl32.so
輸出的結果應該和下面這個NVidia卡類似:
libx11drv.so => /usr/local/lib/libx11drv.so (0x4004a000)
libkernel32.so => /usr/local/lib/libkernel32.so (0x40099000)
libwine.so => /usr/local/lib/libwine.so (0x40113000)
libncurses.so.5 => /lib/libncurses.so.5 (0x40137000)
libm.so.6 => /lib/libm.so.6 (0x40177000)
libutil.so.1 => /lib/libutil.so.1 (0x40195000)
libdl.so.2 => /lib/libdl.so.2 (0x40198000)
libc.so.6 => /lib/libc.so.6 (0x4019b000)
libuser32.so => /usr/local/lib/libuser32.so (0x402aa000)
libgdi32.so => /usr/local/lib/libgdi32.so (0x4037b000)
libwine_tsx11.so => /usr/local/lib/libwine_tsx11.so (0x403e7000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x403f4000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x403fd000)
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40413000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x40421000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40458000)
ibX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40466000)
libntdll.so => /usr/local/lib/libntdll.so (0x40540000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x40637000)
libwine_unicode.so => /usr/local/lib/libwine_unicode.so (0x40842000)
最重要的libGL.so.1和libGLcore.so.1這兩行.確保它指向合適的NVidia libGL.so.1和libGLcore.so.1.為了檢查這個,進入它們的目錄(這個例子中是/usr/lib/)並且:
# ls -l libGL*
查詢像下面這樣的結果:
lrwxrwxrwx 1 root root 16 Mar 17 09:33 libGL.so -> libGL.so.1.0.769
lrwxrwxrwx 1 root root 16 Mar 17 09:33 libGL.so.1 -> libGL.so.1.0.769
-rwxr-xr-x 1 root root 218388 Mar 17 09:33 libGL.so.1.0.769
lrwxrwxrwx 1 root root 13 Mar 17 02:17 libGLU.so -> libGLU.so.1.3
lrwxrwxrwx 1 root root 13 Mar 17 02:16 libGLU.so.1 -> libGLU.so.1.3
-rw-r--r-- 1 root root 487348 Feb 21 21:13 libGLU.so.1.3
lrwxrwxrwx 1 root root 20 Mar 17 09:33 libGLcore.so.1 -> libGLcore.so.1.0.769
-rwxr-xr-x 1 root root 2075568 Mar 17 09:33 libGLcore.so.1.0.769
-rw-r--r-- 1 root root 26168 Feb 21 21:13 libGLw.a
注意libGL.so.1是libGL.so.1.0.769的符號連結,libGLcore.so.1(0.9-769的NVidia庫文件)的情況也類似這樣.如果是其它情況,可能就是Mesa導致的XFree86不能工作.去掉Mesa,重新運行ldconfig.
還有一種可能是你的庫的路徑沒有設置正確.如果是這樣,編輯/etc/ld.so.conf並加入你的libopengl32.so所在路徑)

----------------------------------------------------------------------

3.3 gamespy
從http://www.linuxgames.com/xqf/上得到XQF,它支持<<半條命>>.但是啟動<<半條命>>的方式讓我們覺得不舒服,所以我寫了一個可以良好工作的腳本.http://lhl.linuxgames.com/hl.將它放到你想放的地方,並且設置XQF可以使用它.你要修改我的hl文件內容,以確保路徑在你的系統上是正確的.同時需要用chmod a+x hl讓這個文件可以執行.你也可以加上我們先前討論的xgamma的內容.

----------------------------------------------------------------------

4 結語
所有的設置應該可以工作了.但是,請注意,這只是一個BETA版的HOWTO,如果你的不能運行,請到這兒看看:http://lhl.linuxgames.com.檢查IRC(#lhl on irc.openprojects.net),或者給我發e-mail,我試著幫助你(dhammerton@labyrinth.net.au)
(下面的內容我就不翻譯了,現在我好睏倦 -_- --譯者注)
Also, if you wanna be real cool, whenever you hop in a server, put the tag [TUX] or (linux) at the start or end of your name so
other LHL uses can identify you - I wear it at the start (crazney)! I (may1937) wear (linux) at the end so people don confuse
it with a clan as much... "Does linux wanna have a clan war?"... "Uh, no. Its not a clan."... "uh... ok. wtf?"... "I play in
linux."... "There isn a linux client?" OR "Whats linux?"... "No. I wish." OR /me gives a bullet to the dome-piece with my
phatty boombatty elites ; )





[火星人 ] 如何使用WINE運行已經有547次圍觀

http://coctec.com/docs/linux/show-post-67893.html