看到论坛里有朋友想要在linux下玩WoW,网上的文章都已经过时了,我找到了一篇文章,适合最新的0.9.43,而且有人维护,不断更新。而且国外的玩家在linux下用wine玩WoW也有一段“历史”了,技术成熟,可靠性较高,所以我运用学到的英语知识为大家翻译了这篇文章,希望能起到抛砖引玉的作用,在带给大家游戏快乐的同时,引导大家进入前途无量的linux世界。
不是英语专业人士,对电脑方面的专业词汇也是自学,纰漏难免,欢迎挑错。
原文是不断更新的,所以我的翻译也将会不时地更新,包括回帖说出现新的问题,我会到原文去看是否有新的解决方法。
原文网址:
http://www.wowwiki.com/Linux/Wine
前面还有一段安装wine的教程,我就不翻译了,需要的朋友可以搜索其它的帖子,不再赘述。
有关中文的字体设置,可以参考我的前一篇文章
viewtopic.php?t=70809
或者搜索其它的方法。
安装WoW
在安装之前运行下面的语句
代码: 全选
wine iexplore http://www.winehq.org
以下这部分内容写出了几种不同的WoW安装方法。如果第一种方法对你不适用,或者你更喜欢不同的方法,就可以跳到下一个方法。
方法一
幸运的话,你可以正常地使用CD来安装,这需要你能够在安装过程中更换CD。
把CD1放进光驱,输入下面的命令(更换/media/WoWDisc1到你实际挂载光盘的地方)
代码: 全选
wine /media/WoWDisc1/Installer.exe
如果一切能够正常运行,安装程序运行了一会后,就会要求你放进CD2。换CD后,安装程序继续运行到最后。如果安装程序不断地弹出Please insert Disc 2,请跳到方法二。
如果你在弹出CD的时候遇到问题,尝试一下方法:运行winecfg,切换到Drivers标签,点击auto detect drives,你就会看到一个盘符“L: /media/WoWDisc1/”(L可能会是其他字母)。用wine来eject光盘,然后按光驱上的按钮使光盘推出。对于第二张CD,还是用这个方法,这样CD的弹出就不会有什么问题了。(好像用wine不再能eject光盘了,那个好象是旧版本的功能,新版本没有了,注意)。
注意:有些系统会因为内存和WoW安装程序而出现问题。在一台装有Core2 Duo 6400和DDR2-800的电脑上,在BIOS里设置DDR2的频率为533可以让安装程序顺利地运行。很容易把这个问题(这个问题可能是把DDR2设置为800,不太清楚)跟光驱的问题搅混,因为安装程序会出现一个checksum error地错误提示。
方法二
在电脑的某个你喜欢的地方新建一个文件夹,把所有安装CD里面的文件都复制到这个文件夹里面,包括你写你认为没有用的。当提示是否覆盖原有文件时选择覆盖(在所有这些文件里面,会有一个每张CD都有的那个Installer.exe。复制完后,运行:
cd /安装文件复制到的地方/
代码: 全选
wine Installer.exe
方法三
你可以在Windows下安装完WoW,然后把整个的WoW的文件夹从Windows复制到linux下。这个会使WoW在wine的注册表里没有记录,但这个不会造成太大的问题。
方法四
这个方法是针对欧美用户的,我就不翻译了。不过你可以在WoW的中国官网上下载那个4.7G的完整安装文件,然后用Wine安装,我硬盘空间不足,就无法测试了,希望有条件的网友帮我测试一下,在回帖时把结果写出来。个人还是推荐使用方法三。
配置
注意:细心地跟着下面的介绍做,就可以得到最好的效果。
打开终端,输入regedit然后回车,这样会打开wine的与Windows下的相同的注册表编辑器,如果你熟悉Windows的注册表编辑器,那么下面的步骤就会变得很简单。
找到HKEY_CURRENT_USER\Software\Wine\
点击wine使他反色显示,右键点击wine,在出现的菜单里选择NEW-->Key
出现"New Key #1"后,重命名为OpenGL(注意大小写)
然后在右边窗口右击,NEW-->String Value
出现"New Value #1"后,重命名为DisabledExtensions(注意大小写)
双击DisabledExtensions,在出现的窗口输入GL_ARB_vertex_buffer_object
注意:如果你不能重命名"New Key #1",就拖拉注册表编辑器的窗口的中间的分解线使左边的窗口变大,然后就可以输入了。这是一个wine的bug。
这样你可以感受到明显的性能提升。
Config.wtf
WoW默认使用DirectX,但是对于大多数人来说并不能很好地运行。为了这个,就要改变WoW的配置使他运行在OpenGL模式下。你需要修改WoW安装目录下的Config.wtf。一般来说在
代码: 全选
/home/<username>/.wine/drive_c/Program\ Files/World\ of\ Warcraft/wtf/
代码: 全选
SET gxApi "opengl"
代码: 全选
SET ffxDeath "0"
SET ffxGlow "0"
如果你的声音不连续,音质差,甚至没有声音的各种情况,那就把下面的语句也加进去:
代码: 全选
SET SoundOutputSystem "1"
SET SoundBufferSize "150"
如果你的声音不连续,音质差,甚至没有声音的各种情况,那可以尝试一下winecfg里面的设置,打开winecfg后打开audio标签。对于多数人来说,OSS运行地比ALSA要好,你也可以尝试ALSA,但是记得每次只能有一个选项打钩。你也可以尝试选择Driver Emulation,如果不起作用就取消他。
运行游戏
用桌面快捷方式运行
如果你是在wine下运行安装程序进行的安装,那么安装程序就会在桌面创建一个快捷方式(根Windows一样),就双击他运行。
在终端运行
打开终端,输入
代码: 全选
wine "C:\Program Files\World of Warcraft\Launcher.exe"
DLL文件
如果你在运行安装或者游戏的时候遇到问题,你需要复制以下dll文件到你的
home/<username>/.wine/drive_c/windows/system32文件夹(username)是你的登录用户名。
调整声音的缓冲大小
如果遇到声音不连续的问题,就要提高或者下降声音的缓冲大小,在config.wtf文件里的SoundBufferSize处调整,在50到250内任何数值都可以解决你的问题。记住太高的缓冲会引起声音的同步问题。
改变视频选项时崩溃
如果在尝试改变运行在opengl模式下WoW的显示设定(分辨率,Vertex Shaders,Pixel Shaders等)时,WoW可能会崩溃,最容易解决问题的方法就是下载下面的mod,我已经上传为附件了。
下载地址是
http://www.wowinterface.com/downloads/f ... hp?id=5202
解压后,把整个文件夹复制到WoW主目录下的/Interface/AddOns/,然后在选择人物的画面时,选择启用AddOns。你可能需要在某些选项上提钩(可能会说你使用过时的AddOns),这样才能使AddOns工作。
ATI用户在进入游戏世界时崩溃
对于ATI显示卡的用户来说,当进入游戏里的某个区域时,有些使用flgrx驱动的显卡在opengl模式下渲染游戏和视频时会出现问题,导致系统锁死。这个问题会出现在选择和创建角色之后,或者是加载游戏环境的时候,或者是在玩了一小段时间之后。为了解决这个问题,把下面的语句添加到xorg.conf的ATI device section下:
代码: 全选
Option "Capabilities" "0x00000800"
Option "UseFastTLS" "off"
Option "KernelModuleParm" "locked-userpages=0"
/etc/X11/xorg.conf
在编辑完之后,看起来应该跟这个差不多。
代码: 全选
Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "Capabilities" "0x00000800"
Option "UseFastTLS" "off"
Option "KernelModuleParm" "locked-userpages=0"
EndSection
如果你的游戏面板的图标损坏,在Config.wtf里设置SET UIFaster的参数:
代码: 全选
Set UIFaster "x"
代码: 全选
0 – This turns off all UI acceleration
1 – For Internal Use Only - DO NOT USE!
2 – Enables partial UI acceleration only.
3 – Enables all UI acceleration.
代码: 全选
Set UIFaster "2"
从室内到室外时崩溃
如果你的角色在室外和室内切换时WoW崩溃,即使是在打了上面的补丁的情况下,进入到winecfg的graphics标签,去掉选择Enable desktop double buffering。(Enable desktop double buffering也是wine的旧版本的功能,0.9.28以后就没有了,但是wine的网站说是否Enable desktop double buffering都对性能没有多大影响,注意)。
Error #134, "Unable to associate local address with socket..."
载终端输入
代码: 全选
ifconfig lo up
代码: 全选
sudo ifconfig lo up
编辑/etc/X11/xorg.conf,把下面的语句添加到显卡的“Device” Section:
代码: 全选
Option “UseFastTLS” "2"
下面还有很多的故障解决方法,我就不一一翻译了,看情况有人跟帖说出现有关问题,我再翻译。
还有一些其它的Tips,感兴趣的朋友可以到原文网址去看看,可能我会翻译。