我目前使用 2 个版本的 steam,Linux 版本用于与 Linux 兼容的游戏,而 wine 中的 windows 版本用于不兼容的游戏。我想知道是否可以让 wine 在 Linux steam(不使用 wine 的版本)的游戏上运行,这样我就不必在两个 steam 之间来回切换。
答案1
所以,我知道这是一个老问题,但似乎有办法做到这一点。有点。
编辑:所以,下载了 1 个游戏后,它似乎无法正常工作。启动游戏没有任何反应。没有错误……什么都没有。所以,YMMV。
它涉及通过在正确的文件夹中创建 appmanifest 来欺骗客户端,使其认为可以安装。幸运的是,由于 Steam 组装良好且容错性强,您只需复制其他清单,更改一些字段,它就会自动修复文件并开始下载游戏。
如果链接中断,以供将来参考:
在 Steam 中右键单击您想要的游戏。单击“创建桌面快捷方式”。
将快捷方式以文本形式打开并找到 gameid。它将位于 Exec 行上。例如,“Exec=steam steam://rungameid/204880”表示 gameid 为 204880。(找到这是哪个游戏可获得加分!:P)
现在我们制作一份新的清单。(哦,如果您仍打开 Steam,您可以继续关闭它。)最有可能的是,您将转到 ~/.local/share/Steam/SteamApps/。将有几个“appmanifest_xxxxxx.acf”文件(长度可变)。这些文件代表您安装的游戏。选择一个(到目前为止,似乎任何一个都可以)。复制它并将其保存为 appmanifest_gameid.acf(显然将 gameid 替换为原来的 gameid)。现在打开它并更改 appID、GameID、名称和第二个名称字段。保存它。
重新打开 Steam。
???(Steam 更正了我们的错误文件。尽管如此,我注意到一些旧属性仍然存在,可能回来咬我/你/我们。)
盈利!(开始下载)
截至撰写本文时,我得到的答案就这么多。我的游戏仍在下载,我想分享一下,因为我在寻找相同答案时偶然发现了这个 QA :)
答案2
选择“添加游戏...”>“添加非 Steam 游戏”。
在提供的列表中搜索游戏。如果找到,请添加它,然后就大功告成了。
如果你没找到,创建一个 .desktop 文件Exec=wine /path/to/game/exe
并将其放入其中/usr/share/applications
。
关闭并重新打开添加游戏窗口。现在您应该可以在列表中找到该游戏。
答案3
您可以创建一个非常简短的脚本来启动游戏(参见:https://www.winehq.org/docs/wineusr-guide/running),然后使用“添加非 Steam 游戏”在您的 Steam 库中创建一个指向该脚本的条目。这意味着您将在 Linux 客户端上的游戏列表中拥有该游戏。
但是,Windows Steam 客户端仍需加载才能运行游戏。我相信可以(虽然在提出问题时可能还不行)以某种默认的最小化模式加载,该模式仅显示系统托盘图标。
答案4
您可以将 Wine 前缀与 Proton 一起使用(例如 GE)。为此,您需要在 Proton 文件夹(7.43 版本为 /home/nicourrrn/.steam/steam/compatibilitytools.d/GE-Proton7-43/files/share)中替换或删除 default_pfx,并在 Wineprefix 上放置符号链接(默认为 ln -s ~./wine)
PS,抱歉我的英语不好。