百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

在国产系统(Linux)上,安装运行Steam游戏详解

ahcoder 2025-05-02 16:08 12 浏览

前言

经过多年发展,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、银河麒麟等)也能乘此东风,走进万千普通用户家中。。

相关推荐

写一个Nginx的模块没有那么难(nginx模块化)

Nginx作为世界第二大Web服务器(第一是Apache),越来越受到大家的青睐。受到欢迎的一个重要原因,是他的高扩展性。它是由多个不同功能、不同层次、不同类型且耦合度极低的模块组成。当我们开发自己的...

Rocky Linux 9.x 从零安装 Nginx 全流程:源码编译 + dnf 安装方案详解

0.前言本文目标,安装nginx提供http访问git仓库。关于这篇只是再续,还有续集...以下安装主要的过程都是在root用户下进行,如果是非root用户,请使用sudo获取root权限执行命令。1...

RockyLinux 9快速部署Nginx+HTTPS(基于DNF安装)

RockyLinux9快速部署Nginx+HTTPS(基于DNF安装)针对RockyLinux9用户,通过DNF包管理器快速搭建Nginx服务并配置HTTPS加密,以下是优化后的实战流程,兼顾效率...

如何在openEuler 24.03 LTS部署Zabbix 7.0 LTS之源码编译安装

由于openEuler24.03LTS系统无法通过Zabbix官网提供的RPM包来安装Zabbix7.0LTS软件,因此只能采取源码编译的方式进行安装,选择MySQL数据库和Nginxweb...

搭建自己的前端服务器环境—Node、MySQL、Git和Nginx等一网打尽

前言作为前端开发者一直都在关注浏览器的行为、表现。但是时间长了免不了要接触到后端的知识、服务器的知识。尤其是在前端技术爆发式发展的当下,前端慢慢的渗透到了更多的领域。比如,使用express/koa...

跟我学Nginx(三)——Centos8安装Nginx

Nginx有window版本,也有Linux版本,我的工作环境都是基于Linux,所以今天主要讲讲如何在Linux下安装Nginx,以Centos为例进行说明。一.下载Nginx从Nginx的官网(h...

04《Nginx 入门教程》Windows 下安装 Nginx

在Windows上安装Nginx时一件非常简单的事情,因为连编译都不用,直接开箱使用。接下来,我们在Windows7上搭建Nginx服务并简单使用起来。1.下载Nginx最新稳...

nginx负载均衡配置(nginx负载均衡配置两个程序副本)

Nginx是什么没有听过Nginx?那么一定听过它的“同行”Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(UniformResources...

内测分发平台应用的异地容灾和负载均衡处理和实现思路?

在软件开发过程中,内测分发平台扮演着至关重要的角色。它不仅帮助开发者将应用程序传播给内部测试人员,还负责收集反馈、跟踪错误并改进产品。然而,为了确保一个平稳、连贯的内测过程,对内测分发平台实施异地容灾...

SpringBoot 项目处理跨域的四种技巧

上周帮一家公司优化代码时,顺手把跨域的问题解决了,这篇文章,我们聊聊SpringBoot项目处理跨域的四种技巧。1什么是跨域我们先看下一个典型的网站的地址:同源是指:协议、域名、端口号完全相...

确保 Nginx 网络服务器的安全(nginx 安全防护)

在数字时代,网络安全已成为一个亟待解决的问题。随着网络攻击的增加,确保网络服务器安全对保护敏感数据和维护网站完整性至关重要。本博文将指导你如何配置Nginx(一种流行的开源网络服务器软件),以保护服...

三条命令部署 Jira 和 Confluence,我为什么写了这个小工具?

这两天,趁着Team'25大会的余温,我回顾了一下自己过去这些年和AtlassianDataCenter(以下简称DC)打交道的经历。Mike在会上提到,Isolated...

前端域名、端口、协议一样,本地缓存可以共享吗?

是的,前端在域名、端口、协议都相同的情况下,本地缓存(localStorage、sessionStorage、cookie等)是可以共享的,具体如下:本地缓存能否共享的判断标准:缓存类型是否共享的...

如果给nginx写插件,基于何种语言实现

Nginx插件开发主要基于以下几种语言和技术栈,具体选择取决于插件类型、性能需求和开发复杂度:1.C语言(原生模块)特点:直接编译到Nginx核心,性能最优,适合高性能要求的底层功能(如负载均...

《云计算故障排查:网站突然打不开,咋办?》

云计算故障排查:网站突然打不开,咋办?——用“医院急诊室”类比,5分钟学会“网络急救术”一、先抛结论:网站崩了≠“世界末日”,按“急诊流程”快速排查网站突然打不开,就像病人突然倒地——慌乱中乱投医只会...