Update the PC port program
Updated · Covers WindowSmash v0.2.0-alpha.1 and OpenSmash runtime-c2ca705
Updating WindowSmash or OpenSmash changes the port program and build tools. It does not supply a new game update or DLC. Use the instructions for your project and platform, with all game processes closed.
On this page
Back up before updating
Keep your original game files available at their existing paths. A program update should keep the intended game version; changing that version is a separate game-version task. Back up the files below before an alpha update so you can return to the previous setup.
| Installation | Preserve before updating |
|---|---|
| InstallationWindowSmash | Preserve before updatingEach selected version tree's entire save/; root controllers.ini, display.ini, online_*.txt and netplay_id.txt; original game-file paths |
| InstallationOpenSmash Windows | Preserve before updatingActual install location's saves/ and config/; source-folder build_location.txt identifying that location |
| InstallationOpenSmash Linux | Preserve before updatingActual userdata directory; old source tree's build-linux/config/; original game directory |
Keep a dated backup outside the source/build folder. WindowSmash's identity file stays on its own PC; do not give it to a friend as part of a save copy.
WindowSmash program update
Windows
- Close WindowSmash.
- Copy the selected version tree's
save/to your backup folder. - Copy the root settings and identity files listed above to that backup.
- Open
Install WindowSmash.batin the same source folder. - Wait for Done.
- Open
Play SSBU.bat. - Select the intended game version if the launcher offers several.
The installer retrieves newer source and rebuilds what changed. It keeps your game files, settings, save and online name. A translator change can require a longer rebuild than a runtime-only change.
Native Linux source installation
- Close WindowSmash.
- Back up that tree's
save/and root settings/identity files. - Open a terminal in its existing source directory.
- Run
bash install-windowsmash.sh. - Wait for the build to finish.
- Run
./play-ssbu.sh.
Rerun the same command if interrupted. --no-update deliberately skips fetching source; leave it out when your goal is a program update. After a SteamOS update, the installer may need to restore missing build packages.
Mac
- Close WindowSmash.
- Back up the selected tree's
save/and root settings files. - Open
Install WindowSmash.commandin the existing Mac source directory. - Wait for Done.
- Open
Play SSBU.command.
The Mac installer preserves your game files, settings, save and online name. On Mac, the opening and menus work; full matches still need testing.
A Linux package exported from Windows is a different path: unpacking a replacement ssbu-linux.tar can overwrite save/ and online_server.txt. Keep those backups before replacing the package; copied Windows/Linux saves do not synchronise automatically.
OpenSmash update and Resume
Windows installer
- Close OpenSmash.
- Back up the install location's
saves/folder. - Back up that location's
config/folder. - Copy the source folder's
build_location.txtinto the backup. - Open
Install SSBU.batin the existing source folder. - Use Resume if setup was interrupted.
- Wait for setup to finish.
- Open
Play SSBU.bat.
The installer updates source and selects a matching runtime; Resume uses the remembered install location. Choosing another install location starts a build there and does not move the old build. Read the reason above a runtime rejection before installing additional tools; build troubleshooting explains the next checks.
Linux: keep the old build and rebuild a new source version
To update on Linux, keep your old build and compile the new source in a separate folder. Repeating setup in the old folder resumes that build. You need enough disk space for both trees during this process. On a regular Linux desktop, follow the steps below. On SteamOS, make the backups in steps 1–3 and unpack the new source under your home folder, then use the complete container sequence in the next subsection for dependencies, building and launch.
- Close OpenSmash.
- Back up the actual userdata directory, normally
~/.local/share/ssbu-recomp/userdata. - Back up the old tree's
build-linux/config/. - Unpack the intended official repository source ZIP into a new directory, leaving the old tree intact.
- Open a terminal in the new directory.
- Run
bash scripts/linux/install_deps.sh. - Run
deps/venv/bin/python scripts/setup.py --target linux --dump "/absolute/path/to/existing-input"with the same compatible game directory. - Run
./play.sh --userdata "/absolute/path/to/original-userdata"with the actual old userdata path. - Check the selected game version and progress before retiring the old build.
The source download page links the source archives for these guide versions. Copy back only settings supported by the new version, with the game closed. Repeating the Linux setup command resumes compilation in that source directory. For a program update, begin with the new source archive in step 4. If you set XDG_DATA_HOME or used --userdata, use that actual directory instead of the default above.
OpenSmash SteamOS update environment
Keep the backups and old source tree described above. Unpack the new source under your home folder so the container can access it. The new dependency script stops on the SteamOS host by default; use the ssbu container for both the rebuild and launch.
- Switch to Desktop Mode.
- Open Konsole.
- Run
distrobox create --name ssbu --image docker.io/library/archlinux:latestonly if the container does not already exist. - Run
distrobox enter ssbu. - Change into the new source directory, for example
cd "/home/your-user/ssbu-recomp-new"with your actual path. - Check that the game folder and original userdata paths are visible inside the container.
- Run
bash scripts/linux/install_deps.sh. - Run
deps/venv/bin/python scripts/setup.py --target linux --dump "/absolute/path/to/existing-input". - Run
./play.sh --userdata "/absolute/path/to/original-userdata". - Check the game version and progress before retiring the old build.
Keep later launches inside ssbu too. The explicit --steamos-host dependency option is a separate host route whose packages can be removed by SteamOS updates; do not mix a host Python environment with this container build. Steam Deck gameplay still needs testing.
Preserve settings and saves
After updating, check your game version and save location before starting a new session. If progress appears missing, close the game and check the location first. To restore, retain the newly created save as a separate backup, then copy the earlier whole save directory back to its original location. Save locations and migration adds the project-specific restore steps.
Versions covered by this guide
| Project | Source version | Release status and game versions |
|---|---|---|
| ProjectWindowSmash | Source versiona9aac43 |
Release status and game versionsNo formal release; v0.2.0-alpha.1 is a prerelease. 11.0.0 and 13.0.5; 13.0.5 has limited match testing. Mac: opening/menus only. |
| ProjectOpenSmash-Ultimate | Source versioneac10a1 |
Release status and game versionsNo formal release; runtime-c2ca705 is a prerelease. 13.0.4 and 13.0.5 recognised; Linux tested with 13.0.4. |
The OpenSmash installer for this source version selects runtime-c2ca705: ssbu-runtime-c2ca7059a0.zip, 5,972,511 bytes. The installer checks SHA-256 c67070750194d9f3ef5f023573c425b294df1502f2d55795218847eda401e99e; let it select the matching runtime rather than combining packages by hand.
