Skip to content

Split/Second - launcher v1

Choose a tag to compare

@CrownParkComputing CrownParkComputing released this 16 Sep 13:54
· 7 commits to main since this release

Split/Second (USA) - native launcher.

What you get: the recompiled game (launcher, engine and loader modules recompiled to native x86-64), a native Vulkan renderer and native audio, in a small launcher. No game data is included - you point it at your own copy.

Source: your own copy of the USA disc (title 425607E7) - a .iso of the disc, an archive of its files, or the extracted folder. The importer also installs DLC packs.

Run it:

# Linux
tar --zstd -xf splitsecond-launcher-linux-x86_64.tar.zst
cd splitsecond && tools/port_gui.sh      # or ./run.sh
# Windows: unzip the windows launcher and run Launcher.bat

Needs a Vulkan GPU driver. CONVERSION.md inside the bundle has the details.


Technical breakdown (the full record is CONVERSION.md inside the bundle):

  • First multi-module title. The disc carries a 233 KB launcher XEX, the 15.6 MB engine as SPLITSECOND1.DLL and the DLC loader SKIPPER.DLL. Each is recompiled into its own library (libsplitsecond_SPLITSECOND1.so, libsplitsecond_SKIPPER.so) and loaded when the title asks for it - 130 generated files, 235 MB of C++ for the three.
  • SDK work it forced: per-module manifests and libraries; the function table must follow each module's own heap (the launcher lives at 0x92000000, not the usual base); case-insensitive entry-point lookup (the disc's files are UPPERCASE); loading a recompiled module by its platform library name; and a non-fatal mode for unregistered indirect-call targets, which turned bring-up from one abort per run into a batch discovery.
  • The DLC path is contained, not recompiled. The title probes DLC:\SplitSecond0.dll. Recompiling that path runs the real download-content logic against a device that is not there and crashes - the same crash Xenia has on this title. Left unrecompiled and answered with null, the game takes its own "no DLC, press B to skip" route. A content-resource lock that returned success with no buffer caused a storm of null stores on the content thread; a native override contains it and survives regeneration.
  • In-race rendering. The engine streams mesh data through GPU memory-export draws; the runtime's read-back of those results wrote the previous slot over the current vertex pool, so races drew nothing. With that read-back off, car, road, kerbs, scenery and HUD render.
  • Warm pipeline cache shipped as shader_seed/: the 377 first-use shader compilations that froze live play become none.
  • Runtime overhead cut from 2.49 to 1.91 cores whole-process by wait and memory-map fixes found on this title; presentation pinned to strict vsync for VRR panels.
  • Open: the title's own presentation interval of two sets the frame rate (documented, not changed); DLC content stays off; no console OS calls are answered natively yet.

Importer: now also takes a .iso disc image (read by rexiso, the runtime's own XDVDFS reader) as well as a .rar/.zip/.7z or the extracted folder. The Linux launcher above carries it.

Windows (x86-64) - splitsecond-launcher-windows-x86_64.zip. The same sources cross-compiled; unzip, then Launcher.bat (Import game files / Play / Close) or Play.bat, which imports on first run. Needs Windows 10/11 x64 with a Vulkan driver; 7-Zip for .7z/.rar sources. Untested on real Windows. Under wine on the build machine a sibling title (Burnout Revenge) initialises the GPU and then stalls before its first frame - so treat this as an experimental build and say what a real machine does.