Linux下wine国服LOL英雄联盟,完美运行!!

Wine、Cedega、CrossOver 等配置
zhtengw
帖子: 41
注册时间: 2013-03-21 11:24
系统: Slackware + Gentoo
送出感谢: 0
接收感谢: 6 次

Linux下wine国服LOL英雄联盟,完美运行!!

#1

帖子 zhtengw » 2013-03-22 9:20

不知现在还有没有人对LOL感兴趣,仅作分享,原帖地址: http://www.linuxdeepin.com/forum/24/11754
原帖较常更新,这里不一定跟上步伐,建议首看原帖!!


Linux下玩国服LOL,国服哦。
网络上随处都可以搜到wine美服LOL的教程,但腾讯运营的国服客户端跟美服原版相差比较大,按照美服的方式不能搞起国服LOL,由于宿舍文化,这几天我专注于wine一个国服LOL,对照winehq网站上的LOL相关的bug列表和美服的配置方法,试了各种patch,最后得到了满意的结果。
大家来看!!

OS: Fedora 19
Arch: x86
CPU: Intel(R) Core(TM)2 Duo CPU T5870 @2.00GHz
VideoCard: Nvidia GForce G105M
Memory: 4G

需要
打过补丁的wine、LOL国服完整安装包、winetricks、反TP补丁

(以前的教程是需要打两个补丁的,LOL更新到3.0.9.x以后,使用打了第一个补丁的wine会经常出现“因为未知原因,无法登陆”的错误,而对于1.5.29之前的wine,若不打这第一个补丁,又肯定会崩溃,所以我以下使用最新的开发版wine。)
我使用的wine版本是1.6-rc2,这里需要加上补丁重新编译,补丁主要解决以下问题:
1、游戏中点击商店崩溃。 下面详细讲一下操作过程。

一、给wine打补丁,并编译
首先咱们编译wine,(如果您觉得编译太麻烦,可以直接用我编译好的wine,看帖子最底下,不过,自己编译的应该还是比较适合自己的系统)
对于64位的ubuntu系统,编译wine实在太麻烦,本人没用过ubuntu,不敢做过多讲解,有朋友在折腾后给出了详细的教程,见http://forum.ubuntu.org.cn/viewtopic.php?f=121&t=443064,感谢243750496朋友。
先下载wine的源码,解压出来

代码: 全选

tar xvf wine-1.6-rc2.tar.bz2
下载上面的补丁,给源码打上

代码: 全选

patch -p0 < 0001-HACK-Disallow-block-based-textures-with-sub-block-si-1.6-rc2.txt
接着咱们来编译

代码: 全选

cd wine-1.6-rc2
./configure
为避免影响系统安装的wine,可以指定新的prefix

代码: 全选

./configure --prefix=/opt/lol-wine
make depend
make
sudo make install
二、配置wine环境
接着,到http://winetricks.org/winetricks 下载最新的winetricks(如果网页打开的是winetricks的源代码,可以右键点击另存为),当然,发行版有提供也行啦,只不过发行版上提供的可能会比较老,下载一些DLL时会有404错误。
把下载的winetricks放到/usr/bin下,并加上可执行权限。

代码: 全选

chmod +x winetricks
sudo cp -a winetricks /usr/bin/winetricks
配置wine,这里我是定义另一个WINEPREFIX,以跟本机上原来的wine配置分开,
我们先执行

代码: 全选

export WINEVERPATH=/opt/lol-wine
export PATH=$WINEVERPATH/bin:$PATH
export WINESERVER="$WINEVERPATH/bin/wineserver"
export WINELOADER="$WINEVERPATH/bin/wine"
export WINEDLLPATH="WINEVERPATH/lib/wine/fakedlls"
export LD_LIBRARY_PATH="$WINEVERPATH/lib:$LD_LIBRARY_PATH"
接着再来

代码: 全选

mkdir ~/LOL
WINEPREFIX=~/LOL/.wine WINEARCH=win32 $WINEVERPATH/bin/winecfg 
# WINEARCH=win32是设定wine为32位的,使用32位的Windows软件,这在64位Linux系统是必须的,然后设定Windows版本为xp。

代码: 全选

WINEPREFIX=~/LOL/.wine winetricks vcrun2005 corefonts d3dx9 wininet dotnet20 dotnet35 ie6 win7 adobeair glsl-disable mfc42 
# 用winetricks安装一些Windows组件,执行的时候请务必关注终端的提示信息;注意,在安装.Net framework 3.5的时候,进度条可能会在满格时卡住,没关系,kill掉wine和winetricks的进程后重新执行此命令就行了。

然后,我们再执行一下

代码: 全选

WINEPREFIX=~/LOL/.wine WINEARCH=win32 $WINEVERPATH/bin/winecfg
,确保此时Windows版本是Windows 7。

三、安装LOL
好,接下来安装LOL,大家自行到官网去下载安装包,我用的是从17173上下的完整安装包:

代码: 全选

WINEPREFIX=~/LOL/.wine $WINEVERPATH/bin/wine 17173_LOL_V3.0.7.9_FULL.exe
注意,如果出现“不能打开要写入的文件”的错误,请确认自己执行winetricks的时候成功安装了dotnet20和dotnet35。


四、应用反TP补丁(重要!)
安装完成以后,找到游戏目录下的Game/League of Legends.exe,备份好后用反TP补丁替换,反TP补丁主要是解决选好英雄后进入游戏时崩溃,反TP补丁见
帖子下方。
注意,每次更新LOL后都要检查一下League of Legends.exe文件有没有变化,如果没变,咱就继续L吧,如果有,去看一下反TP补丁有没有更新!!

五、运行游戏
运行游戏时,切换到游戏目录下的TCLS/目录,执行

代码: 全选

WINEPREFIX=~/LOL/.wine $WINEVERPATH/bin/wine Client.exe
我们可以自建一个desktop文件,这里假设您wine是安装到/opt/lol-wine,

代码: 全选

[Desktop Entry]
Name=League of Legends
Name[zh_CN]=英雄联盟
Exec=env WINEVERPATH=/opt/lol-wine PATH=$WINEVERPATH/bin:$PATH WINESERVER="$WINEVERPATH/bin/wineserver" WINELOADER="$WINEVERPATH/bin/wine" WINEDLLPATH="WINEVERPATH/lib/wine/fakedlls" LD_LIBRARY_PATH="$WINEVERPATH/lib:$LD_LIBRARY_PATH" WINEARCH=win32  WINEPREFIX=$HOME/LOL/.wine $WINEVERPATH/bin/wine $HOME/documents/LOL/英雄联盟/TCLS/Client.exe
Type=Application
StartupNotify=true
Icon=lol
WINEVERPATH=/opt/lol-wine请根据自己的wine安装目录修改,且务必将“$HOME/documents/LOL/英雄联盟/TCLS/Client.exe”改成您自己的Client.exe的路径。然后将内容保存为“英雄联盟.desktop”放到桌面上。再将这个图标下载下来,放到~/.local/share/icons/hicolor/64x64/apps/
lol.png
lol.png (7.12 KiB) 查看 28124 次
然后,双击桌面的英雄联盟就可以开始游戏啦。


好,接下来就好好享受LOL之旅吧!!

图片
图片
图片
图片
图片
图片

反tp补丁下载:
3.0.9.4版本:League of Legends.exe(版本号3.8.1.228)

预编译lol-wine下载:
有朋友反映说编译麻烦,我这里将我编译好的包发上来,分32位和64位,是分别在Fedora 19 x86和Gentoo amd64编译的,大家试着用一下吧,如果有问题,再发帖讨论。

lol-wine_32bit.tar.bz2
lol-wine_64bit.tar.bz2

如果您希望跟帖子里说的配置一样,根据自己的系统下相应的压缩包,解压到/opt/,

代码: 全选

sudo tar xvf lol-wine_32bit.tar.bz2 -C /opt/
or

代码: 全选

sudo tar xvf lol-wine_64bit.tar.bz2 -C /opt/
当然您也可以将/opt/另选为自己喜欢的目录。
接下来,您就可以跳过上面的“第一步”,直接从“第二步、配置wine环境”开始了 :D

2013年4月2日:
如果您使用的是Intel的核显,您需要安装libtxc_dxtn这个包,它在不同发行版的命名有些不同,在Ubuntu/Deepin应该是libtxc-dxtn-s2tc0。我用过的发行版比较少,大家可以先搜索一下这个包,用相应的命令安装。

2013年4月7日:
提高游戏fps的技巧(转自LOL论坛):
1、更改注册表

代码: 全选

WINEPREFIX=~/LOL/.wine regedit
打开注册表编辑器,找到键
HKEY_CURRENT_USER>Software>Wine>Direct3D
没有的话就新建一个,然后新建几个"字符串值",DirectDrawRenderer、Multisampling、OffscreenRenderingMode、RenderTargetLockMode、UseGLSL,设定它们的值分别是gdi、disabled、fbo、disabled、disabled;根据自己的显卡情况,还可建一个“字符串值”VideoMemorySize,将它的值设为自己显存大小,像我就设为512

2、选完英雄进入游戏后,打开终端,用top找到League of Legends.exe这个进程的PID,假设为11732,然后,用taskset命令将它设为只用一个cpu核

代码: 全选

taskset -pc 1 11732
这里指定它只用编号为1的cpu核心。
上次由 zhtengw 在 2013-06-20 23:05,总共编辑 8 次。
头像
mraandtux
论坛版主
帖子: 5078
注册时间: 2009-12-12 19:29
系统: 本地大型发行版除外
来自: 随便一个地方
送出感谢: 0
接收感谢: 158 次
联系:

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#2

帖子 mraandtux » 2013-03-22 9:37

已补全楼主的地址
zhtengw
帖子: 41
注册时间: 2013-03-21 11:24
系统: Slackware + Gentoo
送出感谢: 0
接收感谢: 6 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#3

帖子 zhtengw » 2013-03-22 9:46

mraandtux 写了:已补全楼主的地址
发帖时没注意,谢谢
御风123
帖子: 1
注册时间: 2013-03-26 21:08
系统: win7 64bit
送出感谢: 0
接收感谢: 0

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#4

帖子 御风123 » 2013-03-26 21:13

:em01 楼主折腾牛人啊 请问wine版英雄联盟的帧数能达到windows上的水平么 或者说能达到多少百分比 :em23
wgj
帖子: 294
注册时间: 2007-06-02 20:00
送出感谢: 5 次
接收感谢: 2 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#5

帖子 wgj » 2013-03-28 14:13

楼主牛人,但是楼主确定不卡??
zhtengw
帖子: 41
注册时间: 2013-03-21 11:24
系统: Slackware + Gentoo
送出感谢: 0
接收感谢: 6 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#6

帖子 zhtengw » 2013-03-28 16:56

御风123 写了::em01 楼主折腾牛人啊 请问wine版英雄联盟的帧数能达到windows上的水平么 或者说能达到多少百分比 :em23
我的显卡比较烂,fps 30左右,不算流畅,但不影响玩
zhtengw
帖子: 41
注册时间: 2013-03-21 11:24
系统: Slackware + Gentoo
送出感谢: 0
接收感谢: 6 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#7

帖子 zhtengw » 2013-03-28 17:08

wgj 写了:楼主牛人,但是楼主确定不卡??
还行吧,在可玩范围
zhtengw
帖子: 41
注册时间: 2013-03-21 11:24
系统: Slackware + Gentoo
送出感谢: 0
接收感谢: 6 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#8

帖子 zhtengw » 2013-03-28 17:09

御风123 写了::em01 楼主折腾牛人啊 请问wine版英雄联盟的帧数能达到windows上的水平么 或者说能达到多少百分比 :em23
Windows上可以达到什么水平我不知道耶 :em06
头像
只是说
帖子: 1138
注册时间: 2012-03-12 22:44
系统: 贱兔
来自: 株洲
送出感谢: 32 次
接收感谢: 5 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#9

帖子 只是说 » 2013-03-28 18:14

60-70

Sent from my Lenovo_A2105 using Tapatalk 2
我的博客
头像
ooinzaghi
帖子: 1763
注册时间: 2010-11-18 15:55
系统: ubuntu16.04+win10
来自: Auir
送出感谢: 8 次
接收感谢: 7 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#10

帖子 ooinzaghi » 2013-03-28 19:26

垃圾疼逊开发的山寨dota,倒贴钱都不玩。真心期待steam的dota2出linux版
势不可去尽,话不可说尽,凡事太尽,缘分势必早尽。

生命不息,折腾不止!在折腾中进步!

dropbox邀请链接: https://db.tt/OMGJP72tMW
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
送出感谢: 1 次
接收感谢: 3 次
联系:

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#11

帖子 ptpt52 » 2013-03-28 19:32

ooinzaghi 写了:垃圾疼逊开发的山寨dota,倒贴钱都不玩。真心期待steam的dota2出linux版
用 wine 跑 steam 版 Dota 2 不卡,加 -gl 参数
走过去了也便有了路
http://www.ptpt52.com/
zhtengw
帖子: 41
注册时间: 2013-03-21 11:24
系统: Slackware + Gentoo
送出感谢: 0
接收感谢: 6 次

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#12

帖子 zhtengw » 2013-03-28 20:32

ooinzaghi 写了:垃圾疼逊开发的山寨dota,倒贴钱都不玩。真心期待steam的dota2出linux版
坐等dota2 linux呀, 不过LOL也不是腾讯开发的,它只不过是国服代理~~
头像
lifuljk
帖子: 237
注册时间: 2011-08-11 23:46
系统: ubuntu 14.04
送出感谢: 3 次
接收感谢: 1 次
联系:

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#13

帖子 lifuljk » 2013-04-02 21:52

:em16 试玩了一把,那个卡啊,延迟16ms fps 9-12,怎么玩啊,刚开始就想投降了,还是坚持打完了 ,哎……,不知道还能优化不……
sougou for linux:viewtopic.php?f=48&t=416786
头像
lifuljk
帖子: 237
注册时间: 2011-08-11 23:46
系统: ubuntu 14.04
送出感谢: 3 次
接收感谢: 1 次
联系:

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#14

帖子 lifuljk » 2013-04-02 22:22

加上opengl,fps提升到14-16,还是感觉卡,莫名的以窗口模式运行了 :em06
sougou for linux:viewtopic.php?f=48&t=416786
578287290
帖子: 14
注册时间: 2013-04-07 14:06
系统: ubuntu
送出感谢: 7 次
接收感谢: 0

Re: Linux下wine国服LOL英雄联盟,完美运行!!

#15

帖子 578287290 » 2013-04-07 14:08

菜鸟求助 现在wine下运行lol点击进入服务器就卡拉,请问怎么解决?你写的修改代码在那里修改?
回复

回到 “Wine及其分支”