Skip to content

SSX3-Recomp v0.3.0

Latest

Choose a tag to compare

@bertibertig bertibertig released this 26 Oct 14:50
· 3 commits to main since this release

SSX3-Recomp v0.3.0 makes Windows playable: the Vulkan renderer now runs natively on Windows 10/11 and the
crash when a race loads is fixed. It also adds a settings screen with language selection (English, French,
German, Spanish), a game data installer that reads your disc image directly, a fix for saving on Linux and
cleaner audio.

⚠️ No game files included. You need your own, legally obtained copy of SSX 3 for the Xbox, PAL/EU
version
(title ID 4541003C). Other versions do not work. Never share game files.

Getting started

  1. Download the package for your system below and unpack it.

  2. Dump your SSX 3 Xbox disc to an .iso and let the installer copy it into the package's game_files/ folder:

    • Linux: ./install_game.sh
    • Windows: double-click install_game.bat

    It reads Redump .iso and .xiso images and extracted folders directly (no extra tools), checks that it is the
    supported PAL build and copies everything. The launchers start it by themselves when game_files/ is empty.
    Extracting by hand still works: extract-xiso -x "SSX 3.iso" -d game_files
    (extract-xiso, xdvdfs).

  3. Start the launcher:

    • Linux: ./run.sh – ./run.sh --settings opens the settings screen first
    • Windows: double-click run.bat (runs run.ps1; run.ps1 --settings for the settings screen)

Linux needs glibc 2.39+ (Ubuntu 24.04+, Fedora 40+, Arch, SteamOS 3.6+), SDL2, OpenSSL 3, libepoxy and a
Vulkan driver (sudo apt install libsdl2-2.0-0 libssl3 libepoxy0 mesa-vulkan-drivers).
Windows needs Windows 10 or 11 (x86-64) and a Vulkan driver (any current NVIDIA, AMD or Intel driver; without
one it falls back to the slow software renderer).

What's new

New features

  • Vulkan renderer on Windows 10/11, in its own native window: the same 60 fps, frame interpolation above 60,
    internal resolution 1x–5x, widescreen, windowed / borderless / full screen, monitor choice and F10 / F11 /
    Alt+Enter as on Linux.
  • Settings screen (run.sh --settings, run.ps1 --settings) in SSX 3's look, with categories for resolution,
    aspect ratio, frame rate and v-sync, display (window mode, monitor, renderer), language and start-up options.
    Saved in ~/.config/ssx3-recomp/settings.ini (Windows: %APPDATA%\ssx3-recomp\settings.ini) and used on every
    start, also without a terminal (e.g. as a Steam shortcut). It replaces the old start-up questions; an existing
    run.conf is taken over once.
  • Language selection: English, Français, Deutsch, Español – automatic (your system's language) or chosen in the
    settings screen / SSX3_LANGUAGE. Before, the game always ran in English.
  • Game data installer (install_game.sh, install_game.bat): finds your disc image or extracted folder,
    identifies the exact game build and copies it into game_files/.

Improvements

  • Audio: centre-channel sounds (announcer, menu sounds) are now mixed into both speakers instead of only the left
    one, so the left/right balance is right.

Bug fixes

  • Windows: no more crash when a race loads.
  • Linux: "Unable to save" when saving the game is fixed (overwriting a save from Options → Save/Load).

Platform status

Linux

Main platform; tested with the release packages: launcher, settings screen, controller, intro → title → menus →
a race at 60 fps.

Windows: playable, but only tested under Wine and Proton

  • Only tested on Linux, with Wine and Proton – not on a real Windows PC yet. Reports from Windows 10/11 are
    very welcome.
  • Under Proton: intro, menus and races with the Vulkan renderer (races 51–60 fps), all window modes, interpolation,
    higher resolutions and languages. The release package under plain Wine: launcher → intro → title → menus → a
    Snow Jam race.
  • Not checked yet: window placement, high-DPI and monitor names on real Windows, keyboard keys in the new window,
    the settings screen in a real Windows console (ssx3_recomp.exe --settings saves under Wine, but Wine's console
    garbles the layout; starting it through run.ps1 --settings could not be tested under Wine).

Known issues

  • Windows is only tested under Wine/Proton (see above); with the software renderer audio crackles.
  • A full run through the game (all peaks, Conquer the Mountain) is not verified yet; split screen needs
    RECOMP_USB_PADS=2 and runs at ~27 fps (the game caps it at 30).
  • Saving into a new slot with a new name is not tested yet (overwriting a save works).
  • Widescreen is not checked in split screen and in-game replays yet; in split screen at 16:9 the pause menu is
    off-centre.
  • The rider's shadow occasionally glitches, and a lighter rectangle can show under the rider early in Snow Jam.
  • Occasional crash right after the intro movie starts – start again.
  • The pre-race screen and very busy race scenes drop below 60 fps.
  • Some rare graphics effects are missing in the Vulkan renderer (cube maps beyond face 0, bump-env modes,
    palettised textures).
  • Not tested on a Steam Deck yet.
  • No anti-aliasing or HD textures yet – planned.

Please report bugs at Issues with the console output
(./run.sh 2>&1 | tee run.log).

For developers

  • LAN multiplayer groundwork (not for players yet, no lobby screen): an ENet-based net core, races between two
    game instances with remote riders as puppets, spectator mode – started with environment variables
    (SSX3_LAN_HOST=1 / SSX3_LAN_JOIN=<address>); plan and state in docs/lan-multiplayer.md.
  • CI on GitHub Actions: Linux and Windows (MSYS2 MinGW) builds and unit tests (ctest: packet reader/writer, LAN
    net core self-test, x86-64 MMIO decoder, virtual pad).
  • Runtime patch (patches/xboxrecomp/): relative file opens in the POSIX file backend (upstream:
    sp00nznet/xboxrecomp#237), dispatch lock for DPCs and a stereo downmix of the APU's speaker bins, idle APU voices
    reported round-robin. scripts/setup.sh now installs the Linux build dependencies too.
  • The language hook is an entry wrapper in src/recomp_manual.c: regenerate (scripts/run_pipeline.sh recomp)
    before building
    .

Full changelog: v0.2.0...v0.3.0

Building it yourself

See the README: directly on Linux or in a
Docker container, plus the Windows cross build.

License

GPL-3.0-or-later. Third-party licenses (xboxrecomp: MIT and LGPL-2.1 parts, volk: MIT, ENet: MIT) are in each
package's licenses/ folder. Unofficial fan project, not affiliated with or endorsed by Electronic Arts or
Microsoft.