前言

经过多年发展,Linux已经相当成熟!只是一直以来,使用者相对不多,软件、游戏等厂商不够重视。因此,能直接在Linux上玩的游戏不多!

但是随着国产化的推进,越来越多的人开始接触和使用Linux,比如我。。

在可预见的未来,桌面系统将不再是Windows一家独大!

以前想在Linux上玩steam的游戏很难,很麻烦!但是随着 Steam Play 功能的推出,一切都变得简单起来。。

本文使用的软硬件环境

操作系统:统信UOS家庭版21.3

CPU:Intel I5 12400(6核12线程)

显卡:NVIDIA GTX1060 5G

内存:16Gx2

更新显卡驱动

NVIDIA的显卡,Linux系统默认使用的驱动是:nouveau

这是个开源驱动,并非NV官方出品,在性能上非常的拉跨!要玩大型游戏,必须把它换掉!

查看当前使用的显卡驱动:

lspci -k

如果显示如图,证明当前使用的驱动是nouveau:

登陆NVIDIA官网下载驱动官方驱动 | NVIDIA

这里我下载在了桌面上,版本是515.57:

 别忙着双击,因为现在还安装不了,需要先把nouveau模块禁用:

打开终端,输入命令:

sudo deepin-editor /etc/modprobe.d/blacklist-bcm43.conf

注意两个问题

1、非深度、UOS系统中,没有deepin-editor这个命令!可以使用vim、gedit、pluma等替代!

2、其它Linux中,blacklist-bcm43.conf  这个文件名可能要修改为:blacklist.conf

在打开的文本编辑器中,输入以下内容后保存:

blacklist nouveau
options nouveau modeset=0

如图:

 

回到终端,输入命令:

sudo update-initramfs -u

如果前面的操作正确,这里系统会更新内核。不正确的话,不会有任何反应。

内核更新完成后,重启。

重启起来之后,屏幕的分辨率显示会不正常,不用管它,也不需要登陆系统。

按下Ctrl+Alt+F4切换到命令登陆窗口,输入用户名、密码登陆(输入密码时,屏幕不会回显)

登陆后,输入命令:

systemctl stop lightdm #停止桌面管理服务。注意:有些Linux的桌面管理器并不是这个
cd Desktop #进入桌面文件夹(安装文件被我放在桌面上)。注意:有些Linux,名称可能是中文的“桌面”
sudo chmod 777 ./NVIDIA-Linux-x86_64-515.57.run #给驱动安装包执行权限
sudo ./NVIDIA-Linux-x86_64-515.57.run #安装NV驱动

可能会有一些英文提示,全部选yes即可。安装完成后,输入reboot重启电脑。

下载安装Steam

可到Steam官网下载:Steam, The Ultimate Online Game Platform

或者直接点击这个链接(适用于Debian分支的Linux):

https://media.st.dl.eccdnx.com/client/installer/steam.deb

下载好后,直接双击安装:

安装好后,双击桌面上,或者开始菜单(启动器)里的Steam图标运行:

运行Steam

第一次运行,可能会出现这个提示:

按下回车显示需要更新的系统组件:

继续回车,将提示是否安装更新,输入y更新:

 更新完成后,Steam会更新自身程序:

熟悉的登陆窗口出来了,但是此时是英文的:

 

登陆后,将Steam修改为中文:

 

修改后,重新打开Steam就是中文界面了。我们会发现,一些游戏是可以直接安装的,比如CSGO、Dota2:

而有的游戏是安装不了的,比如武侠乂、绝地求生:

安装、运行游戏

像CSGO、Dota2这种可以点击安装的,直接点击安装,装好后运行就可以了!

注意看左上角的FPS,是很流畅的:

 

 有一点需要注意:像CSGO这款游戏,进去的时候是窗口模式,但是系统的任务栏遮住了游戏里面的关键按钮!开始不了游戏,也调不了游戏设置,需要将任务栏隐藏:

目前,这种能够直接安装运行的游戏应该不多!

对于不能直接安装、运行的游戏需要启用Steam Play:

设置单个游戏,以武侠乂为例:

在选中的游戏上点击右键,选择 属性 :

然后到 兼容性 选项卡中,勾选“强制使用特定 Steam Play 兼容性工具”: 

 这样,游戏就可以安装下载,并运行了!

原本Linux上并不支持的武侠乂,成功运行: 

为所有游戏启用Steam Play

点击左上角“Steam”菜单,进入设置:

点击左侧Steam Play菜单,然后在右侧窗口中勾选:为所有其他产品启用Steam Play

这样,所有的游戏就都可以安装、并尝试运行了!

为什么Linux能运行Windows的游戏?

熟悉Linux的人,应该知道wine这个开源软件!它不是像VMware这种传统的虚拟机,虚拟一台完整的电脑,它是将Linux的API转换为WindowsAPI以供程序使用,因此效率非常高!让Linux运行大型3D游戏成为可能!

而Steam Play使用了一项叫做Proton的技术,实际上就是Steam官方修改过的wine!

Proton项目地址:GitHub - ValveSoftware/Proton: Compatibility tool for Steam Play based on Wine and additional components

其它一些说明

Linux版Steam(steam本身,不是里面的游戏),不支持直接输入中文(呼不出输入法)!像在商店中搜索游戏,如果要输入中文,可以在其它软件上打好中文,再复制过来!

并不是所有的游戏都能通过Steam Play支持,像绝地求生就运行失败了!

根据经验,游戏本身有反外挂程序的,反外挂程序越BT,这游戏越不可能运行成功。。

没有反外挂程序的,大多能通过Steam Play成功运行!

据说,Steam官方的测试结果,排行榜:

前10的游戏中有50%可以较好兼容

前100的游戏有88%可以较好兼容

前1000的游戏有83%可以较好兼容

实话讲,这个成绩已经远远超过我的预期!

相信随着各大厂商逐渐重视Linux,国产系统(统信UOS、银河麒麟等)也能乘此东风,走进万千普通用户家中。。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐