分享
 
 
 

如何使用WINE运行半条命

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

如何使用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运行<<半条命>>

译者注释

这篇文档介绍了如何在 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 ; )

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有