Steam: Difference between revisions
No edit summary |
Adjust the position of page translation tags & Add `Special:MyLanguage` prefix and `tvar` tags |
||
| Line 2: | Line 2: | ||
<translate> | <translate> | ||
<!--T:1--> | <!--T:1--> | ||
[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, [[<tvar name=1>Special:MyLanguage/#Proton</tvar>|Proton]].<ref>https://store.steampowered.com/</ref> | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
== Installation == <!--T:2--> | == Installation == <!--T:2--> | ||
==== Shell ==== <!--T:3--> | ==== Shell ==== <!--T:3--> | ||
<!--T:4--> | <!--T:4--> | ||
To temporarily use Steam-related tools like <code>steam-run</code> (for FHS environments) or <code>steamcmd</code> (for server management or tools like steam-tui setup) in a shell environment, you can run: | To temporarily use Steam-related tools like <code>steam-run</code> (for FHS environments) or <code>steamcmd</code> (for server management or tools like steam-tui setup) in a shell environment, you can run: | ||
| Line 25: | Line 21: | ||
<translate> | <translate> | ||
<!--T:5--> | <!--T:5--> | ||
This provides the tools in your current shell without adding them to your system configuration. For <code>steamcmd</code> to work correctly for some tasks (like initializing for steam-tui), you might need to run it once to generate necessary files, as shown in the [[#steam-tui| steam-tui section]]. | This provides the tools in your current shell without adding them to your system configuration. For <code>steamcmd</code> to work correctly for some tasks (like initializing for steam-tui), you might need to run it once to generate necessary files, as shown in the [[<tvar name=1>Special:MyLanguage/#steam-tui</tvar>| steam-tui section]]. | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
==== System setup ==== <!--T:6--> | ==== System setup ==== <!--T:6--> | ||
<!--T:7--> | <!--T:7--> | ||
To install the [[Steam]] package and enable all the system options necessary to allow it to run, add the following to your system configuration: | To install the <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> package and enable all the system options necessary to allow it to run, add the following to your system configuration: | ||
</translate> | </translate> | ||
| Line 52: | Line 45: | ||
<translate> | <translate> | ||
<!--T:8--> | <!--T:8--> | ||
[https://news.ycombinator.com/item?id=41549030 Anecdata on kernel 6.10 issues] | [<tvar name=link>https://news.ycombinator.com/item?id=41549030</tvar> Anecdata on kernel 6.10 issues] | ||
</translate> | </translate> | ||
{{note|1=<translate><!--T:61--> Enabling [[ | {{note|1=<translate><!--T:61--> Enabling <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> installs several [[<tvar name=1>Special:MyLanguage/unfree software</tvar>|unfree packages]]. If you are using <code>allowUnfreePredicate</code> you will need to ensure that your configurations permit all of them.</translate> | ||
<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 65: | Line 59: | ||
<translate> | <translate> | ||
== Configuration == <!--T:9--> | == Configuration == <!--T:9--> | ||
<!--T:10--> | <!--T:10--> | ||
Basic Steam features can be enabled directly within the {{nixos:option|programs.steam}} attribute set: | Basic Steam features can be enabled directly within the <tvar name=steam_option>{{nixos:option|programs.steam}}</tvar> attribute set: | ||
</translate> | </translate> | ||
| Line 84: | Line 76: | ||
</nowiki> | </nowiki> | ||
}} | }} | ||
{{note|<translate><!--T:11--> If you are using a Steam Controller or a Valve Index, Steam hardware support is implicitly enabled by <code>programs.steam.enable {{=}} true;</code> which sets {{nixos:option|hardware.steam-hardware.enable}} to true.</translate>}} | |||
<translate> | <translate> | ||
== Tips and tricks == <!--T:12--> | == Tips and tricks == <!--T:12--> | ||
=== Gamescope Compositor / "Boot to Steam Deck" === <!--T:13--> | === Gamescope Compositor / "Boot to Steam Deck" === <!--T:13--> | ||
| Line 174: | Line 163: | ||
<translate> | <translate> | ||
<!--T:17--> | <!--T:17--> | ||
Then install and run | Then install and run <code>steam-tui</code>. You may need to log in within <code>steamcmd</code> first if <code>steam-tui</code> has issues: | ||
</translate> | </translate> | ||
| Line 341: | Line 330: | ||
<!--T:36--> | <!--T:36--> | ||
When you restart [[Steam]] after an update, it starts the old version. ([https://github.com/NixOS/nixpkgs/issues/181904 #181904]) | When you restart <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> 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. | ||
| Line 384: | Line 373: | ||
<translate> | <translate> | ||
<!--T:42--> | <!--T:42--> | ||
In the presence of both drivers, [[Steam]] will default to amdvlk. The amdvlk driver can be considered more correct regarding Vulkan specification implementation, but less performant than radv. However, this tradeoff between correctness and performance can sometimes make or break the gaming experience. | In the presence of both drivers, <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> will default to amdvlk. The amdvlk driver can be considered more correct regarding Vulkan specification implementation, but less performant than radv. However, this tradeoff between correctness and performance can sometimes make or break the gaming experience. | ||
<!--T:43--> | <!--T:43--> | ||
To "reset" your driver to radv when both radv and amdvlk are installed, set either <code>AMD_VULKAN_ICD = "RADV"</code> or <code>VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"</code> environment variable. For example, if you start [[Steam]] from the shell, you can enable radv for the current session by running <code>AMD_VULKAN_ICD="RADV" steam</code>. If you are unsure which driver you currently use, you can launch a game with [https://github.com/flightlessmango/MangoHud MangoHud] enabled, which has the capability to show what driver is currently in use. | To "reset" your driver to radv when both radv and amdvlk are installed, set either <code>AMD_VULKAN_ICD = "RADV"</code> or <code>VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"</code> environment variable. For example, if you start <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> from the shell, you can enable radv for the current session by running <code>AMD_VULKAN_ICD="RADV" steam</code>. If you are unsure which driver you currently use, you can launch a game with [https://github.com/flightlessmango/MangoHud MangoHud] enabled, which has the capability to show what driver is currently in use. | ||
=== SteamVR === <!--T:44--> | === SteamVR === <!--T:44--> | ||
| Line 437: | Line 426: | ||
<translate> | <translate> | ||
<!--T:51--> | <!--T:51--> | ||
To find the vendor and product ID of a device [https://search.nixos.org/packages?channel=unstable&show=usbutils&from=0&size=50&sort=relevance&type=packages&query=usbutils usbutils] might be useful | To find the vendor and product ID of a device <tvar name=usbutils>[https://search.nixos.org/packages?channel=unstable&show=usbutils&from=0&size=50&sort=relevance&type=packages&query=usbutils usbutils]</tvar> might be useful | ||
=== Known issues === <!--T:52--> | === Known issues === <!--T:52--> | ||
| Line 445: | Line 434: | ||
<!--T:55--> | <!--T:55--> | ||
Resetting your password through the [[Steam]] app may fail at the CAPTCHA step repeatedly, with [[Steam]] itself reporting that the CAPTCHA was not correct, even though the CAPTCHA UI shows success. Resetting password through the [[Steam]] website should work around that. | Resetting your password through the <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> app may fail at the CAPTCHA step repeatedly, with <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> itself reporting that the CAPTCHA was not correct, even though the CAPTCHA UI shows success. Resetting password through the <tvar name=steam>[[Special:MyLanguage/Steam|Steam]]</tvar> website should work around that. | ||
== References == <!--T:54--> | == References == <!--T:54--> | ||