更新opengl的设置,优化系统性能,见文章末尾红字部分]
本文章针对ubuntu 7.04 和wine-0.9.43(可能会随着7.10和wine的新版本的发布进行更新)
确保你的显卡已经安装合适的驱动,并且开启3D支持,也就是opengl的支持。
我不推荐在xgl或者是compiz fusion的环境下运行游戏,可能会导致系统性能的急剧下降,游戏不顺畅。
不推荐使用窗口模式,如果你在使用窗口模式的时候,把鼠标移开窗口,再回来时可能找不到鼠标。
转贴于http://forum.ubuntu.org.cn/post-406118.html&sid=c6150c2d1309847b3fb30f3e7ffbcb4e

1、安装wine-0.9.43     //参见 http://www.winehq.org/site/download-deb是英文网站,耐心看能看懂
编译安装wine-0.9.43
要顺利的完成编译,你需要安装下面的包:
fakeroot
libglib1.2-dev
libglib2.0-dev
libltdl3-dev
libmad0-dev
libmng-dev
libodbcinstq1c2
libogg-dev
libpng12-dev
libqt3-headers
libqt3-mt-dev
libvorbis-dev
libxft-dev
libxi-dev
libxinerama-dev
libxmu-dev
libxmu-headers
libxmuu-dev
libxpm-dev
libxtrap-dev
libxtst-dev
libxv-dev
libxxf86dga-dev
qt3-dev-tools
render-dev
unixodbc-dev
x-dev
x11proto-record-dev
x11proto-trap-dev
x11proto-video-dev
x11proto-xf86dga-dev
xlibs-dev
flex
bison
fontforge
你可以使用信立得软件包管理器安装,也可以使用apt-get install命令安装,具体方法可以自己搜索。

2、配置wine
打开终端,输入winecfg,

(1)选择application标签,在下面的windows下拉列表里选择win2000或winxp。
(否则会检测不到原版CD。除非你用免CD补丁,没经过测试)

(2)选择Drivers标签,
点击Add,会出现一个新的盘符,一般情况下会出现D:。选择D:,点击下面的Show Advanced
在type这里选择CD-ROM,然后在Path这里输入/media/cdrom0。
如果/media/cdrom0不存在,就在终端下输入sudo mkdir /media/cdrom0

(3)选择Audio标签,在下面选择OSS(较好,但不绝对),或者Alsa,由于目前wine的声音做得还不是很完善,选择什么并不要紧。因为每个人 用的声卡都不一样,到时候运行游戏的时候,可以一个个试,选择最合适的。在Hardware Acceleration处选择full,在下面的Default Sample选择44100(较好),旁边的选择16。

打开终端,输入regedit

(1)根据以下的设置注册表:

显示设置
REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"DirectDrawRenderer"="opengl"
"OffscreenRenderingMode"="fbo"
"PixelShaderMode"="disabled"
"RenderTargetLockMode"="readtex"
"UseGLSL"="enabled"
"VideoMemorySize"="128"(这个根据你的显卡的显存调整)



REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideAntiAliasWithCore"="N"
"ClientSideAntiAliasWithRender"="N"
"ClientSideWithRender"="N"
"DXGrab"="Y"
"ScreenDepth"="32"(wine程序的色深,也可以设置成16,取决你的显卡能力)
"UseXRandR"="N"
"UseXVidMode"="Y"


字体设置
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Arial"="simsun"
"Arial CE,238"="simsun"
"Arial CYR,204"="simsun"
"Arial Greek,161"="simsun"
"Arial TUR,162"="simsun"
"Courier New"="simsun"
"Courier New CE,238"="simsun"
"Courier New CYR,204"="simsun"
"Courier New Greek,161"="simsun"
"Courier New TUR,162"="simsun"
"FixedSys"="simsun"
"Helv"="simsun"
"Helvetica"="simsun"
"MS Sans Serif"="simsun"
"MS Shell Dlg"="simsun"
"MS Shell Dlg 2"="simsun"
"System"="simsun"
"Tahoma"="simsun"
"Times"="simsun"
"Times New Roman CE,238"="simsun"
"Times New Roman CYR,204"="simsun"
"Times New Roman Greek,161"="simsun"
"Times New Roman TUR,162"="simsun"
"Tms Rmn"="simsun"

最后把simsun.ttc复制到/home/user/.wine/drive_c/windows/fonts里面(user是你的用户名)。这个字体设置是最重要的,进行这个设置后,可以完美支持一切的中文显示(包括其他windows程序,如CS系列)。
这些设置是从cedega里“学”来的。

说明:由于7.04安装后,会把ATA的硬盘认成是SATA的硬盘,如hda会变成sda,hdc(光驱)会变成送scd0。而且当你放进光盘后,ubuntu会帮你自动挂载,挂载点一般是/media/光盘名。
wine不能自动识别光盘的挂载点,所以即使安装了需要CD运行的游戏,也会说是没有CD。
按照上面的设置,
当你放进魔兽3的CD后,ubuntu会帮你自动挂载,因为我们不需要,按照下面挂载步骤:

sudo umount /dev/scd0 (这个是对于ubuntu把hdc认成送scd0的,如果不是,用hdc替换scd0)
sudo mount /dev/scd0 /media/cdrom0
安装游戏时记得一定要进行这个设置,而且以后每次运行魔兽之前,放进光盘之后都要进行这个设置。
如果想找一劳永逸的办法,google一下。(其实我不懂)

3、安装游戏
按照在windows下一样的步骤进行安装,先是混乱之治,然后是资料篇冰封王座
放进混乱之治光盘,进行上面的挂载步骤,然后:
cd /media/cdrom0
wine install.exe
安装完后可以建立桌面快捷方式,不要运行。
接下来安装冰封王座,记得进行挂载步骤。
安装完后也不要运行。

4、配置游戏
打开regedit,找到HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III,选择 Warcraft III,在右边点击右键建立一个DWORD值,名字是Gfx OpenGL,
Value data设置为1。这样就是使用opengl来进行加速,否则用d3d会很慢。

进入/home/user/.wine/drive_c/Program Files/Warcraft III,把Movies文件夹改名,
比如改成_Movies,预防有些人的电脑在游戏启动时卡在开始的黑屏。
其实这是放开头动画的,剧情的过场动画不会消失。

5、运行游戏
可以双击程序自己创建的桌面快捷方式运行,也可以在终端运行。
终端 wine "C:\Program Files\Warcraft III\Frozen Throne.exe"

如果你是64位的操作系统,进入魔兽的安装目录,用下面的命令运行
setarch i386 -X wine "Warcraft III.exe"

另外,有正版序列号的支持者帮我测试一下在线升级。
也顺便测试一下局域网游戏。

参考资料:
http://appdb.winehq.org/appview.php?iVersionId=3126
http://wiki.winehq.org/UsefulRegistryKeys

本人机器配置:
CD 325 2.53G
1G DDR400
Geforce FX5200
10G 希捷 5400转
声卡SiS7012

可以流畅运行,但本人不太会玩,大场面,长时间的游戏稳定性测试还要靠大家。

时间仓促,难免疏漏,欢迎挑错。

[更新1]
打开注册表(终端regedit)
找到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
重新启动游戏测试一下,对低配电脑效果显著。