欢迎光临散文网 会员登陆 & 注册

记一次在deepin v20通过wine7.0和dxvk成功运行CS1.6的过程

2023-07-16 21:13 作者:wudics1990  | 我要投稿

说在前面的话

众所周知,困扰linux国产系统(桌面系统)发展的是生态(主要是日常办公和游戏类型的应用)。在网上有很多关于这个话题的讨论,有人说windows更好用,性能比linux更好,其中更是一环扣一环。首先是大多数游戏开发商没有魄力去做linux版本的游戏,没有利益驱使,市场小。然后是linux版本众多,而且用户量不大,显得凌乱和分散,更多用户倾向于更为成熟稳定的windows系统。最终就是导致linxu生态混乱和困难。

不过,在现实生活中,总有人很倔强,就要使用linux,这些人目前主要是开发人员、业务爱好者和不明觉厉的素人。这些人使得情况有了很大的转机,解决了很多性能和易用问题,而且在国内大力推行国产系统,也促进的生态的发展。

本文内容记录了在deepin国产操作系统上运行cs1.6的安装配置过程,同时分享给大家,也欢迎大家加入到国产操作系统的大军。

注意:本文内容所使用的是x86_64的真机系统(虚拟机或国产架构CPU请勿模仿)

运行的思路

运行的方式目前已经有好几种了,包括proton、lutris、wine游戏助手等,当然还有正版的cs1.6是支持原生的linux系统的,这里不做讨论。

  1. proton,是steam自带的,相当于定制版的wine,在游戏上做了优化,有些游戏在linxu下甚至比windows流畅,但proton仅支持steam的游戏,而且也不是所有游戏都支持。

  2. lutris,是一个lutris游戏平台,是更开放的proton,如果说proton是steam定制的,那么lutris可以通过对wine的定制,制作出无限个proton的版本。同时,lutris是个开放的平台,提供了大量游戏的安装和配置脚本,并且可以为每个游戏都设置独立的wine容器。

  3. wine游戏助手,是基于lutris的国内优化版本,无论是语言,还是网络、游戏环境、兼容性等等,都更加适用于deepin等国产操作系统。

综上所述,在linux运行windows游戏程序,关键在于wine容器,通过对wine容器的定制,使游戏更兼容。本文内容不使用proton、lutris、以及wine游戏助手等第三方工具,而是通过手动对原生的wine进行定制,来兼容windows版本的cs1.6游戏。

网络环境优化

由于wine7.0、wintricks,以及dxvk、mono、gecko等仓库在外国服务器上,国内很多网络环境不好的地方,很有可能无法正常访问下载,或者网速令人无法忍受,而且我们还需要大量的查找资料学习,所以对网络环境的优化是很有必要的前提条件。

  1. 首先是购买网络加速服务,可以是全局加速的vpn,也可以是socks5代理,如果是全局加速的vpn仅需配置好账户密码开始加速即可,如果使用的是socks5代理,那么就需要搭配proxychains来使用,本文内容使用的是socks5代理。

  2. 安装配置好socks5代理后运行,本文所监听的本地端口是:1080

  3. 安装proxychains,将socks5代理指向本地端口:1080

  4. 通过proxychains开启优化网络的bash shell命令行窗口

  5. 在此窗口中执行安装和配置wine7.0及其依赖辅助程序的命令

具体操作如下:


在[ProxyList]下做如下配置:

 然后最重要的一步,就是开启一个新的命令行窗口,执行如下命令

此时,在这个bash命令行窗口中,所有的网络操作都会经过本地socks5来转发。

至此,网络环境优化完成,接着涉及外国网络操作的都通过此bash来完成,而国内仓库的安装则可以开启另外一个无网络优化的bash来操作。

安装wine7.0

deepin v20是基于debian 10发行版开发的,代号是buster,可以通过如下命令查看debian版本

我这里显示的是10.10,即debian 10的版本

此部分内容参考的文章是:https://wine.htmlvalidator.com/install-wine-on-deepin-20.html

此处用的是网络优化后的bash命令行来操作

注意:如果你是在winehq官方网站查看安装说明的话,当前推荐的版本的8.0,支持的是debian 11,而deepin v20是基于debian 10的,所以是不能安装推荐的8.0版本的。你可以在这个网址找到buster对应上述命令中的source地址:

至此,wine7.0的主体部分已经安装完成,接着我们执行如下命令做初始的配置

此过程会自动初始化wine容器,此过程中,会提示下载安装mono和gecko,尝试下载安装一下(如果网速慢的话,直接取消即可,接下来我们会进行手动下载和安装合适版本的mono和gecko),执行上述命令过程中,会弹出wine配置窗口、时钟程序、ie浏览器,直接关闭即可。

安装mono和gecko

注意:如果在上述过程中,已经自动安装了mono和gecko,此章节可以跳过。查看是否安装成功可以通过如下命令查看

首先要先下载mono和gecko

  1. mono下载7.4.0版本的msi(1个)

  2. gecko下载2.47.2版本的msi(共2个,32位和64位)

下载完成后,通过wine uninstaller来安装这3个msi文件,安装完成后,关闭后再次打开,就可以看到如下图所示的内容:

wine uninstaller mono and gecko

至此,mono和gecko已经安装完成。

注意:mono是windows .net framework的linux实现,gecko是windows html嵌入式布局的linux实现,很多程序都会使用到,所以本文内容安装了两个安装包。

安装winetricks

winetricks是辅助使用wine的工具,可以通过winetricks来配置wine容器,安装命令如下:

安装完成后,可以使用winetricks命令运行它

运行后如图所示:

winetricks操作界面

winetricks相当于wine的可视化操作界面

创建独立的wine容器(创建wine前缀)

首先我们先创建用来存放wine独立容器的目录

然后使用如下命令初始化此容器

注意:此处的WINEPREFIX一定要指向正确的目录,它是操作独立wine容器的前提。

接下来,继续为独立容器安装mono和gecko(此前安装的是默认的容器空间,现在是给独立容器空间安装),于此前不同的是,此处需要在wine uninstaller之前加上WINEPREFIX

在弹出的安装窗口中,重新安装mono 7.4.0和gecko2.47.2的msi安装包文件。

通过winetricks在独立容器中安装游戏必备组件

同样,需要使用WINEPREFIX前缀

此过程会通过国外服务器下载必要的组件,并且会弹出安装程序,需要手动完成安装步骤。

安装中文字体

此处的中文字体指的是simsun.ttc字体,即宋体,是大多数游戏中文版中所使用的字体。wine默认是不会安装的,需要自行到网站搜索下载该字体文件,然后将其保存到如下路径即可:

安装DXVK图形优化组件

wine能够流畅玩游戏,全靠DXVK,它能够将windows的direct9/10/11的图形接口快速翻译成linux的Vulkan图形接口,即可以让wine运行的游戏,能够使用显卡图形加速。

同样的,我们使用WINEPREFIX前缀给独立的wine容器添安装DXVK图形优化组件。

首先我们需要到github下载DXVK安装包,我们这里下载的是1.10.3版本的dxvk-1.10.3.tar.gz压缩包

将dxvk-1.10.3.tar.gz解压后,进入解压后的文件夹,使用其提供的shell脚本进行安装

注意:一定要使用WINEPREFIX前缀!!!另外,install换成uninstall就是卸载dxvk

安装完成后,可以通过以下命令查看是否安装成功:

在弹出的配置窗口中,选择“函数库”,查看应如下图所示:

dxvk安装成功

若包含d3d9(原装)、dxgi(原装)等字样则表示成功安装了dxvk

配置虚拟窗口

如果不配置的话,运行cs1.6会全屏,并且在退出游戏之后,会有一定概率出现分辨率、屏幕颜色无法自动恢复等异常。

同样通过winecfg来配置,打开配置窗口后,选择“显示”,然后勾选“虚拟桌面”,并在分辨率处填上800×600即可,此分辨率不会影响cs1.6实际的分辨率

虚拟桌面

至此,所有准备工作都做好了,接下来我们要做的就是在这个独立的wine容器中安装我们windows版本的cs1.6了。

可能你会觉得很繁琐,这的确是很繁琐,不过这也就是前期准备wine独立容器的过程。后续除了cs1.6之外,我们也是可以直接使用这个容器来安装其他游戏的,例如魔兽争霸、红色警戒等等,除非你运行的游戏需要更特殊的运行环境(例如必须是win10系统、安装esync、fsync、gamemode等),否则你不需要再重新制作和配置单独的wine容器了。

开始安装cs1.6

这里我们需要提前到网上下载一个cs1.6中文版的安装包文件(下载后,可能是压缩包,需将exe后缀的安装包解压出来),进入到exe安装包所在的目录,然后执行以下命令安装cs1.6:

在弹出的安装界面中,使用默认安装设置安装完成即可。

注意:安装完成后,桌面可能会出现一些cs的图标和快捷方式,我们不要它们,直接删除,因为自动生成的这些快捷方式,直接双击运行是不行的,我们需要手动创建运行的快捷方式。

运行cs1.6

来了来了,所有的努力就是为了现在。

首先我们想要运行cs1.6,则必须依托我们所创建的独立的wine容器,就必须使用WINEPREFIX前缀,首先我们尝试使用控制台来运行。

进入到我们cs1.6的安装目录中,通过wine命令运行cstrike.exe文件:

通过命令行我们成功运行后,接下来我们在创面创建一个快捷方式,之后就可以双击快捷方式来运行我们的cs1.6了。

在桌面创建一个.desktop后缀的文件(如cs.desktop),然后使用文本编辑器将其内容修改位以下内容:

注意:~/Games/此缩写地址写法如果不正常,可以尝试把它们修改成完整地址,如/home/系统账户名/Games

至此,已经完成本次的记录,感谢阅读,还有欢迎加入linxu群体。

记一次在deepin v20通过wine7.0和dxvk成功运行CS1.6的过程的评论 (共 条)

分享到微博请遵守国家法律