Table of Contents
Whether the latest update broke something, or your OS is no longer supported, there are only a few things you need to do to be fully prepared for the worst!
Current Situation
While there has been nearly a whole year of delay since the end of life date for Windows 7/8/8.1 and macOS 10.13/10.14, soon the support is going to end for these OSes for real.
Steam Client Beta - October 2nd patch notes:
This version of the Steam client will no longer run on Windows 7 or Windows 8 [and on] macOS 10.13 or 10.14.
It is to be expected that the next stable update (after 1726604483
) will carry out this change.
Relevant articles
- Steam Client Beta - October 2nd
- Windows 7 and Windows 8 Support (archived)
- Steam macOS 10.11 and 10.12 Support
- Steam macOS 10.13 and 10.14 Support
Preface
I am a Linux user. The only instances of Windows 7 I have at home are installed on another computer not used for gaming and a virtual machine without 3D acceleration. While some things will be tested, I cannot guarantee instant or reliable support in case you get stuck in the process.
Please understand this, and don't hesitate to ask elsewhere and link to other resources that could complement this guide, especially if things drastically change at some point.
Also, do it at your own risk! Steam is, after all, software that is always connected to the Internet, and it may be a bad idea to keep that running in the background if you can't be sure if it's secure.
Downgrading
There are a couple of methods to downgrade the client. All of them require the Steam client executable to be present.
Obtaining Steam executable
Note: Skip this part if you already have a working Steam installation.
It is possible to use Steam's updater with nothing more than the main Steam executable. If you don't already have a working Steam installation (or the bricked update made the main executable useless), here's how you can get it.
The executable version doesn't matter. These files have been archived using Wayback Machine. Obtain an archived version for:
Then, during or after download, remove the SHA1 file hash from the name (everything after .zip), unzip to the location you wish Steam to be installed in (or has been), and proceed with the instructions below.
The quick, online way
Using copies of Steam packages and manifests that have been archived online, it is possible to have the client downgrade itself.
Internet Archive Wayback Machine archives pages and files directly, which ensures that they have not been tampered with, and that is the source this method uses.
The procedure:
- If you previously enrolled to Steam Client Beta, launch Steam with -clearbeta and dismiss the "Steam needs to be online to update" error
- Exit Steam
-
Launch Steam with:
— replacing <date> according to The Downgrade Table section under Wayback Machine date-forcesteamupdate -forcepackagedownload -overridepackageurl http://web.archive.org/web/<date>if_/media.steampowered.com/client -exitsteam
Note: If this doesn't work, also append -textmode
-
Steam should downgrade itself and exit
-
Done! Start the client, and it should work
Note: On Windows, if you get a dialogue about the Steam registry path not being writable, click Repair
-
Before launching Steam another time, create steam.cfg as per section Preventing Client Updates
If step 3 fails (less secure, relies on manual backups rather than Wayback Machine):
- Navigate to this page
- Use The Downgrade Table and find the manifest version you need
- Navigate to the directory of the OS you are using (steam_client_<your_OS>), and under it, navigate to the directory of the version you want to use
- Copy the URL for step 3 of The quick, online way
Note: For this to work, ALL packages and the package manifest must be archived as per the client manifest to a file server or a digital archive service such as Wayback Machine. Each "file" entry corresponds to a path under http://media.steampowered.com/client/
.
The long, offline way
If you made a backup of Steam packages, or took someone else's at your own risk, this is how you can restore the update.
The procedure:
- Navigate to the Steam directory
- Remove the contents of package folder
- Copy backed-up packages to package
- Launch Steam, let it update, and on the Extracting package... step, press Cancel
- Remove package > tmp
- Launch Steam again
- Before launching Steam another time, create steam.cfg as per section Preventing Client Updates
- Done!
Restoring the client in case of a faulty downgrade
If you give up, it is sufficient to do this and not lose any of your data:
- Delete steam.cfg if it was previously created
- Launch Steam with these arguments:
-forcesteamupdate -forcepackagedownload -exitsteam
- The client will exit; the next time you start it, it should be back to normal
Preventing Client Updates
If you need to downgrade your client, it is only natural that you don't want it to self-update right away.
Editing steam.cfg
Using steam.cfg, client updates can be prevented permanently.
-
Navigate to the Steam directory:
- Windows 32-bit:
C:\Program Files\Steam
- Windows 64-bit:
C:\Program Files (x86)\Steam
...and our special guests, since the procedure works the same way:
- Linux:
~/.local/share/Steam
- MacOS:
~/Library/Application Support/Steam
- Windows 32-bit:
-
Create a new file, steam.cfg, unless it is already present
- Paste this in:
This can be disabled by prepending the line with a # so that it is commented out (ignored) until needed.
BootStrapperInhibitAll=enable
The Downgrade Table
Note: Manifest version corresponds to the Unix time the build was finalised, which can be used to determine the date.
- steam_client_win32 - Windows
- steam_client_ubuntu12 - Linux (regardless of distribution)
- steam_client_osx - macOS
Wayback Machine date | Manifest version | Notes |
---|---|---|
N/A | 1674790765 | Fixes, last update before the removal of -no-browser and -noreactlogin |
20230428150517 | 1682573004 | Around the time new desktop UI released in beta |
20230429120402 | 1682708537 | Hotfix |
20230531113527 | 1685488080 | Preload banner hotfix, last update before new desktop UI and -oldbigpicture removal |
20230615094110 | 1686779606 | Initial new desktop UI version, -oldbigpicture removed |
20230616094017 | 1686880776 | Hotfix |
20230622105532 | 1687386907 | Fixes |
20230711162631 | 1689034492 | Generic notification sounds, fixes, last update before -vgui removal |
20230801221717 | 1690583737 | xdg-desktop-portal no longer necessary on Linux, fixes, -vgui removed |
20230912101259 | 1694466342 | Indonesian language, fixes, removal of steam://restartinuimode/vgui |
20230930002005 | 1696019606 | Hotfix |
20231026162438 | 1698260427 | Steam Input and SteamVR improvements, fixes |
20231031200154 | 1698777785 | Back button fix, other fixes |
20231116205033 | 1700160213 | Visual tweaks, more info in game pages, other fixes and additions |
20231130095245 | 1701289036 | Fixes |
20231212190321 | 1702079146 | Fixes |
20240111223616 | 1704936806 | Workshop upgrades, fixes |
20240113112425 | 1705108172 | Fix |
20240227211905 | 1708985249 | New Chromium build, fixes |
20240229082406 | 1709168962 | Fixes |
20240308104109 | 1709846872 | Fixes |
20240508075352 | 1714854927 | Fixes, CSS class names changed |
20240514121236 (incomplete?) | 1715635533 | Fixes, unresponsive on Linux |
20240517103907 | 1715891371 | Steam Input fixes |
20240521073345 | 1716242052 | Fixes |
20240614090842 | 1718305227 | Fixes |
20240619085500 | 1718751621 | Fixes |
20240621083816 | 1718904662 | Fixes |
20240717082107 | 1721173382 | Fixes |
20240913122103 | 1726088054 | Steam Families, fixes |
20240918104445 | 1726604483 | Fixes |
20241107150153 | 1730853027 | Windows 7/8/8.1, macOS 10.13/10.14 discontinuation, Steam Game Recording, fixes |
20241113093224 | 1731433018 | Fixes |
Manually archived versions
Do it at your own risk!
The Downgrade Table (SteamCMD)
- steam_cmd_win32 - SteamCMD Windows
- steam_cmd_linux - SteamCMD Linux
- steam_cmd_osx - SteamCMD macOS
Wayback Machine date | Manifest version | Notes |
---|---|---|
20230429132649 | 1682708339 | |
20230531121408 | 1685487853 | |
20230615102027 | 1686781763 | |
20230616101802 | 1686881296 | |
20230622113010 | 1687387651 | drm_wrap "cloud" parameter |
20230711170621 | 1689034828 | |
20230801225604 | 1690585855 | |
20230816111604 | 1691628584 | |
20230912104902 | 1694466999 | |
20230930005804 | 1696019544 | |
20231026163910 | 1698262904 | |
20231031201610 | 1698778122 | |
20231116210856 | 1700160359 | |
20231130101403 | 1701290101 | |
20231212192413 | 1702079268 | |
20240111225230 | 1704939842 | |
20240113114136 | 1705108307 | |
20240229084442 | 1709170084 | |
20240308105638 | 1709846822 | |
20240508081409 | 1714855729 | |
20240514121236 (incomplete?) | 1715636761 | |
20240517103907 | 1715891821 | |
20240521073345 | 1716242337 | |
20240614092936 | 1718305764 | |
20240619091715 | 1718751852 | Fixed output being redirected to stderr.txt |
20240621085442 | 1718904263 | |
20240717083932 | 1721172922 | |
20240913123608 | 1726088194 | |
20240918110225 | 1726605427 | |
20241107151826 | 1730854361 | |
20241113094836 | 1731433425 |
Stay Logged In Past End-of-Life
Considering that the Steam backend is updated alongside the client, the version you choose to use may not be able to authenticate in the future. Since nobody knows how this will break in the future, there are two possible scenarios (or three, if you lose your current login entirely). However, there is nothing you need to do in advance, as reverting possible issues is easy to do.
Note about accounts with no Steam Guard
On some older versions of the client, new login attempts fail if the account in question has no Steam Guard (2FA) set up. It can be set up here.
Scenario: Client automatically enters offline mode
This is the ideal outcome in case Valve accounted for the situation. The client will simply launch in offline mode and all installed games and applications are ready to be used. However, it may take a while longer for the client to load, as it is trying to connect and authenticate.
Improvement: In order for Steam to load more quickly, simply follow the procedure under section Extras, Keeping the client offline forever.
Scenario: Client logs you out
The login window shows up, containing the login prompt or account switcher. Since the client cannot authenticate, it may seem like it's a dead end, but it's actually very easy to overcome this issue.
Solution: Simply follow the procedure under section Extras, Keeping the client offline forever. Whether the account is currently logged in or not, as long as it has been logged in to once, editing loginusers.vdf is sufficient to log in offline.
Scenario: Steam install deleted/corrupted
Note: For the helper device, if Steam is already being used, make a backup of Steam and wipe it, then restore afterwards.
If the latest version of Steam cannot be run on your preferred device, running Steam on a device using a supported OS ("helper") can be used to authenticate to Steam instead, transferring all necessary files for the client to log in offline.
The procedure:
- On the unsupported device, perform the client downgrade to the latest Steam version it supports if it is not present/operable
- On a supported ("helper") device, install Steam and log in to your account
- Exit the client
- From the Steam install directory, copy appcache, config, steamapps (optional), userdata and local.vdf
- Transfer these files to the unsupported device, into the Steam install directory
- Follow the procedure under section Extras, Keeping the client offline forever
- Making sure that Steam works on the unsupported device, uninstall Steam from the supported device to remove leftovers, if needed
Additional steps for specific versions:
- 1570046470 or older: packageinfo.vdf needs to be converted using Auto PackageInfo Converter
Using SteamCMD After Client Starts Breaking
Given that Steam is constantly tweaked and upgraded over time, outdated versions eventually stop being usable. Downloads/updates, and especially the ability to log in may stop working, rendering the online components of the client unusable.
However, it is likely that SteamCMD will continue working way past the "expiration date", so this is how you can use it to download/update games going forward.
Keeping downloads operational for the long term
While the client (service) will forever and ever stay a requirement for launching Steamworks API-powered games, or, rather, those that refuse to work without it, or additional DRM on top of it, downloading games should still be possible using SteamCMD. Considering it is an actively updated command line utility, there is no good reason to remove compatibility for older OSes, unless, perhaps, the web transitions to a new version of SSL that won't be supported on older OSes, or Valve compiles it against libraries that were never added to older OSes.
Moreover, with the industry transitioning away from older OSes... I guess you can imagine Steam might not exactly keep blooming with new game releases that can be played on them.
SteamCMD summarised for players
First of all, while it involves the command line and it is mainly used by developers and game server administrators, please don't be scared away. Yes, accomplishing things with it isn't a one click operation (until someone makes a batch script or software I may include here), but it is worth getting a hang of.
Installing
From the SteamCMD wiki page, under Downloading SteamCMD, on Windows, download the zip archive and extract it to the desired location. For other OSes, follow the instructions on the page.
Launching and logging in
Anytime before launching SteamCMD, make sure to close any running instance of Steam in order to prevent it from interfering with the Steam installation.
For convenience, use whichever you prefer:
-
Desktop shortcut
After creating the shortcut, in the Target field, append:
— replacing <username> with your Steam username.+login <username>
-
Batch/shell script
Going for this option most likely means you understand how it's done, and since this guide addresses multiple OSes, I will leave you to it. For now.
Launch SteamCMD as prepared earlier. If this is the first time you are launching it or any updates arrived since the last time you used it, it will self-update, so wait for that to finish.
You will be prompted to log in using your Steam credentials. Once you successfully log in, you will be presented with a Steam> prompt.
In order to learn the usage of commands yourself, use this command:
find <query>
Linking steamapps
In order to prepare SteamCMD to be used for managing an existing game library, its steamapps directory needs to be linked into the SteamCMD installation.
Close SteamCMD, remove its steamapps directory, then run this command:
- Windows (may require running as administrator):
mklink -d "C:\path\to\SteamCMD\steamapps" "C:\path\to\Steam\steamapps"
- Linux/macOS:
ln -s /path/to/Steam/steamapps /path/to/SteamCMD/steamapps
Downloading and updating games
The simplest way to download/update games is to use your Games page while SteamCMD is running. Picking download location and moving across library folders is unimplemented, but the Steam client can be used to accomplish that.
If you want to use the command line, in order to download/update games, use the command:
app_update <appid>
Additional arguments:
- -validate (recommended): validate Steam application after download
- -language <lang>: download with desired language
- -beta <betaname> -betapassword <pwd>: download beta, and specify password if it is required
Downloading and updating Workshop content
The simplest method is to press Subscribe on the mod you want, and the next time you use app_update, the Workshop item will be downloaded.
Otherwise, in order to manually download/update Workshop content, obtain the App ID of the game to download content for, and obtain the Published File ID from the end of the URL of a Workshop listing page.
Use the command:
workshop_download_item <appid> <PublishedFileID>
Uploading Workshop content
Refer to Steam Workshop Implementation Guide > SteamCmd Integration.
Using custom library folders (usually unneeded)
Bug: force_install_dir removes all custom library folders, each folder will have to be re-added when Steam client starts (library_folder_add isn't even present in SteamCMD). This is presumably since SteamCMD always uses the main install directory first, edits the library folder configuration there, and only then switches to the forced location.
SteamCMD, by default, uses the location it's stored in. If steamapps directory is linked to an existing Steam installation's steamapps directory, it will use it as well, inheriting its custom library folders.
In order to switch to a different location, use this command:
force_install_dir <library_folder>
For additional convenience, for each library folder you have, you may create a copy of the shortcut you made, each with this argument appended to Target field:
+force_install_dir <library_folder>
Making Backups
What's safer than making client backups, especially if they are available to all? Here's how you can feel even safer and contribute, everyone wins!
Manual backup
If you want to create a backup of the last working Steam version, simply make a copy of the package folder, as well as the Steam executable.
Automated backup
This script was developed for use in a Linux terminal, and makes a local backup as well as requests remote archival (ex. to Wayback Machine), including SteamCMD.
Archival script
#!/bin/bash package_url="http://media.steampowered.com/client" lists=$(echo steam_client_{win32,ubuntu12,osx}.txt steam_cmd_{win32,linux,osx}.txt) backup_prefix="/mnt/hdd/Archive/steam_client_archive" # Change to directory to store manifests and lists in mkdir -p "$backup_prefix/tmp" cd "$backup_prefix/tmp" for manifest_name in steam_client_{win32,ubuntu12,osx} steam_cmd_{win32,linux,osx}; do # Retrieving all URLs to archive echo "Getting manifest and filenames" manifest_url="$package_url/$manifest_name" echo "$manifest_url" > $manifest_name.txt curl -sO "$manifest_url" grep -e \"file\" -e \"zipvz\" $manifest_name | cut -d\" -f4 | sed "s|^|$package_url/|" | awk '!x[$0]++' >> $manifest_name.txt # Making a local backup version=$(grep \"version\" $manifest_name | cut -d\" -f4) backup_path="$backup_prefix/$manifest_name/$version" if [[ -d "$backup_path" ]]; then echo "Backing up $manifest_name $version" mkdir -p "$backup_path" mv $manifest_name "$backup_path/$manifest_name.manifest" xargs -n1 curl -O --output-dir "$backup_path" < $manifest_name.txt else # Skip if already present echo "Skipping backup of $manifest_name $version, backup already present" fi done # Archiving URLs remotely # Example usage: Wayback Machine - Save Page Now script by overcast07 # Obtain from https://github.com/overcast07/wayback-machine-spn-scripts # Substitute `spn` with path to spn.sh unless installed via AUR cat $lists > url_list.txt spn url_list.txt # Cleaning up rm $lists steam_client_{win32,ubuntu12,osx} steam_cmd_{win32,linux,osx} url_list.txt
Extras
Here are some extra procedures, for convenience.
Keeping the client offline forever
Note: Don't do this unless the client stops being able to connect to begin with, otherwise downloads/updates, multiplayer and other online features won't be available!
Note: This only works for the currently logged in account ("MostRecent" = "1")! Switching is not possible offline.
This makes the client launch faster and make no connection to Steam (please confirm), which is beneficial if it cannot connect.
The procedure:
- Navigate to the Steam directory, as outlined before
- Enter config directory
- Edit loginusers.vdf
- Under the desired user's SteamID64 (identifiable by "AccountName"), make sure these options are set to "1", adding any missing options if needed:
"RememberPassword" "1" "WantsOfflineMode" "1" "SkipOfflineModeWarning" "1" "AllowAutoLogin" "1"
- Make the file read-only to prevent accidentally switching off "WantsOfflineMode" while using the client (ex. by using Steam > Go Online...)
- If you haven't already, edit steam.cfg as per section Preventing Client Updates
Removing the countdown banner
-
Universal
Use this launch argument, read full explanation:
-pretendeol-w10
-
VGUI banner
WIP, try this procedure
-
Desktop UI (modern) banner
WIP, hide ._1AcQ7PwcnBGsbAmuKOZHvd (previously .titlebarcontrols_OSEndOfLifeAlertsButton_1AcQ7) using the "Make webkit.css work again" procedure
Another method (discovered by kojiro hyuga):
To remove countdown banner in new desktop UI:
- Go to Steam\steamui\chunk~2dcc5aaf7.js
-
Find and delete following:
("#Steam_EOLAlert",t.daysUntilOSEndOfLife,t.strOSName)
().OSEndOfLifeAlertsButton
VGUI (old UI) mode
In order to use the VGUI-based UI (used before the 2023 revision), downgrade to version 1690583737 and launch Steam with:
steam://restartinuimode/vgui
Otherwise, downgrade to version 1689034492 and launch Steam with -vgui.
Troubleshooting
In case downgrading causes additional issues, they will be addressed here.
Friends list no longer works in VGUI mode
In order to keep using browser-based Friends, use FixedSteamFriendsUI.
Additionally, friends list is accessible with a standalone browser here. Note that some functionality like in-game status and game invites won't work when using it outside of the client.
In the case of Firefox, PWAsForFirefox can be used to more closely replicate the original experience.
Alternatively, old Friends List does still work to an extent. Activate it by using another switch, -nofriendsui, and in addition, follow the procedure under Steam features disabled on purpose. This way, chat is mostly functional.
Steam features disabled on purpose
Some features, such as purchasing games, are disabled in some cases if the client version is too old. This check can be worked around by spoofing the version.
- Navigate to Steam > package
- Edit steam_client_<OS_type>.manifest
- Replace the version number in "version" field, or remove it as such:
"version" ""
Attribution
Testing/help:
Archivists:
Get Assistance
If you need help for any reason, give the Client Downgrades Discussions Area a visit.
Comments
There are no comments yet.