使用 Steam 安装 Windows 应用

archive time: 2024-07-27

Steam 好耶,比起 bottles 可用性还要高一些

这篇博客算是我这个视频的文字版本

起因

我是为什么想到使用 Steam 来安装 Windows 应用的呢? 主要还是国内网络环境不好,bottles 在我这里完全没法完成初始化, 加上网上已经有许多有关 Wine,Proton 的使用教程视频,并且也有使用 Steam 启动非 Steam 游戏的教程, 所以很自然的,我就想到了使用 Steam 来安装非游戏应用。

可能的难点

Proton 就是从 Steam 发展出去的技术,而这个技术则是基于 Wine 的, 所以使用 Steam 安装 Windows 应用,其实就是让 Steam 来自动帮我们用 Proton 初始化一个合适的容器1

为什么不手动创建呢?

总有人问这种问题,并且 Proton 在 AUR 也有单独打包

最主要的理由就是我要使用 Steam 来打 旮旯给木,所以顺便了,其次就是手动太麻烦了,我自己没有什么定制需求,所以 Steam 对我而言是足够的

为什么要使用快捷方式启动

如果看过这期视频的人应该发现,我是使用快捷方式启动微信的,这是为什么呢?

原因就是有部分国内应用的启动不是只启动主程序就好了,并且可能有各种参数需要传递

而快捷方式中已经为我们写好了一个可以启动的启动命令,所以如果有快捷方式,使用快捷方式大多是情况下是不会有错的

步骤

具体的步骤可以看视频操作,大概的步骤如下:

  1. 打开 Steam,选择 库(Library),然后点击“添加游戏”,然后点击“添加非 Steam 游戏”
  2. 点击“浏览”,选中安装器,如果是可以直接启动的游戏/应用,选中后就可以了,其他的就只是设置一下名称和图标了
  3. 右键添加好的应用,选择“属性”,点击“兼容性”,勾选“强制使用特定 Steam Play 兼容性工具”,然后选择合适的版本即可,如果不知道选哪个,那就使用 experimental
  4. 启动应用,如果是安装器,那么就正常安装就好,不过要勾选创建桌面图标(如果有的话),如果是应用本身,那么应该可以直接使用了
  5. 再次进入属性,修改 起始位置 为容器 C 盘 位置,目标 设置为应用本体或者桌面图标
    • C 盘位置一般在 $HOME/$steampath/steamapps/compatdata/$appid/pfx/drive_c
    • 注意,$steampath 指 Steam 的存放位置,因人而异,我是使用 Flatpak 安装的,所以是 .var/app/com.valvesoftware.Steam/.local/share/Steam
    • $appid 是容器的 ID,可以通过创建日期来分辨,每个使用兼容性工具的应用的 ID 都是不同的
  6. (可选)修改应用名称,图标,背景图

兼容性

在我尝试过的应用中,目前除了 QQ 音乐以及 QQ 本身无法正常启动,目测是和一些检查以及 GPU 加速有关,其他都可以正常启动

包括植物大战僵尸杂交版,大部分关卡都是正常的,部分关卡可能出现闪退,但是应该是和游戏本身有关系,毕竟游戏本身就不是很稳定


1

这个容器不是指 Docker 那种 container,而是指一种兼容层的隔离,类似 Windows 的 MSYS2 环境