Skip to content

OpenSA2 0.1.0-alpha.4

Pre-release
Pre-release

Choose a tag to compare

@kittycache9 kittycache9 released this 18 Oct 22:02
· 0 commits to c0891d99d9931ae84d526030097d86e17e3446c4 since this release

Important

A newer version is out: OpenSA2 0.1.0-alpha.6. It has 67 optional tweaks, a Chao World button, a fix for the crash after a Chao race, and many fixes. On Android, install it over this one; your imported game and saves stay. Every version is listed on the releases page.

OpenSA2 0.1.0-alpha.4 adds 53 optional tweaks, an experimental low-FPS speed fix for slower phones, fixes for Pyramid Cave and Death Chamber stopping after their title cards, and a fix for the game freezing after the Android app goes to the background.

You must supply your own unmodified PC game installation: the version Steam sells and installs today. These downloads include recompiled game logic and the port's runtime. They contain no original game executable or assets.

What's new

Tweaks. Tweaks are optional changes to how the game looks, sounds or plays. Every one is off until you turn it on, and replays never use them. On Android, turn them on in the new Tweaks card in Game settings, where they are grouped by kind. On Windows and Linux, add a line such as SA2_TWEAKS=skip-intro,no-loading-tips to the release's share/game.env. The Tweaks section of the setup guide describes each one and says which ones change your save.

  • Story and presentation: play the story recap before every stage, skip the intro logos, skip any cutscene, no loading tips, faster stage loading, remove or force the side bars in cutscenes, hide the HUD, a frame-time overlay, sharper texture filtering, longer draw distance, a field-of-view setting, less camera shake, hide upgrade models, and vsync.
  • Gameplay and assists: infinite lives, a ring-loss cap, no extra life at 100 rings, forgiving restarts, start every stage with assists, rival upgrade parity, Gold Beetles that stay, a treasure radar that tracks all three pieces or no radar at all, the Hard Mode layout, the two-player layouts in one-player stages, time-ranked Mission 4, physics presets, a faster spin dash, every stage in Stage Select, quick practice launches, power-ups kept on the victory pose, no Omochao, no special attacks in 2-player battles, and slow mode.
  • Controls: a gentler analog stick, a round deadzone for worn sticks, an inverted camera, and B as a toggle.
  • Audio: no music, no voices, no power-up music, mono audio, and swapped left and right.
  • Chao: the Chao Key after every stage, faster stat gains, small animals instead of Chaos Drives, and rings that trickle in while you visit Chao World.
  • Fixes: two crashes that only cheats could reach, Metal Sonic's bounce attack and the Chao Walker's cannon.
  • Windows and Linux: pause when the window loses focus, a speedrun timer feed for LiveSplit, and a vanilla profile that turns every tweak off at once.

Pyramid Cave and Death Chamber fixed. Both stages stopped right after their title cards with "control left the lifted code". A small routine in each stage's doors jumped into a part of itself that the port refused to run. Both stages now play.

Low-FPS speed fix (experimental). The game advances one tick per drawn frame, so a phone that can't draw 60 frames a second plays in slow motion. In Game settings, Low-FPS speed fix can run 2 or 3 game ticks per drawn frame in stages (30 FPS or 20 FPS), or pick that by itself (Auto). Stages then keep real-time speed as long as the phone can draw at least that many frames. Auto goes back to 60 FPS on its own when the phone can keep up again, and tries it again now and then if it couldn't. Menus, cutscenes, the pause menu and stage fades still slow down. It's off by default.

Background freeze fixed. On Android, leaving the game with Home or another app and coming back could freeze the picture or end the session with a crash. The game now pauses cleanly and draws again when you return.

Stall reports. If the game ever freezes, the crash report now says which wait each part of the game is stuck in, whether CPU pinning worked, and the phone's kernel version. The way the game hands frames to the renderer also changed, to avoid a Linux kernel bug some devices may have. This may be what stops the game at the SEGA logo on the AYN Thor; a report from a Thor will tell.

Downloads

Platform Asset Start here
Windows x86-64 OpenSA2-v0.1.0-alpha.4-windows-x86_64.zip Extract the entire ZIP and run OpenSA2.cmd.
Android arm64 OpenSA2-v0.1.0-alpha.4-android-arm64.apk Install the APK over the earlier one; your imported game, saves and settings stay.
Linux x86-64 OpenSA2-v0.1.0-alpha.4-linux-x86_64.deb Install with sudo apt install './OpenSA2-v0.1.0-alpha.4-linux-x86_64.deb', then launch OpenSA2.

Setup instructions and requirements

Windows requires Windows 10 or later and a Vulkan or Direct3D 12 graphics driver. Android requires Android 10 or later, a 64-bit ARM device, and a Vulkan 1.1 or later driver. The Linux package requires Ubuntu 24.04, Debian 13, or a compatible newer distribution with Vulkan graphics.

Known problems

  • Five tweaks (no music, no voices, faster spin dash, every stage in Stage Select, and power-ups on the victory pose) patch the game's code and are on Linux and Android only for now; the Windows package doesn't include them yet.
  • Most tweaks were checked on Linux and in an Android emulator, not on every platform or phone. Some change your save (ranks, emblems or Chao stats earned with them stay after you turn them off); each tweak's description says so.
  • The low-FPS speed fix can't reach full speed on a phone that draws fewer frames than its setting (for example under 30 frames a second at 30 FPS). Auto then uses 3 ticks.
  • On slower phones, such as one with an Adreno 610 (#14), the heaviest parts of a stage can still drop below what the low-FPS speed fix can make up for.
  • An AYN Thor stopping at the SEGA logo is not confirmed fixed.
  • Broad stage, boss, story-event and game-mode coverage is unfinished. Widescreen menus and overlays still need work.

Tested scope

Each tweak was checked on Linux, on and off. With every tweak off, the Linux and Windows builds match the boot recording frame for frame. Pyramid Cave as Sonic and Death Chamber as Knuckles play past their title cards on Linux and, with the same game build, in an Android emulator. The low-FPS speed fix was checked on Linux and in an Android emulator, and its Auto mode against recorded timings from a Galaxy S25 Edge. Earlier candidates of this release played on a Galaxy S25 Edge with tweaks on, and this build was installed over them with the game, saves and settings kept. The Windows ZIP and Linux DEB passed their package checks. These checks cover the exercised paths only.

Thanks

Thanks to everyone who asked for these changes and reported the problems behind them: @ImMrMiss (#16) for the Pyramid Cave report; @pcddlXDDD (#3), whose report that the Galaxy A05 runs slowly led to the low-FPS speed fix, as did u/darknightgamer93's question about slower phones; u/APMichaels on Reddit and @jimjonjimmy (#8) for the AYN Thor reports; u/Glittering-Rip9556 and u/StevenMX1 for the touch-control requests; @Gdpro835 (#5, #14) for confirming that the Vulkan 1.1 mode from alpha.3.1 runs on a real Vulkan 1.1 phone, an Adreno 610; and everyone sending crash reports from the app.

Many tweaks follow fixes the SA2 modding community found first, and they credit their sources: the SA2 Mod Loader's code list (MainMemory, Sora and its other contributors) and SA2 Render Fix (Shaddatic) above all.

Source, licenses, and checksums

SHA256SUMS records the downloadable files. The project source for all three packages is at this release tag. The public source-build bootstrap remains incomplete and still needs locally generated game inputs.

Original project code is GPL-3.0-only. Packages preserve the licenses and notices for their bundled components. Original game rights remain with their respective holders. OpenSA2 is independent of SEGA and Sonic Team.

Report a problem. On Android, use the app's Report on GitHub button. Keep game files and recordings containing game data out of reports.