QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6044|回复: 18

利用WineX玩MS-Windows游戏简单谈&所遇

[复制链接]
发表于 2003-2-22 00:24:42 | 显示全部楼层 |阅读模式
利用WineX玩MS-Windows游戏简单谈&所遇到的问题

首先,我必须声明只是应用程序使用者,尚不具有修改源代码的能力。
不久前,我才知道原来WineX是可以不用Wine就可以独立运行的。还必须感谢《TansGaming WineX初学者指南》这篇偶然找到的HOWTO。
  下面说说我是如何安装和使用WineX玩MS-Windows游戏的。
1、首先你要到下面所列地址先下载WineX这个程序,
  URL: http://students.ist.psu.edu/~snw116/WineX-2.2-1.i386.rpm
       http://www.thommo.org/WineX-2.2.1-1.i386.rpm
       http://plastic.modem.ru/winex/winex-2.2-1.i386.rpm
       http://www.cllc.net/Shoulin/WineX-2.2.1-1.i386.rpm
  目前最新的版本是3.0了,我们这里用的是2.2版。
2、安装,
   载的是.rpm包,所以在X里是可以直接双击来安装的,当然,也可以用老办法:
   进入你刚才下载的WineX所在的目录,然后,
   #rpm -ivh WineX-2.2.1-1.i386.rpm 回车就可以了。
   其它的安装方法可以参考我贴的HOWTO。
3、关于配.config
   很多人喜欢C盘所在的目录,我的建议是:还是不要修改里面的代码,尤其是默认的“C盘”已经很好了,如里你执意要修改的话,你可以参考我贴的HOWTO。
4、运行你的游戏
  首先挂上你的光驱:#mount -t /dev/cdorm /mnt/cdrom
  进入光驱的映像:#cd /mnt/cdrom
  安装游戏(一定要在终端里执行!)#winex setup.exe(setup.exe也可能是其它名称)。这时WineX会自动安装游戏。值得注意的是,如果你的游戏所在的目录或者安装程序是以中文命名的,由于终端不支持中文输入的原因,你必须把游戏安装程序cp到硬盘,把它rename成E文,然后进入目录,#winex ****.exe。
  这时,有些游戏会在桌面上创建快捷方式,双击它就可以玩了,有些则没有,这时你只要在终端里进入主目录(或者C盘指定目录)
  #cd TansGaming_Drive/游戏目录
  #winex 主游戏程序.exe
5、注意事项:有些游戏会是中文的安装目录,在Windows中无大碍,但在Linux下是致命的,它有可能使你的游戏运行不起来!所以在安装时一定要rename。还有一个不得不说的问题:安装目录尽量不要有奇怪的字符,我在安装WC3时曾使用默认目录名Warcraft III Chinese,安装完没有桌面图标,要#winex War3.exe时在终端下竟无法进入这个目录,rename就可以了
  最后是我使用中出现的问题:1.我使用17英寸显示器,在游戏设成10274*748时gnome的桌面任务条会盖住部份画面,在KDE里可以,但KDE里运行游戏没有声音,gnome就有,我用的是alc201a声卡,安装时系统自带驱动。



TransGaming WineX 初学者指南- 2002年5月27日
=================================================

此指南提供了如何使用TransGaming's WineX 来在Linux上运行你喜欢的游戏的一个简要介绍 . 如果你有如何使用WineX的任何问题, 或其它的支持问题, 请使用TransGaming's网上支持系统,网址为http://www.transgaming.com(注:只对商业用户的)

===================
系统需求
===================

操作系统
----------------
核心需求为:
- Linux 内核 2.2 或更高
- XFree86 4.0 或更高 (推荐使用4.1以后的)
- glibc 2.1.3 或更高
- 支持OpenGL硬件加速的显卡

CPU 类型和速度
------------------
推荐的最小硬件为
- 500 MHz 或更快的Pentium或Athlon CPU(注:原文如此)
- 64MB内存; 推荐使用128 MB或更多
- 1-2 GB空闲磁盘空间
- Linux 支持的3D图形卡,需要16M的显存
推荐使用Nvidia GeForce系列.

===================================
为WineX配置你的计算机
===================================

确认你的显卡可以使用3D加速
----------------------------------------------------------

如果你使用NVidia 的显卡, 请确认你的系统已经安装了http://www.nvidia.com上的最新驱动,并且OpenGL 工作正常.

为注册你的图形卡的OpenGL支持,执行如下命令:

$ glxinfo |less

输出信息中有一行 "direct rendering:"

假如这个是 'Yes' 或 'Enabled' ,那么OpenGL很可能设置正确了. 假如这个是 'no' 或 'disabled' ,那么仔细的检查你的3D设置.

你或许也想进行一个性能测试. 执行如下命令来运行一个简单的测试,这个命令包括在大多数流行的Linux发行版中:

$ glxgears

glxgears 程序将在命令行显示出FPS (帧/秒) . 在WineX所要求的最小系统上大多数3D加速卡应该达到500FPS(注:我的机器大概是1300,运行WCIII很流畅)

最后, 在某些情形下可能在你的系统中安装有多重OpenGL库. 假如你的WineX有什么问题,你可以检查你的系统是否是这种情形. 你只需要简单的执行:

$ locate libGL

这个将会显示在你的系统上的所有opengl库. 特别的, 你应该小心在/usr/lib和/usr/X11R6/lib的libGL. 有些时候, 软加速Mesa OpenGL库安装在/usr/X11R6/lib而硬件加速的驱动安装在别处. 我们不推荐从/usr/X11R6/lib中移除Mesa库,除非你在WineX下运行的游戏看起来的太慢.

检查你的CD设备和安装点权限
------------------------------------------------------

许多Windows游戏使用了防自制系统,这将会要求WineX对你的CD-ROM设备有“读”权限,同时需要有对CD-ROM安装点的'读'和 '执行' 权限. 检查你的CD-ROM设备和安装点以保证WineX有合适的权限. 也要确认接着的符号链接并改变链接设备的权限.(注:这句不太懂)

假如你不知道你的系统上使用那个设备和安装点, 你可以阅读/etc/fstab文件来获得更多信息,使用如下命令:

$ less /etc/fstab

要改变你CD-ROM设备和安装点的权限, 以root用户执行如下命令:

# chmod a+r [CD-ROM 设备]
# chmod a+rx [CD-ROM 安装点]

在一些境况下, 你可能需要编辑/etc/fstab文件以保证所有用户有对CD-ROM安装点的权限.

为了一个使用多光盘安装的游戏,强烈推荐使用 'SuperMount' 系统. SuperMount 将允许你弹出和插入CD而不用手动的重安装. 一些Mandrake 系统默认已经安装了SuperMount系统, 其它的系统可能需要额外的配置才能有效. 如果要获得更多有关使用SuperMount的信息, 请查看以下的一些网址:

http://hints.linuxfromscratch.org/hints/supermount.txt
http://homepage.ntlworld.com/alex.b...ake-faq.html#4f
http://www.geocities.com/SiliconVal...supermount.html

检查你的XF86Config-4文件
----------------------------

游戏常常会改变你的屏幕分辨率以使用他们需要的合适的分辨率.确认在你的XF86Config-4文件的'Screen'段有许多的分辨率。 通用的分辨率有: 1600X1200 1280X1024 1024X768
800X600 640X480.假如游戏不能以全屏模式运行,检查游戏的设置,看一下尝试使用那个分辨率并确认那个分辨率在XF86Config-4文件的列表中.

注意: 把X设置为16位色深可能会在一些游戏运行时提高性能.

禁用声音服务
---------------------

许多Linux桌面系统,比如KDE 和 Gnome,运行如'ARTS' 或 'esd'这样的声音服务. 这些声音服务可能导致声音问题,因为WineX 会保持对声音设备的独占访问. 假如你有声音问题,确认你禁用了所有声音服务或其它可能使用声音的程序,比如'xmms'.

检查空闲空间限制
----------------------------

某些系统可会对/home目录设置磁盘配额. 这个限制可能导致WineX报告不正确的可用空闲空间.当可用空闲空间报告不正确时或你系统上可用空闲空间不足时,你可能会在安装游戏时经历一些问题. 假如你在安装游戏的时候得到了硬盘空间不足的错误信息, 禁用配额,或建立一个到更多空闲空间的符号链接.

=====================
如何安装WineX:
=====================

WineX有多种可用的预编译二进制包,以适合你的Linux发行版. 请注意TransGaming不对从源码编译的包提供技术支持.

首先选择对你合适的包:

rpm - RedHat Package Management (RedHat Linux, Mandrake Linux, 等)

要安装 WineX 的rpm包,打开控制台/终端窗口并以root用户执行如下命令:

# rpm -ivh WineX-[version].rpm

deb - Debian Package (Debian GNU/Linux, Corel/Xandros Linux, Lindows, 等)

要安装WineX deb包,打开控制台/终端窗口并以root用户执行如下命令:

# dpkg -i winex_[version].deb

tgz - Tar GZipped Package (Slackware Linux, 等)

要安装WineX tgz 包,打开控制台/终端窗口并以root用户执行如下命令:

# cd /
# tar -xvzf winex-[version].tgz


=============================
使用WineX安装游戏
=============================

要使用WineX安装游戏, 打开控制台/终端窗口, 并按以下过程安装:

1) 插入并安装你的光驱设备.

在下面的例子中我们将指派CD-ROM的安装点为/mnt/cdrom; 你的设置可能不一样,依赖于你的Linux发行版. 光驱的安装点可以/etc/fstab文件中找到.

2) 一旦光盘已经被挂载上,检查光盘的目录.

$ ls /mnt/cdrom

大多数安装程序命令为'setup.exe'或'install.exe'.假如没有, 你可能需要定位安装执行程序; 它常常在游戏的文档中有列出, 或者你需要TransGaming网站上的游戏信息页。

3) 当你定位了正确的安装执行程序, 使用如下命令安装游戏:

$ winex /mnt/cdrom/setup.exe

然后, 按照你安装的游戏的指导进行安装.在某些安装程序上,你可能会在复制期间经历错误. 这些一般没有事儿的. 如要最好结果,到TransGaming网站上检查游戏信息页.

==========================
使用WineX运行游戏
==========================

一旦游戏已经安装,有三种方法可以开始运行它.

使用桌面图标:
-----------------------

某些(但不是全部)游戏会在安装期间在桌面上建立桌面图标. 要开始游戏,简单的使用单击或双击(依赖于你使用的系统)打开这个图标就可以了.

假如你想给WineX或游戏传递特殊的参数,你可以简单的编辑桌面的快捷方式.

使用开始菜单:
---------------------

某些游戏,在某些Linux发行版上会在你桌面的开始菜单加入一个链接.简单的点击开始菜单,到WineX -> Programs,然后游戏名称并选择游戏图标来运行它.

同样的, 假如你想给WineX或游戏传递特殊的参数,你可以简单的编辑菜单项目快捷方式.

使用命令行:
=======================

打开一个控制台/终端窗口,然后改变到游戏的目录,使用如下命令:

$ cd ~/TransGaming_Drive/Program Files/[游戏目录]
$ winex [wine选项] game.exe [游戏选项]

使用命令行可以给WineX和游戏都加上参数.

WineX的参数有:

-winver 指定WineX报告的Window版本:
win95, win98, winme, nt351, nt40, win2k, winxp, win20, win30, win31
默认设置为win98.

-debugmsg 显示错误信息/输出:
+all, -all, +relay, +dsound, +err 是最常用的选项
-all 是默认选项, 会禁止显示任何错误

-workdir 指定WineX的工作目录. 默认是当前目录

-version 报告你使用的WineX的版本号
(注:例如winex –winver winxp –debugmsg +all war3.exe)
单独游戏的选项通常可以在游戏的'README'文件中找到.


=================
配置WineX
=================

WineX的配置选项在你的主目录下的'.transgaming'目录.主要的配置文件是'.transgaming/config'. 这是个ASCII文本文件.第一次运行WineX的时候,'.transgaming'目录会以默认的预配置状态自动建立. 默认的预配置状态是从/usr/lib/transgaming/.transgaming目录中复制过来的.

如果你需要自己定制配置(默认设置不能满足),当'~/.transgaming/config'文件建立后,你可以用你喜欢的文件编辑器打开它并编辑它.

Drives段
--------------

此段定义了WineX将要使用的驱动器. 如果需要可以在这儿指定新的驱动器.所有你系统连接的CD-ROM驱动器WineX将会在运行期间自动检测到,同时新的盘符也可动态的分配给它们. 你不需要手动的加入CD-ROM驱动器,除非有严重的配置问题.

此段的格式如下:
[Drive Letter] - 盘符, 例如: c, d, e, z
Path = location – 此驱动器的根目录.
Type = type - 指定驱动器类型;支持的类型有: floppy,hd,cdrom和network
Label = xxx - 驱动器卷标, 最多11个字符
Serial = xxx - 驱动器序号, 最多8个十六进制字符
Filessystem=xxx - 文件系统类型,支持的文件系统有: dos,fat,win95,vfat和unix
Device=/dev/xxx - 如果需要原始访问可以指定一个特殊的设备(注:主要是软驱和光驱).

DLL段
-----------

这个段指定WineX所用的DLLs. 语法如下:
"dllname" = "builtin, native" 或
"dllname" = "native, builtin"

顺序指定了那个先使用. 如果builtin在前的话,将会使用WineX内建dll,如果native在前的话WineX将会使用本地Windows dll(如果它在配置的系统目录的话).有时候,使用本地Windows可能会提高某些程序的兼容性.

一般情况下, 你很少需要编辑这个段,或从不需要.

x11drv段
--------------

这个段包括了在WineX和X服务间的交互. 一些最常用的选项是:

"Managed" = "Y"
这个选项更改WineX窗口是否是管理窗口.默认值为Y. 管理窗口是使用窗口管理器而不用 WineX.

"Desktop" = "800X600"
这个选项允许你使用指定大小的窗口运行WineX.这一行默认是注释掉的,从而允许游戏为每个打开的窗口建立最高级别的X窗口.

"DXGrab" = "Y"
这个选项打开鼠标捕获的开/关.默认值是开.当鼠标捕获开的时候,应用程序可以锁定鼠标光标在窗口内,典型的用于当应用程序要从你的系统接管全屏的时候.(注:这段翻译的不清楚,请原谅,简单的说,就是打开比较好)

"XVidMode" = "Y"
这个选项允许应用程序重新调整你的显示分辨率.默认的是开,允许应用程序切换在XF86Config文件的列表中有的分辨率.


==============================================
在用户之间共享.transgaming目录
==============================================

为使你的计算机上的所有用户可以使用.transgaming目录,你将需要建立一个'transgaming'组并分配所用要使用共享目录的用户到这个组.

以root身份,运行如下描述的命令:

复制一个干净的.transgaming目录到共享位置.

# cp -R /usr/lib/transgaming/.transgaming /共享位置

改变这个文件夹的所有权为transgaming组.

# chgrp -R transgaming .transgaming
# chgrp -R g+srwx .transgaming

备份原始的.transgaming目录

# mv -R /usr/lib/transgaming/.transgaming /usr/lib/transgaming/.transgaming.backup

建立一个逻辑链接到新的.transgaming目录.

# ln -s /共享位置/.transgaming /usr/lib/transgaming/.transgaming

编辑/usr/bin/winex脚本到新的链接.以你喜欢的文件编辑器打开/usr/bin/winex并找到下面一行:

cp -r $INSTALLDIR/.transgaming $HOME

更改为

cp -r -H $INSTALLDIR/.transgaming $HOME

请注意假如你的共享.transgaming被破坏并需要删除的话,你可以删除它(这将导致所有已安装游戏丢失),然后复制备份的.transgaming到共享位置,用以下命令:

# cp -R /usr/lib/transgaming/.transgaming.backup /共享位置/.transgaming

======================================
为每个不同的游戏配置WineX
======================================

你可能希望在你安装的每个游戏上有不同的WineX设置.编辑WineX的配置文件~/.transgaming/config可以很简单的做到这点,

为每个游戏加入设置,可以用你喜欢的文本编辑器打开这个文件,然后移动到文件的最后.在文件的结尾加入这样的行:

[AppDefaultsEXECUTABLE.EXESECTION]
AppDefaults 设置应用程序的默认设置(注:固定的,无需更改)
Executable.exe 游戏开始所运行的EXE文件
SECTION 你希望修改设置的段.比如11drv, fonts, Drive name/locations.

例如, Max Payne 的游戏执行文件为 'Max Payne.exe',假如你希望Max Payne有定制的设置你需要输入如下内容:

[AppDefautlsMax Payne.exex11drv]
"Desktop" = "1024X768"
"DXGrab" = "N"

这将强迫Max Payne以1024X768桌面窗口运行,同时鼠标捕获特性被禁用.

------------------------------------------------------------------------------
此文档版权所有为Copyright(c) 2002, TransGaming Technologies Inc.
只允许非商业性的再发布.

翻译的不好,请原谅。其中的注是我加的。
发表于 2003-2-22 01:11:14 | 显示全部楼层
呵呵,这篇中文howto正是本版版主sejishikong的杰作!
回复

使用道具 举报

发表于 2003-2-22 02:20:25 | 显示全部楼层
你的是意思是。。。
回复

使用道具 举报

 楼主| 发表于 2003-2-22 12:49:34 | 显示全部楼层
我的问题怎么解决?
回复

使用道具 举报

发表于 2003-2-22 13:15:21 | 显示全部楼层
关于声音部分,这个指南里已经写了,最好用OSS,也就是把所有的声音服务都停了。

至于GNOME的任务条,不是太清楚,因为我只用KDE。

另外,最新的仍然是2.2,3.0还没出呢。
回复

使用道具 举报

发表于 2003-2-22 21:35:39 | 显示全部楼层
有谁能用它玩局域网游戏,我的没有协议选择。
回复

使用道具 举报

发表于 2003-3-6 10:46:52 | 显示全部楼层
可以输入中文吗?有没有补丁?src.rpm有吗?在哪里?
回复

使用道具 举报

发表于 2003-3-6 15:31:12 | 显示全部楼层
winex是商业软件,只能从CVS获得源码,但CVS和发行的二进制包不是完全一致,所以输入法补丁是没有的,况且它主要是为了游戏做的。
回复

使用道具 举报

发表于 2003-3-6 15:57:25 | 显示全部楼层
对呀,但是游戏里要聊天怎么办……
有人成功运行CVS版的WineX吗?
回复

使用道具 举报

发表于 2003-3-7 18:07:50 | 显示全部楼层
怎么设置openGL啊,我的现在设置是NO
回复

使用道具 举报

发表于 2003-3-9 09:31:57 | 显示全部楼层
挺好的,能用就行
回复

使用道具 举报

 楼主| 发表于 2003-3-9 15:23:14 | 显示全部楼层
Winex好象只是基于D3D技术,openGL方面我也不太清楚啊
回复

使用道具 举报

发表于 2003-3-13 10:51:18 | 显示全部楼层
Linux 只支持 OpenGL,WineX 和 wine 对 DirectX 的支持都是通过将 DirectX 代码转换成 OpenGL 代码实现的。

至于 OpenGL,跨平台的东西,不用转化,直接就可以在 Linux 上用啦 :D
-----------------
至于 Quake3(win32 版本), DPlayer 类 OpenGL 程序仍然无法在 Linux 上直接运行,是因为二进制格式不一样,Win32 是 PE 格式,Linux 一般都是 ELF 格式,且创建窗口之类的函数在 linux 与 win32 上是不一样的。。。
回复

使用道具 举报

 楼主| 发表于 2003-3-30 17:21:19 | 显示全部楼层
不用设吧,我的就没有设
回复

使用道具 举报

发表于 2003-6-14 02:16:42 | 显示全部楼层
请问一下,打星际很慢应该怎么办?
谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-20 13:26 , Processed in 0.073017 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表