Skip to content

SSX3-Recomp v0.2.0

Latest

Choose a tag to compare

@bertibertig bertibertig released this 19 Oct 15:51
· 24 commits to main since this release

SSX3-Recomp v0.2.0 brings widescreen (16:9, 16:10, 21:9 or your monitor's shape) and proper
full-screen modes to the Linux build, and fixes the rider vanishing partway through the first race along with
the dark squares on the snow and the missing rider shadow.

⚠️ 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 extract it into the package's game_files/ folder with
    extract-xiso or xdvdfs:
    extract-xiso -x "SSX 3.iso" -d game_files – afterwards game_files/default.xbe and game_files/data/ must exist.
  3. Start the launcher:
    • Linux: ./run.sh – on the first start it asks for renderer, monitor, display mode, internal resolution,
      aspect ratio, frame rate and v-sync (saved for later; SSX3_MENU=1 ./run.sh asks again)
    • Windows: double-click run.bat (runs run.ps1)

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).

What's new

New features

  • Widescreen in races: 16:9, 16:10, 21:9, any W:H or auto (your monitor's shape). The game really renders
    a wider view – nothing is stretched; the HUD stays in proportion in the middle. Menus, loading screens and movies
    stay 4:3 with side bars. Start-up menu question "Aspect ratio" or SSX3_ASPECT.
  • Display modes: windowed, borderless full screen and exclusive full screen (start-up menu or SSX3_WINDOW);
    F11 / Alt+Enter toggles between window and full screen while playing.
  • Monitor choice: the game now opens on your desktop's main monitor (before, on Wayland it could pick any of
    them); any other monitor can be chosen in the start-up menu or with SSX3_MONITOR.
  • Renderer choice in the start-up menu (Vulkan or software); the window title shows which one runs.

Improvements

  • The start-up menus of run.sh and run.ps1 cover all the new options and remember them in run.conf.
  • exp/fmod in the game's C library now run natively; the translated x87 version could corrupt a register
    (finding from koenhendriks/SSX3-recomp).

Bug fixes

  • The rider no longer vanishes on Snow Jam after the lift station (only the board was left for the rest of
    the race, and the picture changed colour at the same moment).
  • No more dark squares on the snow (also over the jumps), and the rider's shadow is back.

Platform status

Windows: experimental, not playable yet

  • Only tested on Linux, with Wine and Proton – not on a real Windows PC yet. Reports from Windows 10/11 are
    very welcome.
  • Under Wine, intro, title screen and menus work, controllers work and run.ps1 / run.bat start the game, but it
    crashes when a race loads: the Xbox GPU's tiled memory window (0xF0000000) cannot be mapped there. Whether
    real Windows behaves the same is unknown.
  • It uses the software (CPU) renderer only (~10–20 fps), so widescreen, display modes, monitor choice and the
    resolution/frame-rate options do not apply there yet. Porting the Vulkan renderer to Windows is planned.

Known issues

  • Windows is experimental and not playable yet (see above).
  • A full run through the game (all peaks, Conquer the Mountain, saving) and split screen are not verified yet.
  • Widescreen is not checked in split screen and in-game replays yet; auto reads the monitor's shape once at start.
  • 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

  • Entry hooks (sub_X_enter) in src/recomp_manual.c: scripts/run_pipeline.sh now passes --exclude-manual –
    regenerate (scripts/run_pipeline.sh recomp) before building.
  • ssx3_recomp --list-displays / --renderers for launchers; SSX3_VK_DRAWLOG=<flip,...> logs every draw of
    those frames.
  • scripts/test_release.sh <version> tests the release packages like a player (launchers, start-up menus,
    virtual pad into a race, Linux and Wine).

Full changelog: v0.1.0...v0.2.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) are in each package's
licenses/ folder. Unofficial fan project, not affiliated with or endorsed by Electronic Arts or Microsoft.