简单记录在archlinux上跑原神的经历

Author Avatar
fnxf 3月30日
  • 在其它设备中阅读本文章

首先提醒,本方案由于含有禁用反作弊驱动等涉及修改游戏文件的操作,所以有封号风险,建议不要作为主要游玩方案

1.基本环境准备

本段主要介绍笔者选用的 wine+proton 以运行原神的方案,如果是遇到问题来寻找解决方法的,可直接跳到第二段。

讲点理论

笔者所用的笔电为Envy x360 13(3700U),操作系统为单archlinux。
为了能够运行原神,我们需要提供类Windows环境,同时可以使用DX11。在这里,Windows环境由wine提供,而DX11则通过proton(dxvk)转译为vulkan运行。
于是总体方案为 wine+proton

安装方法:

wine:可以通过包管理器直接安装,例如pacman -S wine

proton:(通过steam安装)打开steam设置,在“账户”页面参与steam测试,steam重启后再次进入设置界面,在“steam play”页面中勾选“为所有其他产品启用steam play”,此时还可以在下方选择proton版本。

(通过包管理器安装)pacman -S proton

在安装好wine+proton之后,我们可以添加非steam游戏到steam库中,通过steam启动游戏;也可以通过第三方脚本调用proton,在理论上把proton当成游戏性能更好的wine使用。

笔者的情况

为了运行qq,笔者的笔电早前已经装了wine,可以直接安装原神(的启动器);而proton理论上有许多种安装方式,包括但不限于通过包管理器安装(pacman)和通过steam安装,其中笔者选择了通过steam安装。

此时,原神启动器正常下载资源,steam play的设置不过信手拈来。
到目前为止,看起来形式大好,优势在我,一切尽在掌握(everything is out of control)

但事情并不是看上去的那么简单。

2.解决问题

笔者在安装的时候遇到了不少问题,下面就来简要说说。

找不到proton

笔者在完成对steam play的设置后,发现找不到proton所在的文件夹,怀疑proton未被安装,反复确认设置正确后,决定下载一个只支持windows的游戏看看能不能运行。

简单记录在archlinux上跑原神的经历_1.webp

而在下载游戏的时候,笔者发现proton出现在下载队列中,于是问题得到解决。

结论是,当确认steam play设置正确,但找不到proton的时候,可以试着下载一个只支持windows的游戏,促使steam下载安装proton

无法通过steam打开原神启动器

暂时无解,寻求替代方案。

笔者使用了一个第三方脚本启动原神启动器,需要注意的是,根据使用的proton版本以及具体发行版的不同,可能需要对脚本进行一些更改,并在运行脚本前建立 ~/.proton 目录

可以打开启动器,但无法进入游戏

据说是因为反作弊驱动无法在wine下运行。但经过亿些操作可以达成。

注意:此问题的解决方案需要破解反作弊驱动,属于修改客户端,可能导致封号!


于是笔者遇到的问题尽数解决,剩下的不足无非就是3700U本身性能不足,跑得非常勉强而已。
如果你是图解决问题来的,看到这里不管有没有解决你的问题,已经可以关闭页面了。

3.性能表现

众所周知,Envy x360 13是超薄二合一笔记本电脑,3700U又是低功耗CPU,二者一结合,就得到了笔者手上这台CPU峰值功耗11W,长期满载最高保持7W的超低功耗笔电。CPU功耗低到足以媲美骁龙8gen1!

但放在x86芯片中来看,这颗3700U Zen+ 架构的CPU,Vega10 的GPU,加上已经老旧的12nm工艺,基础性能本就不高,更受制于超低功耗,性能发挥严重受限。再加上是在archlinux下跑wine+proton,需要经过多层转译,产生不小的性能损耗,在这种情况下运行原神的性能表现并不乐观。

简单记录在archlinux上跑原神的经历_2a.webp

1366*768低画质窗口化 的设置下,这颗3700U甚至无法将画面稳定在30fps但对笔者来说已经能玩了目测平均帧率仅为20fps出头,不能说完美运行,至少也是十分勉强了。
根据笔者在约一年前用该笔电在windows下玩原神的印象,当时在windows下可以将画面设置为1600*900中低画质,并稳定30fps,看来wine+proton确实有不小的性能损耗。
(当然根据某使用游戏本的群友实测,游戏本不需要担心性能损耗)

尽管如此,wine+proton仍是Linux平台运行Windows平台游戏的优秀方案(要不G胖也不能推出steam deck)。我的笔电运行原神卡顿更多是因为本身性能较为落后。

4.小结

即使在如此画面和如此卡顿的情况下,笔者还是去欺负了冰树作为本次折腾的结尾。

感谢archlinux,感谢wine,感谢G胖。
简单记录在archlinux上跑原神的经历_3a.webp

既然证明wine+proton无法使笔者的电脑很好地运行原神,甚至还有封号的风险,那么笔者为什么还要这么做呢?
历史原因是Windows10把笔者惹火了,直接把笔电上的10 Windows扬了。(当然台式机还是保留了 Windows 方便打游戏的 11)
主要原因是,既然知道了有能在archlinux下运行原神的方案,并且实现难度在我的能力范围之内,那么当然要去试一试。因为能整的活就在那里。

本文链接:https://54df.cc/archives/131/
本博客内容除另有声明,均在CC BY-NC-SA 4.0下提供。

    鸟叔
    鸟叔  2022-05-04, 17:37

    鸟叔来串门,通过虫洞穿梭至此,期待回访!