Steam/zh: Difference between revisions
Updating to match new version of source page |
Updating to match new version of source page |
||
| Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
[https://store.steampowered.com/ Steam] is a digital distribution platform for video games, offering a vast library for purchase, download, and management. On NixOS, Steam is generally easy to install and use, often working "out-of-the-box". It supports running many Windows games on Linux through its compatibility layer, [[#Proton|Proton]].<ref>https://store.steampowered.com/</ref> | [https://store.steampowered.com/ Steam] is a digital distribution platform for video games, offering a vast library for purchase, download, and management. On NixOS, Steam is generally easy to install and use, often working "out-of-the-box". It supports running many Windows games on Linux through its compatibility layer, [[Special:MyLanguage/#Proton|Proton]].<ref>https://store.steampowered.com/</ref> | ||
</div> | </div> | ||
| Line 16: | Line 16: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div class="mw-translate-fuzzy"> | |||
这样就可以在当前 shell 中使用这些工具,而无需将其添加到系统配置中。为了使 <code>steamcmd</code> 能够正确执行某些任务(例如初始化 steam-tui),您可能需要运行一次 steamcmd 来生成必要的文件,如 [[#steam-tui| steam-tui]] 部分所示。 | 这样就可以在当前 shell 中使用这些工具,而无需将其添加到系统配置中。为了使 <code>steamcmd</code> 能够正确执行某些任务(例如初始化 steam-tui),您可能需要运行一次 steamcmd 来生成必要的文件,如 [[#steam-tui| steam-tui]] 部分所示。 | ||
</div> | |||
<span id="System_setup"></span> | <span id="System_setup"></span> | ||
==== 系统设置 ==== | ==== 系统设置 ==== | ||
<div class="mw-translate-fuzzy"> | |||
要安装 [[Steam]] 软件包并启用所有必要的系统选项以使其运行,请将以下内容添加到您的系统配置中: | 要安装 [[Steam]] 软件包并启用所有必要的系统选项以使其运行,请将以下内容添加到您的系统配置中: | ||
</div> | |||
{{file|/etc/nixos/configuration.nix|nix| | {{file|/etc/nixos/configuration.nix|nix| | ||
| Line 40: | Line 43: | ||
</div> | </div> | ||
{{note|1=启用 [[steam]] 会安装多个[[unfree software|非自由软件包]]。如果您使用了 <code>allowUnfreePredicate</code>,则需要确保您的配置允许安装所有这些软件包。 | {{note|1=<span class="mw-translate-fuzzy">启用 [[steam]] 会安装多个[[unfree software|非自由软件包]]。如果您使用了 <code>allowUnfreePredicate</code>,则需要确保您的配置允许安装所有这些软件包。</span> | ||
<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 51: | Line 55: | ||
== 配置 == | == 配置 == | ||
<div class="mw-translate-fuzzy"> | |||
基本 Steam 功能可以直接在 {{nixos:option|programs.steam}} 属性集中启用: | 基本 Steam 功能可以直接在 {{nixos:option|programs.steam}} 属性集中启用: | ||
</div> | |||
{{file|/etc/nixos/configuration.nix|nix| | {{file|/etc/nixos/configuration.nix|nix| | ||
| Line 66: | Line 72: | ||
}} | }} | ||
{{note|如果您使用的是 Steam 控制器或 Valve Index,Steam 硬件支持会通过设置 <code>programs.steam.enable {{=}} true;</code> 将{{nixos:option|hardware.steam-hardware.enable}} 选项同步设置为 true 来隐性启用}} | {{note|<span class="mw-translate-fuzzy">{{note|如果您使用的是 Steam 控制器或 Valve Index,Steam 硬件支持会通过设置 <code>programs.steam.enable {{=}} true;</code> 将{{nixos:option|hardware.steam-hardware.enable}} 选项同步设置为 true 来隐性启用}}</span>}} | ||
<span id="Tips_and_tricks"></span> | <span id="Tips_and_tricks"></span> | ||
| Line 140: | Line 146: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div class="mw-translate-fuzzy"> | |||
然后安装并运行 `steam-tui`。如果 `steam-tui` 出现问题,您可能需要先在 `steamcmd` 中登录: | 然后安装并运行 `steam-tui`。如果 `steam-tui` 出现问题,您可能需要先在 `steamcmd` 中登录: | ||
</div> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Line 280: | Line 288: | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
When you restart [[Steam]] after an update, it starts the old version. ([https://github.com/NixOS/nixpkgs/issues/181904 #181904]) | When you restart [[Special:MyLanguage/Steam|Steam]] after an update, it starts the old version. ([https://github.com/NixOS/nixpkgs/issues/181904 #181904]) | ||
A workaround is to remove the user files in <code>/home/<USER>/.local/share/Steam/userdata</code>. This can be done with <code>rm -rf /home/<USER>/.local/share/Steam/userdata</code> in the terminal or with your file manager. After that, Steam can be set up again by restarting. | A workaround is to remove the user files in <code>/home/<USER>/.local/share/Steam/userdata</code>. This can be done with <code>rm -rf /home/<USER>/.local/share/Steam/userdata</code> in the terminal or with your file manager. After that, Steam can be set up again by restarting. | ||
</div> | </div> | ||
| Line 316: | Line 324: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div class="mw-translate-fuzzy"> | |||
如果两个驱动程序都存在,[[Steam]] 将默认使用 amdvlk。amdvlk 驱动程序在 Vulkan 规范实现方面更准确,但性能不如 radv。然而,这种在正确性和性能之间的权衡有时会直接影响游戏体验。 | 如果两个驱动程序都存在,[[Steam]] 将默认使用 amdvlk。amdvlk 驱动程序在 Vulkan 规范实现方面更准确,但性能不如 radv。然而,这种在正确性和性能之间的权衡有时会直接影响游戏体验。 | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
如果同时安装了 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。如果您不确定当前使用的是哪个驱动程序,可以启动一个启用了 MangoHud 的游戏,MangoHud 可以显示当前正在使用的驱动程序。 | ||
</div> | |||
=== SteamVR === | === SteamVR === | ||
| Line 363: | Line 375: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div class="mw-translate-fuzzy"> | |||
要查找设备的供应商和产品 ID,[https://search.nixos.org/packages?channel=unstable&show=usbutils&from=0&size=50&sort=relevance&type=packages&query=usbutils usbutils] 可能有用。 | 要查找设备的供应商和产品 ID,[https://search.nixos.org/packages?channel=unstable&show=usbutils&from=0&size=50&sort=relevance&type=packages&query=usbutils usbutils] 可能有用。 | ||
</div> | |||
<span id="Known_issues"></span> | <span id="Known_issues"></span> | ||
| Line 370: | Line 384: | ||
“Project Zomboid”可能会报告“无法确定Java是32位还是64位”。这与Java本身无关,是由其使用自身过时的Java二进制文件解析路径时,其中包含非拉丁字符导致的。请通过在<code>steam-run bash</code>中直接启动本地Java二进制文件来解决错误。 | “Project Zomboid”可能会报告“无法确定Java是32位还是64位”。这与Java本身无关,是由其使用自身过时的Java二进制文件解析路径时,其中包含非拉丁字符导致的。请通过在<code>steam-run bash</code>中直接启动本地Java二进制文件来解决错误。 | ||
<div class="mw-translate-fuzzy"> | |||
通过 [[Steam]] 应用重置密码可能会反复在验证码环节失败,即使验证码界面显示成功,Steam 本身也会提示验证码错误。通过 [[Steam]] 网站重置密码应该可以解决这个问题。 | 通过 [[Steam]] 应用重置密码可能会反复在验证码环节失败,即使验证码界面显示成功,Steam 本身也会提示验证码错误。通过 [[Steam]] 网站重置密码应该可以解决这个问题。 | ||
</div> | |||
<span id="References"></span> | <span id="References"></span> | ||