Steam/zh: Difference between revisions
Created page with "要查找设备的供应商和产品 ID,[https://search.nixos.org/packages?channel=unstable&show=usbutils&from=0&size=50&sort=relevance&type=packages&query=usbutils usbutils] 可能有用。" |
Updating to match new version of source page |
||
| (15 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
[https://store.steampowered.com/ Steam] 是一个数字游戏发行平台,提供庞大的游戏库供用户购买、下载和管理。在 NixOS 系统上,Steam 通常易于安装和使用,很多时候都能“开箱即用”。它通过兼容层 [[#Proton|Proton]] 支持在 Linux 上运行许多 Windows 游戏。<ref>https://store.steampowered.com/</ref> | |||
[https://store.steampowered.com/ Steam] | |||
<span id="Installation"></span> | <span id="Installation"></span> | ||
| Line 21: | Line 19: | ||
==== 系统设置 ==== | ==== 系统设置 ==== | ||
要安装 [[Steam]] 软件包并启用所有必要的系统选项以使其运行,请将以下内容添加到您的系统配置中: | 要安装 [[Special:MyLanguage/Steam|Steam]] 软件包并启用所有必要的系统选项以使其运行,请将以下内容添加到您的系统配置中: | ||
{{file|/etc/nixos/configuration.nix|nix| | {{file|/etc/nixos/configuration.nix|nix| | ||
| Line 36: | Line 33: | ||
}} | }} | ||
[https://news.ycombinator.com/item?id=41549030 关于内核 6.10 问题的轶事] | |||
[https://news.ycombinator.com/item?id=41549030 | |||
</ | {{note|1=启用 [[Special:MyLanguage/Steam|Steam]] 会安装多个[[Special:MyLanguage/unfree software|非自由软件包]]。如果您使用了 <code>allowUnfreePredicate</code>,则需要确保您的配置允许安装所有这些软件包。 | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ | nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ | ||
| Line 46: | Line 42: | ||
"steam-unwrapped" | "steam-unwrapped" | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight>}} | ||
}} | |||
<span id="Configuration"></span> | <span id="Configuration"></span> | ||
| Line 141: | Line 136: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
然后安装并运行 | 然后安装并运行 <code>steam-tui</code>。如果 <code>steamcmd</code> 出现问题,您可能需要先在 <code>steam-tui</code> 中登录: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Line 236: | Line 231: | ||
=== 修复 GNOME Dock 栏和活动概览中游戏图标缺失的问题 === | === 修复 GNOME Dock 栏和活动概览中游戏图标缺失的问题 === | ||
GNOME 使用窗口类来确定与窗口关联的图标。Steam 目前在其 .desktop 文件中没有设置所需的键值<ref>https://github.com/ValveSoftware/steam-for-linux/issues/12207</ref>,但您可以通过编辑每个游戏的 .desktop 文件中的 <code>StartupWMClass</code> 键值来手动修复此问题,该文件位于 <code>~/.local/share/applications/</code> 目录下。 | |||
GNOME | |||
对于通过 Proton 运行的游戏,该值应为 <code>steam_app_<game_id></code> (在哪里<code><game_id></code>与 <code>Exec</code> 行中 steam://rungameid/ 之后的值匹配)。 | 对于通过 Proton 运行的游戏,该值应为 <code>steam_app_<game_id></code> (在哪里<code><game_id></code>与 <code>Exec</code> 行中 steam://rungameid/ 之后的值匹配)。 | ||
| Line 280: | Line 273: | ||
=== Steam 未更新 === | === Steam 未更新 === | ||
更新后重启 [[Special:MyLanguage/Steam|Steam]] 时,它会启动旧版本。([https://github.com/NixOS/nixpkgs/issues/181904 #181904]) | |||
一个解决方法是删除 <code>/home/<USER>/.local/share/Steam/userdata</code> 目录下的用户文件。您可以在终端中使用 <code>rm -rf /home/<USER>/.local/share/Steam/userdata</code> 命令或文件管理器来完成此操作。之后,重启 Steam 即可重新生成配置。 | |||
<span id="Game_fails_to_start"></span> | <span id="Game_fails_to_start"></span> | ||
| Line 317: | Line 308: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
如果两个驱动程序都存在,[[Steam]] 将默认使用 amdvlk。amdvlk 驱动程序在 Vulkan 规范实现方面更准确,但性能不如 radv。然而,这种在正确性和性能之间的权衡有时会直接影响游戏体验。 | 如果两个驱动程序都存在,[[Special:MyLanguage/Steam|Steam]] 将默认使用 amdvlk。amdvlk 驱动程序在 Vulkan 规范实现方面更准确,但性能不如 radv。然而,这种在正确性和性能之间的权衡有时会直接影响游戏体验。 | ||
如果同时安装了 radv 和 amdvlk,要将驱动程序“重置”为 radv,请设置环境变量 <code>AMD_VULKAN_ICD = "RADV"</code> 或 <code>VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"</code> 。例如,如果您从 shell 启动 Steam,则可以通过运行 <code>AMD_VULKAN_ICD="RADV" steam</code> 为当前会话启用 radv。如果您不确定当前使用的是哪个驱动程序,可以启动一个启用了 MangoHud 的游戏,MangoHud 可以显示当前正在使用的驱动程序。 | 如果同时安装了 radv 和 amdvlk,要将驱动程序“重置”为 radv,请设置环境变量 <code>AMD_VULKAN_ICD = "RADV"</code> 或 <code>VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"</code> 。例如,如果您从 shell 启动 Steam,则可以通过运行 <code>AMD_VULKAN_ICD="RADV" steam</code> 为当前会话启用 radv。如果您不确定当前使用的是哪个驱动程序,可以启动一个启用了 [https://github.com/flightlessmango/MangoHud MangoHud] 的游戏,MangoHud 可以显示当前正在使用的驱动程序。 | ||
=== SteamVR === | === SteamVR === | ||
| Line 329: | Line 320: | ||
=== 与 Steam 使用时 Gamescope 无法启动 === | === 与 Steam 使用时 Gamescope 无法启动 === | ||
Gamescope 可能由于缺少 Xorg 库而无法启动。([https://github.com/NixOS/nixpkgs/issues/214275 #214275]) 要解决此问题,请添加以下内容覆盖 steam 包: | |||
Gamescope | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
| Line 369: | Line 358: | ||
=== 已知问题 === | === 已知问题 === | ||
“Project Zomboid”可能会报告“无法确定Java是32位还是64位”。这与Java本身无关,是由其使用自身过时的Java二进制文件解析路径时,其中包含非拉丁字符导致的。请通过在<code>steam-run bash</code>中直接启动本地Java二进制文件来解决错误。 | |||
通过 [[Special:MyLanguage/Steam|Steam]] 应用重置密码可能会反复在验证码环节失败,即使验证码界面显示成功,[[Special:MyLanguage/Steam|Steam]] 本身也会提示验证码错误。通过 [[Special:MyLanguage/Steam|Steam]] 网站重置密码应该可以解决这个问题。 | |||
<span id="References"></span> | <span id="References"></span> | ||