环境
操作系统:Ubuntu Kylin 优麒麟 23.10、Debian 12 BookWorm
适用架构:AMD64(海光、兆芯)、ARM64(鲲鹏 920、飞腾 FT-2000/4、D2000)
UpDate 2023.07.20
《原神》3.8 版本,不需要打补丁了。以下步骤配置好 Wine,可以直接启动《原神》。
原神安装包
我也不知道什么原因,英文版不能下载。所以 Lutris 不能自动安装完成。所以提前下载了中文版安装包。
ExaGear
鲲鹏 920、飞腾腾锐 D2000 或 FT-2000/4 的用户首先要安装 ExaGear 进行二进制动态翻译。海光和兆芯的用户可以略过此步骤。
详见《ExaGear 二进制动态翻译》https://my.oschina.net/chipo/blog/5176302
安装 Lutris
sudo apt install lutris xdelta3 xterm zenity git
xdelta3、xterm、zenity、git 这几个是相关的软件包。
Socks5
如果 GitHub 的连接不稳定,使用 Socks5 跳转时,需要安装 python3-socks 。
sudo apt install python3-socks
详见《在 Terminal 终端中通过代理服务器连网》https://my.oschina.net/chipo/blog/2992796
安装原神
启动 Lutris。
lutris
如果 GitHub 的连接不稳定,使用 Socks5 跳转时,使用以下命令 。
all_proxy='socks5://192.168.X.X:10808' lutris
安装完成后,如果 Lutris 开启了 Socks5 代理,建议退出 Lutris 后,直连启动。否则原神的启动器下载完整的安装包时依然会通过代理,下载速度可能比较慢。再次启动 Lutris 。
安装或切换 Wine 的版本
选择适当的版本。
添加游戏
返回首页,点击左上角的“+”加号。
填写游戏信息:名称,运行环境选择“Wine”。
填写游戏选项:执行路径选择下载的《原神》安装包。工作目录自行设定。
填写运行环境的选项:选择 Wine 的版本,如果没搞懂 Esync,就先禁用。文章结尾有关于 Esync 的介绍。
3
保存后返回首页。从游戏仓库就可以启动《原神》了。在仓库里选择刚才建好的游戏,点击下方的 Play 。
安装完成后就可以启动游戏了。
游戏截图。
Esync
如果开启或关闭 Esync ,请参考以下步骤。
《原神》3.7 及之前的版本需要打补丁。
简介
在 Linux 上畅玩《原神》。
这个脚本使用了一个 MiHoYo 不支持的补丁,使用它的风险由你自己承担。
你需要 root 权限来安装这个补丁,因为它将修改 /etc/hosts 系统文件。
你将需要在游戏更新完成后,在 Lutris 之外找到、编辑并手动运行该补丁。
补丁默认不应用。要应用或恢复它,请右击游戏图标/横幅并选择 "执行脚本" --> https://imgur.com/D4jDdPX
这个脚本安装程序需要 xdelta3, xterm, zenity 二进制文件。
如果安装程序在下载过程中冻结了,请杀死 "launcher.exe "进程。然后从 Lutris 启动游戏,在菜单中选择选项2 "Update Genshin Impact"。一旦下载和安装完成,关闭游戏,给游戏打上补丁,启动游戏并在菜单中选择选项1。
原神安装包
我也不知道什么原因,英文版不能下载。所以 Lutris 不能自动安装完成。所以提前下载了中文版安装包。
ExaGear
鲲鹏 920、飞腾腾锐 D2000 或 FT-2000/4 的用户首先要安装 ExaGear 进行二进制动态翻译。海光和兆芯的用户可以略过此步骤。
详见《ExaGear 二进制动态翻译》https://my.oschina.net/chipo/blog/5176302
安装 Lutris
sudo apt install lutris xdelta3 xterm zenity git
xdelta3、xterm、zenity、git 这几个是相关的软件包。
Git
克隆补丁,请记录路径,后边的步骤将用到。
git clone https://notabug.org/Krock/dawn
Socks5
如果 GitHub 的连接不稳定,使用 Socks5 跳转时,需要安装 python3-socks 。
sudo apt install python3-socks
详见《在 Terminal 终端中通过代理服务器连网》https://my.oschina.net/chipo/blog/2992796
安装原神
启动 Lutris。
lutris
如果 GitHub 的连接不稳定,使用 Socks5 跳转时,使用以下命令 。
all_proxy='socks5://192.168.X.X:10808' lutris
在 Lutris 网站注册账号,在原神页面点击“Add to my library”。https://lutris.net/games/genshin-impact/
在 Lutris App 里登录账号。
输入用户名和密码。
选中“Genshin Impact”《原神》,点击“Install”。
默认的 Wine 3.70,点击“Install”。
设置目录。点击“Continue”。
原神安装包选本地。
安装完成后,如果 Lutris 开启了 Socks5 代理,建议退出 Lutris 后,直连启动。否则原神的启动器下载完整的安装包时依然会通过代理,下载速度可能比较慢。再次启动 Lutris 后,选中“GenShin”,点击“Play”。
App 安装完成后,所在的路径。
cd ~/Games/genshin-impact/drive_c/Program\ Files/Genshin\ Impact/Genshin\ Impact\ Game/
打补丁的命令。请使用之前记录的克隆路径,370 是对应的《原神》版本号。
bash ~/game/genshin/dawn/370/patch.sh
默认的启动参数。
Excutable 条目
/home/lio/Games/genshin-impact/drive_c/windows/syswow64/wineconsole.exe
Arguments 条目
c:\\gi_menu.bat
或者
c:\\Program Files\\Genshin Impact\\Genshin Impact Game\\launcher.bat
切换 Wine 的版本
选择适当的版本。
Esync
什么是 Esync?
https://github.com/lutris/docs/blob/master/HowToEsync.md
Esync 删除了同步对象的 wineserver 开销。这提高了很多游戏的性能,特别是那些严重依赖多线程的游戏。
更详细的解释可以在这里找到。https://github.com/zfigura/wine/blob/esync/README.esync
如何检查 Esync 的兼容性
使用 Systemd 240 和更新版本的系统已经与 Esync 兼容。
如果你不确定你的系统是否兼容,可以运行 ulimit -Hn 命令。如果打印出来的数值等于或大于 524288,那么你的系统就与 Esync 兼容。
如何使你的系统与 Esync 兼容
如果你的系统不兼容 Esync(ulimit -Hn,打印一个进程打开的文件数量限制,打印的数值低于 524288,比如 4096),你有两种不同的方法来解决这个问题。哪种方法更可取,取决于目前使用的发行版。应用这两种方法应该不会有负面的副作用。
修改 Systemd 配置
这个方法适用于 Ubuntu 和其他使用 systemd 的系统。你(拥有 root 权限或 sudo)需要编辑 /etc/systemd/system.conf 和 /etc/systemd/user.conf,添加DefaultLimitNOFILE=524288。如果 DefaultLimitNOFILE= 已经存在于 system.conf 和 user.conf 中,请在 = 后面加上 524288,并确保取消该行的注释(删除该行开头的#),使其发挥作用。
文件编辑完毕后,重新启动你的计算机,使更改生效。为了验证限制是否被应用,运行 ulimit -Hn 来查看 524288 被报告。
如果打印出来的数值仍然是 4096 之类的,请尝试下面的 ulimits 方法。
修改 ulimits.conf
在不使用 Systemd 的 Linux 发行版或使用 pam-limits.conf 的发行版(Arch Linux、Fedora、Solus...),你(有 root 权限或 sudo)需要编辑/etc/security/limits.conf。
将用户名改为你的实际用户名。编辑完文件后,重新启动以使更改生效,并通过运行 ulimit -Hn 来验证新的限制(524288)。
username hard nofile 524288
使用Esync Wine构建
Esync从Lutris 0.5.9开始默认启用,目前所有可用的Lutris Wine版本都包括Esync。
如果关闭 Esync ,请参考以下步骤。
参考文献
在 Linux 下愉快地玩《原神》,https://blog.yidaozhan.top/2022/02/14/genshin-on-linux/