SteamOS 使用笔记#

本篇只涉及 SteamOS (ArchLinux) 的使用

如果需要在 Steam Deck 上使用 Windows 的相关信息,请点击这里

首次开机无法更新#

这个方法可以解决更新卡 正在安装 / Installing剩余1秒 / 1 second remaining

需要一个 USB HUB 用于插入外置键盘

引用来源: Reddit帖子

  1. 在进入首次开机设置后,先根据提示连接互联网,Wi-Fi 或 有线网络 均可

    Important

    成功联网即可,千万不要点击下一步

    设置网络后看着屏幕右上角的网络图标,连接上就进行下一步

  2. 同时按下键盘的 Ctrl + Alt + F4,进入 tty 模式

  3. 使用用户 deck 登录,默认无密码

  4. passwd 更改 deck 用户的密码 (参考后面 设置密码 的部分)

  5. 运行命令 sudo steamos-update,并根据提示输入刚才设置的密码

    如果有可用的更新,系统将会提示 Update available 并自动下载

    安装完成后会显示 Applied an update

  6. 运行命令 sudo reboot 重启Deck,即可更新成功

官方资源快速链接#

恢复镜像

点此跳转(需要翻墙)

如果无法跳转,请再点一次,此链接似乎会根据IP跳转到不同的页面

Linux dd 快速写盘命令参考

# 注意要将 /dev/sdX 设成你的USB设备)

bzcat steamdeck-recovery-4.img.bz2 | dd if=/dev/stdin of=/dev/sdX oflag=sync status=progress bs=128M

deck用户设置密码(及取消密码)#

# 设置密码 (输入时不会显示 · 或 *),根据提示重复输入2次即可
passwd

# 取消密码
passwd -d deck

如何禁用系统分区的只读属性#

# 需要先为 deck 用户设置密码,请参考上一条

# 禁用
sudo steamos-readonly disable

# 启用
sudo steamos-readonly enable

proton-ge-custom#

第三方优化的proton兼容层,只能搭配Steam客户端使用

下载地址: GitHub Releases

手动安装方法:

  1. 运行命令 mkdir -p ~/.steam/root/compatibilitytools.d 创建安装路径

  2. 运行命令 tar -xf GE-ProtonX-XX.tar.gz -C ~/.steam/root/compatibilitytools.d/GE-Proton 解压到对应目录

  3. 重启Steam客户端,或重启机器

  4. 在Steam客户端中,调整游戏参数,手动选择 GE-Proton

wine-ge-custom#

第一次打开 Lutris 会遇到网络问题,目前还没找到解决办法,留个坑日后更新

第三方优化的wine兼容层,建议搭配 Lutris 使用

下载地址: GitHub Releases

手动安装方法:

  1. 运行命令 mkdir -p ~/.local/share/lutris/runners/wine 创建安装路径

  2. 运行命令 tar -xf wine-name-branch-x86_64.tar.gz -C ~/.local/share/lutris/runners/winewine-ge-custom 解压到对应目录

  3. 在Lutris客户端中,调整游戏参数,选择以 wine-name-branch-x86_64 作为 Runner

安装Flathub版的Lutris#

flatpak install flathub net.lutris.Lutris

初始化pacman包管理器#

Warning

不要使用任何第三方镜像软件源,SteamOS 使用的软件包均为 Valve 特选的版本,一旦使用第三方源的软件包进行更新,就有很大可能造成系统功能损坏的情况

  1. 初始化pacman的keyring
sudo pacman-key --init
  1. 在keyring中加入默认的密钥
sudo pacman-key --populate archlinux
  1. 更新软件包缓存并安装软件包
sudo pacman -Syy vim

安装Steam++(Watt Toolkit)#

到 2023 Jan 22 为止,该官方包仍存在问题,无法直接通过 pacman 命令安装

安装时会提示 missing package metadata 错误

  1. 下载ArchLinux适用的,后缀为tar.zst

  2. 使用pacman命令安装该软件包

# 安装
sudo pacman -U Steam++_linux_x64_vX.X.X.tar.zst

# 移除
sudo pacamn -R Steam++

为Flathub软件商城添加国内源#

Caution

交大已关闭该源,此方法已失效多时

交通大学源使用方法

这里的操作不会覆盖官方源,如果你已经覆盖过官方源,且希望恢复官方源,你可以运行以下命令

sudo flatpak remote-modify flathub --url=https://flathub.org/repo/flathub.flatpakrepo

或在图形界面中,先删除所有源,然后运行下列命令,完成后,继续操作本节内容即可

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# 添加源
sudo flatpak remote-add --if-not-exists sjtu https://mirror.sjtu.edu.cn/flathub
# 下载源服务器公钥
wget https://mirror.sjtu.edu.cn/flathub/flathub.gpg
# 导入源服务器公钥
sudo flatpak remote-modify --gpg-import=flathub.gpg sjtu

如果中断了某次软件包安装,而导致找不到文件的问题,请用下面的命令修复:

flatpak repair

通过Flathub软件商店安装RyujinX或Yuzu模拟器#

不推荐时候用Flathub安装,因为实在太慢了,建议使用 EmuDeck

Ryujinx 需要的配置很高,Deck上体验较差,可以只选用Yuzu

# Ryujinx
flatpak install flathub org.ryujinx.Ryujinx

# Yuzu
flatpak install flathub org.yuzu_emu.yuzu

安装/卸载Decky Loader插件管理器#

# 安装稳定版
curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_release.sh | sh

# 安装预发布(或称预览版、测试版)
curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_prerelease.sh | sh

# 卸载
curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/uninstall.sh | sh

# 翻墙问题自理

完全手动安装,请参考安装脚本,安装脚本很短,有经验的Linux使用者应该可以完全读懂

找回消失的 Return to Gaming Mode#

SteamOS 在 桌面模式 的桌面会有一个图标,让玩家可以立即退出桌面模式并回到游戏模式,但是因为某些原因,这个图标偶尔会被莫名其妙地删除掉

这时只需要在桌面新建一个文件名为 Return.desktop 的文件(注意后缀应该为 .desktop ),内容为下面的内容,即可找回该功能

[Desktop Entry]
Name=Return to Gaming Mode
Exec=qdbus org.kde.Shutdown /Shutdown org.kde.Shutdown.logout
Icon=steamdeck-gaming-return
Terminal=false
Type=Application
StartupNotify=false

其实没有这个图标也不影响你返回游戏模式,你只需要在桌面模式 注销 即可自动返回游戏模式

SteamOS 默认设置调优#

Caution

本人已长时间没有测试本章节的内容,SteamOS 内核更新较快,此章节的调优方法很可能已不适用于最新版本

本节内容针对有经验的 Linux 用户,不作详细操作解释

引用来源:

  1. 第 1~3 项
  1. 优化日志文件的占用空间

    在默认情况下 Steam OS 并未对系统日志的大小作出限制,对于游戏掌机,系统日志的作用不大

    所以我们可以设置一个小一点的限制,以防日志占用太多空间

    调整方法:

    /etc/systemd/journald.conf 文件里面 [Journal] 段落的 SystemMaxUse 参数改为 SystemMaxUse=50M

    然后重启系统日志守卫进程: systemctl restart systemd-journald

  2. 调整 Swap 的使用策略

    SteamOS 默认的 Swap 使用策略是积极使用Swap,这意味着系统在内存负载不高的情况下,也可能会产生大量磁盘I/O

    在这里我们可以选择将 Swap 使用策略调整为最大限度地使用物理内存,以减轻这种情况

    调整方法:

    1. /etc/sysctl.d/swappiness.conf 文件里面的 vm.swappiness=100 改为 vm.swappiness=0

    2. 然后重启系统

  3. 关闭 CPU 熔断/幽灵漏洞的微码补丁

    在这里不扛安全性问题,掌机基本除了玩游戏不干其他事,基本绝大部分时间可以算为安全范畴

    众所周知,熔断/幽灵补丁会降低 CPU 的性能,所以在这里我们可以把该补丁禁用掉,让 CPU 回到真正的能力水平

    调整方法:

    1. 修改 /etc/default/grub 文件里面的 GRUB_CMDLINE_LINUX_DEFAULT 参数,在该参数的最后面加上 mitigations=off

    2. 更新Grub,应用新的启动参数 update-grub

    3. 重启系统

    查询方法:

    运行 lscpu 命令

    如果打开了该补丁,会有类似的输出 (输出中带有Mitigation)

    Vulnerabilities:
    Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl and seccomp
    Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
    Spectre v2:            Mitigation; Full AMD retpoline, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling

    如果关闭了该补丁,会有类似的输出 (输出中带有Vulnerable)

    Vulnerabilities:
    Spec store bypass:     Vulnerable
    Spectre v1:            Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
    Spectre v2:            Vulnerable, IBPB: disabled, STIBP: disabled

使用说明

本站任何链接均可使用 鼠标中键 点击以直接在 新标签页 中打开

因为 ,所以本站直接使用 Cloudflare Pages 托管,大陆访问有时会比较缓慢,如遇到图片加载速度缓慢或出错,请刷新再试


内容归属

chinanoahli @ GitHub

对笔记内容有任何问题或建议,请到本项目的 Discussions页面 提出


奖励我一瓶快乐水

本站无广告,自费建设,自行维护

如果你觉得本站的资讯对你有用,可以通过以下任意一种方式奖励我一瓶快乐水

微信赞赏码

支付宝转账

外国朋友专用
点击图片跳转

微信赞赏码 支付宝转账 Paypal

关于许可证

严格禁止事项

严禁转载本站点的任何内容到大陆地区任何所谓的假开源平台,特别点名 CSDN 、 Gitee 等

基本全为个人笔记和个人观点,采用 CC BY SA 许可协议发布,许可协议的具体规条款请点击下方的 图片 进行查看

你可以任意修改和再分发本资料,但必须采用同样的许可证。

如有转载的资料或链接,请按照来源的许可证处理。

CC BY-SA 4.0