Steam/zh: Difference between revisions

FuzzyBot (talk | contribs)
Updating to match new version of source page
FuzzyBot (talk | contribs)
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/&lt;USER&gt;/.local/share/Steam/userdata</code>. This can be done with <code>rm -rf /home/&lt;USER&gt;/.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/&lt;USER&gt;/.local/share/Steam/userdata</code>. This can be done with <code>rm -rf /home/&lt;USER&gt;/.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>