|Windows||September 12, 2003|
|macOS (OS X)||May 12, 2010|
|Linux||February 14, 2013|
- DRM: Digital distribution platform with accompanying client required for downloading and often playing games as well. Games can also be DRM-free or contain third party DRM.
- Two-factor authentication: Steam Mobile app, or email
- Architectures: All clients support 32- and 64-bit games; the Mac client supports ARM64 games as of September 2021. The client itself is 32-bit on Windows and Linux, despite a Steam update in 2018 that allowed Valve to update individual features to 64-bit. A 64-bit client is available for macOS.
- Some games sold through third parties activate on Steam; see Retail / Digital CD Keys.
- For better integration with Linux, it is recommended to install Linux Steam Integration.
- The Flatpak version of the client is available at the FlatHub database.  However, be aware that most games have issues with the Steam Cloud sync, more about this can be found here. For a better security, it is suggested to follow the Snap version progress.
- Support for Windows XP/Vista was retired on January 1, 2019.
- The original system requirements were Windows 98 or later, a 400 MHz processor, 64 MB RAM, an internet connection (broadband recommended), and a recommended 1 GB of hard disk space.
- Official Store
- Official Support
- Account Details
- Steam Community Discussions
- Steam Translation Server
- Steam Database
- Steam Charts
- Download and run the latest installer from the About page of Steam.
- Beta participation for the Steam client can be toggled in the settings.
- Beta Changelog
Configuration file(s) location
|Cloud saves||See the related section for details.|
|Games launch configuration||<Steam-folder>\appcache\appinfo.vdf|
|Games setup configuration||<library-folder>\SteamApps\appmanifest_<game-id>.acf
|Games dependencies status||HKEY_CURRENT_USER\SOFTWARE\Valve\Steam\Apps
<Steam-folder>\steamapps\libraryfolders.vdf on Linux
localconfig.vdfcontains the main client preferences, the user apps configuration, and the game licenses and legacy cd keys cache.
Big Picture is a 10-foot user interface mode of the Steam client designed for readability and interaction on a TV with a game controller; although it supports keyboards and mice and is accessible on all computers and form factors as well. Most features and functionality of the desktop mode of the client is supported in Big Picture mode as well, although a few limitations might exist (such as the inability to configure Steam Cloud synchronization). Big Picture mode is also the UI that Steam will launch and make use of when streaming to the Steam Link streaming box.
- See PC gaming on a TV and couch for general setup information.
- Allows Steam to be used with a controller.
|Open Big Picture mode from desktop mode:|
Render the UI at resolutions above 1080p
- For desktop resolutions above 1080p Big Picture Mode automatically renders the UI at 1080p and then upscales it to cover the full desktop resolution. This results in slightly blurry UI elements and text. Users can choose to always render Big Picture Mode in the full desktop resolution of Windows.
- Some elements may not be made for high resolutions, and may appear blurry.
|Use a custom shortcut to launch Steam|
- Allows sharing games between accounts. Each account gets separate saves (if supported by the game), achievements, et al. except for DRM keys, which are shared.
- If the account's main owner is playing a game from their own account, or someone else is using family share on that account, you are presented with the "buy" option instead of install/play for the selected game.
- VAC bans can apply to the both the perpetrator and the owning account of a shared game, and the Family Share feature can be revoked entirely.
- Games with 3rd party DRM tied to account-locked keys (such as Ubisoft Connect), have the feature specifically turned off by their publisher.
Offline Mode is a mode of Steam where installed games can still be accessed and played without an online connection. It is mostly relevant when users have limited or no Internet access, and will automatically be engaged when the client detects that there's no Internet access available.
- Requires the user to have signed in and launched downloaded games at least once with online connectivity in advance to properly configure both the account and the individual games for offline play.
- The Steam installation under <Steam-folder> is portable, meaning that it can be copied to any PC and Steam will start normally. This way, every game with standard Steam DRM can be played on another computer without internet connection, if you login into offline mode successfully. In case the steam client wants to check for updates after startup, which can prevent the offline mode from working, see Disable client update check on startup.
- Additional third-party DRM (including Steam CEG) might prevent offline play. Certain use of the Steam Cloud and/or Steam API can also inadvertently prevent offline play (e.g. Mega Man Legacy Collection 2 and Caladrius Blaze).
|Prepare Steam and games for offline mode|
- Start dialog box can be removed by setting SkipOfflineModeWarning to 1 in
<Steam-folder>/config/loginusers.vdf. Note that this setting gets reset to 0 after Steam quits.
For a list of games, see games using Steam Cloud over on the Steam storefront. Some games might not be listed even though they use the feature.
Steam Cloud is a feature of the Steam client that allows game data to sync between players' computers by uploading it to the online Steam platform after a game have been played, and downloading/synchronizing the local data when the Steam client or the game is launched. The implementation of the feature is game-specific and up to the developers of the game. Some developers choose to only sync save game data, or both save game data and configuration files, yet others force users to choose only a single slot to be synced. Some games list Steam Cloud as a supported feature, but do not sync any data whatsoever. An examples of such a game is Capsized.
- Automatically backs up saves/settings on supported games.
- Not every game is supported; up to the developers to implement it and decide on to sync.
- Can only be toggled through the desktop mode of the Steam client.
- The below table lists where Steam Cloud data may be stored for games locally.
- Note that games rarely use these locations for the actual local storage of their save files and configurations; which is most often saved elsewhere. If save games or configuration files can be seen here, chances are those files are merely cached copies used by Steam Cloud of files stored elsewhere (e.g. in %USERPROFILE%). They are often not an indication that a game works directly toward these locations.
|macOS (OS X)|
- remote - Contains locally cached data synchronized with Steam Cloud. Files contained within are synchronized with the cloud servers before a game is started or after it is closed.
- local - Contains data not meant to be synced towards Steam Cloud. This folder is rare, and is often an indication that a game uses Steam Cloud as its primary storage, and does not store save games or configuration files elsewhere.
- Disabling the feature system-wide takes precedence over the game-specific setting.
|Toggle the feature for a specific game:|
|Toggle the feature system-wide:|
Delete files stored in the cloud
|Upload empty files|
|Games without a remote folder|
Steam Community Overlay
The Steam Community Overlay is an in-game overlay component of Steam that is available in all supported games launched through the Steam client. It enables users to access the Steam Community platform, list of achievements for the game, the Steam Chat, a general-purpose web browser, as well as a FPS counter OSD, all without leaving the confines of the game window. It also features in-game notifications for events such as achievement unlocked, invite received, new chat message, etc. Most common graphics APIs are supported, and compatibility with games are quite high.
- Used by Steam Input, Steam Controller, and in-game features like DLC purchase, game invites, screenshots, etc. Disabling the overlay globally or game-specific will limit the functionality within affected games.
- Add an external game to the Steam Library as a Non-Steam Game and launch it through Steam to allow the use of the Steam Overlay within the external game.
- Toggle using ⇧ Shift+Tab ↹ or the Home/Guide button on a controller.
- Disabling the feature system-wide takes precedence over the game-specific setting.
|Toggle the feature for a specific game:|
|Toggle the feature system-wide:|
Steam Input is a feature of the Steam client and umbrella term referring to the entire collection of software, hardware, and configuration utilities that Steam uses to interface with games. It acts like a wrapper using the Steam Community Overlay to intercept and manipulate player input before passing it on along to the game. This allows it to bind certain game-specific actions to specific input that supports action-based input, or to add or extend the functionality of input devices in various ways, such as adding XInput, keyboard, or even mouse support to input devices that otherwise would not support them. The feature was previously known simply as Steam Controller as there was no distinction from the controller with the same name and its supporting environment and features, which eventually was renamed to Steam Input.
- Disabling the Steam Community Overlay prevents Steam Input from being active as well.
- Allows supported input devices that lacks native XInput support to function in XInput-based games.
- Can interfere with the functionality of a controller in some games, based on Steam Input configuration and whether Steam Community Overlay is enabled for the game or not.
- See the Steam Input section of the Steamworks documentation for much more in-depth information.
Steam Input API
For a list of games, see
Steam Input API (SIAPI, previously known as Steam Controller API or SCAPI) refers to the accompanied API that games can make use of to add support for action-based input, as opposed to button-based input. The main difference from other APIs like XInput and DirectInput is that when a game implements support for the Steam Input API the game itself does not need to add support for any particular input device or method. Instead the Steam Input layer and API acts as a hardware abstraction layer and converts the input received from a supported input device to the proper game-specific action the user has configured the input to. This means that when Steam adds more supported input devices or methods to the Steam Input layer, games will automatically support those new devices and methods without any additional development time required by the game developers.
- How the game-specific controller configurator functions depend on the level of support the game have for Steam Input. Refer to supported games for details.
- Community configurations and pre-built templates (from either Valve or the game developer) are available and can be adjusted to one's liking.
Steam Controller Configurator is used to rebind actions (for games that natively support the Steam Input API) or buttons (for games that do not natively support the API). If a game does not support the Steam Input API natively, the Steam Controller Configurator will fall back to a "legacy mode" where the user can instead rebind buttons on their controllers (e.g. bind Numpad 5 to X on the gamepad) as well as tweak various functionality of their controllers (e.g. rapid fire, deadzone, sensitivity etc).
|Open controller configuration for compatible controllers:|
Steam Input supports four different configurations, three of which are known as "base" configurations while the one remaining is game-specific. What configuration is currently active depends on what environment Steam Input currently believes it is being used in, using the Steam Overlay to properly detect games. This can result in scenarios where the desktop configuration is applied for a game because the Steam Overlay is disabled or not functioning properly for the game.
|Game-specific||Used when Steam Input detects the presence of a game. The actual configuration is game-specific.|
|Big Picture||Used for Big Picture mode of Steam.|
|Desktop||Used while outside of a game, on the desktop of the operating system.
Will be used if Steam Input fails to properly detect a game.
|Guide Button Chord||Global accessible override configuration by holding down the Guide/Home button of the controller.
Can result in unwanted input if accidentally triggered while turning off certain wireless controllers.
- Some games might not natively support Steam Input API but still provide button prompts for the Steam Controller, see the Steam Controller article for more information.
- Subreddit with a list of games with native/official bindings support
|Native Steam Input API support||Native||Actions||The game supports Steam Input API and allows for full use of the controller configurator for all compatible devices. The game can include native button prompts, action sets, haptic feedback and official configurations with aliased text for games features.
For a list of games, see
|No Steam Input API support; provides official bindings||Legacy||Buttons||The game does not support Steam Input API, however it does provide one or more official controller config(s) for the configurator.
For a list of games, see
|No Steam Input API support||Legacy||Buttons||The game does not support Steam Input API nor provide any official config for the controller configurator. The user has to use a community-created config or create their own.
Supported input devices will be limited to emulating XInput and/or mouse/keyboard input.
|Toggle Steam Input for a specific game:|
Supported input devices
- Supported style of input options differs based on the controller. Refer to the controller-specific page for more information.
- Enabling controller support can cause double input or similar input issues in certain games, or while using certain configurations for the controller.
- In some instances Steam Input will be enabled for a controller even without the user having explicitly enabled support for it. This is typically seen in games where developers have expressively tagged them as requiring Steam Input to support certain types of controllers, as well as in external configuration tools or launcher where Steam Input automatically uses the desktop configuration to spoof mouse and keyboard input, even for controllers without enabled support. Forcefully disabling Steam Input for that specific game is necessary to circumvent this behavior.
To make use of the Steam Input feature users must have a compatible Steam Input device, such as the Steam Controller, DualShock 3 controller, DualShock 4 controller, Dualsense Controller, Switch Pro controller, Xbox 360 controller, Xbox One controller, Amazon Luna Controller or any other generic XInput or DirectInput controller. However only support for the Steam Controller is enabled by default; support for all other compatible controllers must be manually enabled within Steam before the controller can make use of the features.
|Enable controller configuration support for compatible controllers:|
- ProtonDB - Community-driven database of Proton compatibility for games.
Steam Play refers to features and functionality of Steam that allows some form of cross-operating system access to purchased games. Back in 2010 when the feature was first announced it referred to titles where a single purchase regardless of operating system granted users access to versions of that game on other operating systems as well, thereby making OS transitions easier as purchased games did not have to be purchased anew for the new operating system.
On August 21, 2018, Valve announced a new version of Steam Play that focused on enhancing and integrating existing third-party Windows compatibility layers and wrappers for Linux into the Steam client and games. It makes use of Proton, a tool that is based on a custom version of the compatibility layer Wine as well as additional libraries developed alongside it and the Vulkan-based Direct3D 11, 10 and 9 translation layer; DXVK. Some of the improvements include a Vulkan-based Direct3D 12 implementation called vkd3d, as well as the "esync" patchset to improve multi-threaded performance in Wine. Proton is available to use through the Steam client on Linux for both officially supported Proton compatible titles, such as DOOM (2016), as well as third-party titles that Valve have not yet verified compatibility with (such as HITMAN2).
- Expansive official knowledge base covering everything from account issues, general client issues, and OS-specific issues, to name a few.
|Troubleshoot the issue according to Steam Support's Knowledge Base|
Steam fails to launch or log in
- For network connectivity issues, see the Troubleshooting Network Connectivity support article or the Network/Connection Issues category.
Try to launch Steam.exe with
Game fails to launch or function properly
- Launch the game after each individual step to see if the issue is resolved.
Dependencies install at every launch
|Delete install VDF and redist folder|
Unable to download any games
|Follow this support article: Update & Installation Issues|
Steam CEG protected games crash or freeze the system (AMD Bulldozer CPU)
- Might also just have them run with very poor performance.
|Update your BIOS to the latest version|
Change the language of a game
Playing without game updates
- The Only update this game when I launch it option does not allow playing without updates; the only way to avoid updates is by playing in Offline Mode.
- Some developers make earlier versions available under the Betas tab in the game's properties in the Steam client. Once selected and downloaded, this alternate version can be played without further updates.
- It is possible to download older game versions and play the older version indefinitely (unless external game-specific services prevents it) if it is stored in another location than the download or game folder.
Download older game versions
- This requires a full download, and free space to allow it, of the older version of the game. The download does not overwrite existing game files.
- There's no way to monitor or throttle the download progress without using external third-party tools.
- As of February 12, 2020 it is not longer possible to use the Steam client to download older game versions. A third-party application DepotDownloader can be used instead at your own risk.
- See GitHub for more parameters that can be used to control what gets downloaded.
|Locate and download the manifest of the older version|
Copying a game from a different computer
Disable client update check on startup
- This is especially useful when you use Steam in Offline Mode and/or want to copy your Steam installation to another offline pc.
- Make sure to undo these settings, when you want to go online again, to keep the steam client updated.
Add Microsoft Store games as non-Steam games
|Use UWPHook|
- For manual configuration, see this forum post.
Speed up loading of web pages in Steam
|See Speed up loading of web pages in Windows.|
Launch batch file via Steam for non-Steam game
|Treat cmd as a non-Steam game|
Downloading game files with SteamGet
SteamGet is a script created by Ryan C. Gordon (aka Icculus) which requires SteamCMD to work. What it does is that it will download all the files from the selected game you own in your account without requiring you to rely Wine to do that or use the SteamCMD itself as this script makes its task more simple. This can be very useful if you wish to use the game files for the source port of the game or an open source engine.
Optimize PulseAudio to audio in Steam games
Open daemon.conf file from /etc/pulse/ as root and add the following text:
# Start as daemon daemonize = yes allow-module-loading = yes # Realtime optimization high-priority = yes realtime-scheduling = yes realtime-priority = 9 # Scales the device-volume with the volume of the "loudest" application flat-volumes = no # Script file management load-default-script-file = yes default-script-file = /etc/pulse/default.pa # Sample rate resample-method = speex-float-9 default-sample-format = s24-32le default-sample-rate = 192000 alternate-sample-rate = 176000 exit-idle-time = -1 # Optimized fragements for steam default-fragments = 5 default-fragment-size-msec = 2 # Volume deferred-volume-safety-margin-usec = 1
Save the file and run both
Use Native Steam runtime mode
- Improves the performance for both games and the software itself.
|Install Linux Steam Integration and enable Use Native Runtime.|
- On a 64-bit system you must install the 32-bit version of these libraries: openal, nss, gtk2, gtk3, libcanberra, gconf, dbus-glib, libnm-glib, libudev0-shim and libappindicator-gtk2 (so the tray icon would work).
- Some games may still require some additional libraries to work. You can use this page to learn which ones are needed for the specific software regardless of the linux distribution you are using. Most of the Ubuntu-based distros may already include them.
While the current Steam package already includes required libraries to work, they are sadly outdated as they are from Ubuntu 12.04. However, Valve included an option to force Steam to use the libraries used in your system, also known as Steam Native mode. This can be done by adding
STEAM_RUNTIME=0 before the command for launching Steam.
It's best to create a separate executable file for it in order to allow easily switch between the Runtime and Native.
|Create a Steam Native executable script|
#!/bin/sh export STEAM_RUNTIME=0 # Workaround for dbus fatal termination related coredumps (SIGABRT) # https://github.com/ValveSoftware/steam-for-linux/issues/4464 export DBUS_FATAL_WARNINGS=0 # Override some libraries as these are what games linked against. export LD_LIBRARY_PATH="/usr/lib/steam:/usr/lib32/steam" exec /usr/lib/steam/steam "$@"
Once done, you will be able to run Steam Native with the
steam-native command on Terminal, you can add it to the Start/Program Menu if you wish, but it is also best to add it's
.desktop file as well, so it'd be available and automatically added.
|Create a Steam Native Desktop script|
Arch Linux-based distributions only require installing
steam-native-runtime package which will automatically install required repositories and automatically set everything for you, once you install Steam.
- Apple M1 - Testing Steam's ARM Updates - last accessed on 22 February 2022
- Valve May Soon Release a Native 64-Bit Version of Its Steam for Linux Client - last accessed on 2021-05-06
- Steam Is Now Available As A Flatpak App Via Flathub - GamingOnLinux
- Windows XP and Windows Vista Support - Steam Support
- Decoder for the binary Valve Data Format : ReverseEngineering - Reddit
- StackExchange :: Why is Steam only showing me “Buy” instead of “Play” option for a game shared via Family Sharing?
- Verified by User:Aemony on 2018-04-09
- How to Delete Steam Cloud Saves
- Steamworks Documentation > Features > Steam Input > Steam Input Devices - last accessed on 2018-04-03
- Steam - Steam Client Beta - July 19, 2018 - last accessed on 2018-07-20
- "Added support for PS3 Controllers as a separate controller type. Does not include support for the DS3 gyro or analog face buttons. If you’re using a DS3 on Windows you’ll have to obtain the Sony driver through PlayStation Now."
- Steam for Linux - Introducing a new version of Steam Play - last accessed on 2019-03-10
- Cannot connect to Steam servers :: Steam Community Discussions
- [READ FIRST] AMD Bulldozer CPU Crashes CS:GO - Steam Users' Forums (retrieved)
- Does Your AMD FX Platform BSOD with Steam? Read This. - Tom’s Hardware
- A fix for Valve CEG games causing BSOD on Bulldozer -issue - XtremeSystems Forums
- The Book of Bulldozer - Revelations: Episode 2 (SuperPI / x87) - XtremeSystems Forums
- See XCOM: Enemy Unknown#References
- New Steam version removes option to disable automatic updates - Steam Users' Forums (retrieved)
- Reddit - As of the latest version of the Steam Client, it is no longer possible to use download_depot in the console to download earlier .exe versions. - last accessed on 2020-07-26
- Verified by User:Aemony on 2020-07-26
- Verified by User:SirYodaJedi on 2020-04-15
- Using launch parameters found here.
- Optimize PulseAudio settings for Steam Games