Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
systems:steam [2022/09/22 04:10] – what do if upgrade and fail atarisystems:steam [2025/03/26 21:01] (current) jolting_jolter
Line 5: Line 5:
 ====== Steam ====== ====== Steam ======
  
-Steam became available in Batocera **v31** via manual Flatpak installation, and in **v32** it became an integrated system! You can only install Steam on //x86_64// platforms (unfortunately we aren't magic).+You can only install Steam on //x86_64// platforms (unfortunately we aren't magic).
  
 <WRAP center round important> <WRAP center round important>
Line 43: Line 43:
 Since Steam is a Flatpak, it too saves program data to the saves folder instead as well. Only the shortcuts are stored in the ROMs folder. Since Steam is a Flatpak, it too saves program data to the saves folder instead as well. Only the shortcuts are stored in the ROMs folder.
 </WRAP> </WRAP>
 +
  
 ===== Installation ===== ===== Installation =====
  
 <WRAP center round important> <WRAP center round important>
-A mouse and keyboard will be required for installation.+A mouse and keyboard will be required for the first launch of Steam.
 </WRAP> </WRAP>
 +
  
 ==== Installing the Steam flatpak ==== ==== Installing the Steam flatpak ====
  
-Steam will be installed via Flatpak. The recommended way to do so is [[systems:flatpak#using_flatpak-config|using the flatpak-config GUI]]. Search for "Steam" and install the appropriate package.+=== Using the GUI === 
 + 
 +This video shows the install process using the flatpak-config UI, and the launch of the Steam application via the Steam system menu in EmulationStation. 
 +This applies from Batocera v40 and later. 
 + 
 +{{ :emulators:steamv40.mp4?direct&720 |}} 
 + 
 +Steam will be installed via Flatpak. The recommended way to do so is [[systems:flatpak#using_flatpak-config|using the flatpak-config GUI]]. Add the Flathub remote, search for "Steam" and install the appropriate package. See the video above for more details.
  
 {{ :systems:virtualbox_batocera.linux_for_pc_31x64_18_10_2021_07_54_52.png?direct&720 |}} {{ :systems:virtualbox_batocera.linux_for_pc_31x64_18_10_2021_07_54_52.png?direct&720 |}}
  
-If for some reason that doesn't work, you can always install Steam via [[:access_the_batocera_via_ssh|SSH]]:+=== Using SSH === 
 + 
 +If for some reason that doesn't work, you can install Steam via [[:access_the_batocera_via_ssh|SSH]]:
  
 <code> <code>
-flatpak install com.valvesoftware.Steam +flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-</code>+
  
-<WRAP center round info> +flatpak install com.valvesoftware.Steam 
-For Batocera **v31**, if this is the first time you've used [[systems:flatpak|Flatpak]] you'll need to add the repository first: +Looking for matches… 
- +Required runtime for com.valvesoftware.Steam/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/24.08) found in remote flathub 
-<code> +Do you want to install it? [Y/n]:
-flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo+
 </code> </code>
  
-Batocera **v32** and higher already have this set as the default repository. +Some older Batocera releases may already have the `flathub` remote installed.
-</WRAP>+
  
-=== Update Flatpak game list === 
  
-Once that's done, simply update the game list to see Steam in the Ports system!+=== Update game list ===
  
-{{ https://wiki.batocera.org/_media/systems:screenshot-2021.09.05-15h48.38.jpg?nolink&720 |Steam's icon showing up in the Ports system. Ah, familiarity.}}+To add Steam to EmulationStation from **v40** or higher you need to update the Games List to get the Steam system on your main menu:
  
-To do this via SSH:+{{:systems:screenshot-2024.07.25-13h07.30.png?720|}} 
 +{{:systems:screenshot-2024.07.25-13h07.06.png?720|}}
  
-<code> +**NoteEnsure you launch Steam from within the Steam systems menu to allow the initial configuration.**
-batocera-flatpak-update +
-</code> +
- +
-The output should be: +
- +
-<code> +
-adding Steam +
-updating permissions on files... +
-</code>+
  
-Then launch Steam! It will have to install its updatesthen you'll be greeted by the Steam login dialog. If you have two-factor authentication, you'll need your phone handy as well. Sign in and wait patiently for Steam to do some house-cleaning.+When launched, Steam will have to install its updates and then you'll be greeted by the Steam login dialog. If you have two-factor authentication, you'll need your phone handy as well. Sign in and wait patiently for Steam to do some house-cleaning.
  
 <WRAP center round important> <WRAP center round important>
Line 106: Line 105:
  
 {{ systems:activate-steam-bpm.png?540 |The Interface settings menu. You can't miss it.}} {{ systems:activate-steam-bpm.png?540 |The Interface settings menu. You can't miss it.}}
 +
 +<WRAP center round important>
 +If using a resolution equal to or lower than 640x480 using Big Picture mode may cause issues.
 +</WRAP>
  
 Exit and relaunch Steam. You no longer need a mouse and keyboard at this point. Exit and relaunch Steam. You no longer need a mouse and keyboard at this point.
Line 174: Line 177:
 </WRAP> </WRAP>
  
-===== Adding to the Steam system in ES =====+===== Adding games to the "Steamsystem in ES =====
  
-Simply update the game list (**MAIN MENU** -> **GAMES SETTINGS** -> **UPDATE GAMES LIST**) to add the installed Steam games to the Steam system in EmulationStation.+If you want to add your installed Steam games to the EmulationStation's "Steam" system section, note that it is mandatory to check the following two options on every Steam game installation, as the Batocera gamelist update script relies on those shortcuts/icons: 
 +  * //Create desktop shortcut// 
 +  * //Create a system application icon// \\ {{:systems:steamgamesshortcuts.png?400|}} 
 + 
 +<WRAP center round tip 60%> 
 +Note: If you have already installed the Steam game without creating the according desktop shortcut or if you added a non-Steam game to the Steam library, you can still do this manually. Just highlight and right-click the according game in Steam and click \\ //Manage// → //Add desktop shortcut//. \\ Then you can find the desktop icon on the following path: \\ 
 +''/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/Desktop/<myGame>.desktop'' \\ 
 +Now you have to duplicate the desktop shortcut to the according path by executing: \\ 
 +''cp /userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/Desktop/<myGame>.desktop /userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/data/applications/'' 
 +</WRAP> 
 + 
 +Then, simply update the Batocera game list (**MAIN MENU** -> **GAMES SETTINGS** -> **UPDATE GAMES LIST**) to add the installed Steam games to the Steam system in EmulationStation.
  
 {{ blog:screenshot-2021.09.03-22h22.51.jpg?nolink&720 |Steam games will show up in the system list with all your retro-consoles! This satiates my organization OCD!}} {{ blog:screenshot-2021.09.03-22h22.51.jpg?nolink&720 |Steam games will show up in the system list with all your retro-consoles! This satiates my organization OCD!}}
Line 197: Line 211:
  
   - Open the VDF library file for the Steam insallation. This will vary based on operating system:   - Open the VDF library file for the Steam insallation. This will vary based on operating system:
-    * **Pop! OS:** ''~/.steam/debian-installation/config/libraryfolders.vdf''\\ {{:systems:steam_libraryvdf_on_pop_os.png|}}+    * **Pop! OS:** \\ ''~/.steam/debian-installation/config/libraryfolders.vdf''\\ {{:systems:steam_libraryvdf_on_pop_os.png|}}
     * (FIXME more OSes?)     * (FIXME more OSes?)
   - Add a new library entry. If you don't know how to type it out, use the Steam menu to do so (pointing to any folder on the intended drive, this will be changed later).   - Add a new library entry. If you don't know how to type it out, use the Steam menu to do so (pointing to any folder on the intended drive, this will be changed later).
Line 259: Line 273:
 flatpak install com.valvesoftware.Steam.CompatibilityTool.Proton com.valvesoftware.Steam.CompatibilityTool.Proton-Exp com.valvesoftware.Steam.CompatibilityTool.Proton-GE flatpak install com.valvesoftware.Steam.CompatibilityTool.Proton com.valvesoftware.Steam.CompatibilityTool.Proton-Exp com.valvesoftware.Steam.CompatibilityTool.Proton-GE
 </code> </code>
 +
 +==== Steam BETA Update client issues: Access Big Picture Mode with Gamepad in Beta Client | Unable to change settings in Beta Client ====
 +
 +Those two issues are reproducible only in the Steam BETA update client version:
 +- Unable to initialize Big Picture Mode with Gamepad Hotkey (Start Key in the Steam) in the Steam Beta Client version
 +- Unable to change any settings from steam settings using the interface in the Steam Beta Client version
 +
 +To fix it, you need to rollback to the regular version, but due to the settings issues, you can't rollback using the interface, so you need to manually delete the beta file to goes back to the standard steam client version
 +
 +Normally the interface way to do it is:
 +<code>
 +Settings/Preferences > Account > Beta Participation - Steam > NONE
 +</code>
 +But if you can't to do it due to the interface window issue, do it manual:
 +At batocera, open the file manager [F1}, and the **delete the beta file** found in steam/packages:
 +<code>
 +/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/.steam/steam/package/beta
 +</code>
 +
 +Exit the file manager and relaunch steam again at ports, it will be updated to the regular version again.
 +It will be possible to start big picture mode pressing the gamepad Hotkey button and also interact correctly with the steam windows.
  
 ==== Setting up launch commands ==== ==== Setting up launch commands ====
Line 283: Line 318:
 ==== Editing game files ==== ==== Editing game files ====
  
-Should you need to edit a game's files directly, they are in ''/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/''+Should you need to edit a game's files directly, they are in \\ ''/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/''
  
 You will need to enable "view hidden folders" to see beyond the ''.var/'' directory. You will need to enable "view hidden folders" to see beyond the ''.var/'' directory.
Line 289: Line 324:
 ==== My game has successfully installed and runs from Steam, but is not showing up on my games list in EmulationStation ==== ==== My game has successfully installed and runs from Steam, but is not showing up on my games list in EmulationStation ====
  
-Some games instead opt to create desktop shortcuts that Batocera fails to detect in ''/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/Desktop''You can remedy this by copying the shortcut to ''/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/data/applications'' instead and then refreshing your game list.+Some games instead opt to create desktop shortcuts that Batocera fails to detect in \\ ''/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/Desktop'' \\ You can remedy this by copying the shortcut to \\ ''/userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/.local/share/applications'' \\ instead and then refreshing your game list.
  
-If this is a frequent problem for you, you can permanently symlink the folders using the following [[:access_the_batocera_via_ssh|command]]: ''ln -s /userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/Desktop /userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/data/applications''+If this is a frequent problem for you, you can permanently symlink the folders using the following [[:access_the_batocera_via_ssh|command]]: \\ ''ln -s /userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/Desktop /userdata/saves/flatpak/data/.var/app/com.valvesoftware.Steam/.local/share/applications''
  
 ==== My game has no controls! ==== ==== My game has no controls! ====
Line 317: Line 352:
 This was a known issue with Steam in Flatpak. The exact cause and the exact solution aren't clear, but here's one thing users have been doing to moderate success with Steam on Batocera: This was a known issue with Steam in Flatpak. The exact cause and the exact solution aren't clear, but here's one thing users have been doing to moderate success with Steam on Batocera:
  
-Download the following udev rule file and copy it to ''/etc/udev/rules.d/99-steam-controller-perms.rules'' (you can do this using Batocera's file manager (''[F1]'' in the system list) or via WinSCP):+Download the following udev rule file and copy it to \\ ''/etc/udev/rules.d/99-steam-controller-perms.rules'' \\ (you can do this using Batocera's file manager (''[F1]'' in the system list) or via WinSCP):
  
 <code - 99-steam-controller-perms.rules> <code - 99-steam-controller-perms.rules>
Line 378: Line 413:
  
   * In **Shader pre-caching**: check **Allow background processing of Vulkan**.   * In **Shader pre-caching**: check **Allow background processing of Vulkan**.
 +
 +==== Steam's stuck on waiting for network ====
 +See github issue: [[https://github.com/batocera-linux/batocera.linux/issues/9011|Steam Flatpak stuck on "waiting for network"]]: when looking at the network, it shows. Error: "e.StartScanningForNetworks is not a function".
 +
 +The workaround is to open ''/share/roms/flatpak/steam.flatpak'' with a text editor and write: 
 +<code>
 +com.valvesoftware.Steam -vgui
 +</code>
 +then update gamelist in batocera 
 +
 +==== Steam crashes on windows games ====
 +The proton version coming with steam is not very compatible with the flatpak version. Install an alternate version of proton by following [[https://wiki.batocera.org/systems:steam#installing_alternate_versions_of_proton]] , then launch your windows games with one of the proton community builds.
 +
 +==== My laptop has a hybrid gpu and performance is very poor ====
 +It's possible that Steam is using the iGpu instead of your discrete Gpu.
 +
 +Possible workarounds for a nvidia discrete card are:
 +  * Edit your launch options with:
 +<code>
 +VK_ICD_FILENAMES=/usr/share/vulkan/nvidia/nvidia_production_icd.x86_64.json %command%
 +</code>
 +  * For some games, you need:
 +<code>
 +VK_ICD_FILENAMES=/usr/share/vulkan/nvidia/nvidia_production_icd.x86_64.json DXVK_FILTER_DEVICE_NAME="NVIDIA" %command%
 +</code>
 +  * If you want to use FSR, the launch option will be:
 +<code>
 +VK_ICD_FILENAMES=/usr/share/vulkan/nvidia/nvidia_production_icd.x86_64.json WINE_FULLSCREEN_FSR=1 %command%
 +</code>
 +Remember to use "Fullscreen" in your game settings and to lower the resolution for FSR to take effect.
 +  * if you don't want to modify the launch option for each game, you can also edit your ''/userdata/system/custom.sh'' to export this environment variable with
 +<code>
 +#!/bin/bash
 +case "$1" in
 +    start) 
 +        # Code in here will only be executed on boot.
 +        export VK_ICD_FILENAMES=/usr/share/vulkan/nvidia/nvidia_production_icd.x86_64.json
 +</code> 
 +
 +
  
  • systems/steam.1663819848.txt.gz
  • Last modified: 4 years ago
  • by atari