Skip to content

SpeedBreaker v0.1.8

Choose a tag to compare

@ProjectUgarte ProjectUgarte released this 22 Oct 15:12

What's new

  • Two-player split screen (Quick Race > Split Screen): with two controllers, each player gets
    their own half of the screen. The second controller joins at "Player 2 press START". If either
    player's controller disconnects, the game pauses and says so until it's back (issue #28).
  • Smooth Motion (Settings > Display), on a Mac with a 120 Hz screen (ProMotion or a 120 Hz
    monitor): up to 120 fps. The game still runs at 60 steps a second, as on the console, and draws
    one more picture between each two. It's off by default and takes effect the next time the game
    starts. When a scene is too heavy, it eases off, down to an even 60 for a few seconds.
  • USB steering wheels (experimental). A Logitech G29 steers, the pedals are the throttle and
    the brake, the paddles shift gears, and the menus work from the wheel's buttons. Settings > Wheel
    (shown while a wheel is plugged in) has the steering range, deadzone, response, force feedback
    and Calibrate for other wheels. Tested with a G29 on a Mac; the steering feel is still being
    tuned, so feedback from wheel owners is very welcome. Thanks to byteofmydream, who wrote it
    (pull request #29).

Fixed

  • Now and then in a race, especially on a busy Mac, the engine (or another sound) dropped to a
    murmur until the next gear change. The game's own sound code took a moment where it didn't get to
    run for a console overload and cut sounds; it no longer does. Thanks to Omega3komma3 for the
    report and the video (issue #35).
  • The fade to black before some cutscenes and loads (such as the career prologue's last race)
    now covers the whole screen, top and bottom, on screens taller than 16:9 (a MacBook, a Steam
    Deck), instead of leaving the scene showing above and below it.
  • A preventive memory fix for Apple-silicon Macs, iPhones and iPads: handing memory back could
    clear a little more than it should. It wasn't seen to happen in play.

How to update

  • Mac: drag the new SpeedBreaker into Applications and choose Replace, then allow it once more with Open Anyway (System Settings > Privacy & Security).
  • Steam Deck, Steam Machine, Steam Frame and Linux: unpack the new download over the old folder (~/Games/SpeedBreaker). Your Steam shortcut keeps working.
  • Everywhere: your saves, settings and the installed game are kept, and no disc image is needed.

More about it

  • Split screen runs at 60 fps on a Mac and on a Steam Deck at its Auto resolution; at higher
    Internal Resolutions it can drop below.
  • Smooth Motion isn't on SteamOS, Linux or iPhone and iPad yet. Internal Resolution's Auto picks
    for two pictures a step (1x on an M1 Pro); the controls answer a few milliseconds later.
  • Wheels: other wheels than the G29 are used as best the game can work them out; Calibrate teaches
    it yours. Force feedback works on a Mac through SDL's own Logitech driver (the G29 in its PS3
    position, G27, G25, Driving Force GT and Pro; not a G29 in its PS4 position, a G920 or a G923).
    On SteamOS and Linux the wheel should steer as on a Mac; force feedback there isn't tested yet.
  • The log now says when the game's sound code would have dropped sounds, at most once a minute.

The full list of changes is in CHANGELOG.md.

Which file is for my device?

Device Download Setup
Steam Deck, Steam Machine and Linux PCs (x86-64) SpeedBreaker-steamos-x86_64.tar.xz Steam Deck and Steam Machine, Linux
Steam Frame (arm64) SpeedBreaker-steamos-arm64.tar.xz Steam Frame
Mac with Apple silicon, macOS 15 or later SpeedBreaker-macos.dmg Mac
iPhone and iPad (experimental) SpeedBreaker-0.1.8-ios.ipa, or build it yourself with Xcode iPhone and iPad
Windows and Android Coming soon

The two SteamOS files are not interchangeable: the arm64 one is for the Steam Frame only, and the
x86-64 one doesn't run on the Frame. Each download has a .sha256 file next to it (see Checksums
below).

All downloads are built from this release's source, commit 86cfaa4. The first line of the
game's log, and Settings > Advanced, say SpeedBreaker v0.1.8 (86cfaa4).

The Source code archives that GitHub adds hold SpeedBreaker's own source, with no game code or
data. Building from them needs your own disc; see
Building from source.

iPhone and iPad: the experimental IPA

SpeedBreaker-0.1.8-ios.ipa is signed by nobody: a sideloading tool such as AltStore signs it
with your own Apple Account and installs it. The IPA itself hasn't been installed on a device
yet
: the iPhones and iPad it was tested on ran the same app built and signed with Xcode. Please
report how it goes, working or not, with your device and tool.

  • The game asks iOS for more memory than most apps (two entitlements: Extended Virtual Addressing
    and Increased Memory Limit). A free Apple Account can give at most the second, and only with
    some tools: AltStore Classic 2.2 or later is expected to keep it; SideStore 0.7 drops both.
    Without them the game may not start, or iOS may close it in busy scenes. When iOS refuses the
    memory, the game says so on screen instead of closing.
  • A free Apple Account's apps stop opening after 7 days until the tool refreshes them, and at most
    3 sideloaded apps can be active at once. These are Apple's limits.
  • iOS or iPadOS 17 or later, on an A15-class chip or newer, with a controller or keyboard.
  • Coming from a build you made yourself, the IPA installs as a separate app: install the game again
    from your disc image. Saves made in the old app stay with it.
  • Sideloading the IPA
    has the steps and which tools keep what. Building it yourself with Xcode still works as before.

How these downloads were tested

Each download attached here was tested before release. It was unpacked or opened as the setup
steps say, with a fresh home folder, and the game was installed through the installer from a disc
image:

  • x86-64: on a Steam Machine (SteamOS 3.8). The game raced at 60 fps, with the default upscaling and with FSR 1, and two-player split screen raced at 60 fps at 3440x1440. On a simulated 120 Hz display (nested gamescope), 99.99% of frames stayed on screen for exactly two refreshes; on a simulated 90 Hz display the refresh-rate notice appeared once and not again; at 60 Hz pacing was unchanged. Stopped with SIGTERM, it quit cleanly and kept its settings.
  • arm64: on a Steam Frame (SteamOS 0.3.0), outside the headset. The game raced at 58.6 fps, as v0.1.7 did, and split screen at 60 fps; FSR 1, the Controls page, Quit Game, SIGTERM and Check for Updates worked.
  • Mac: on a MacBook Pro (M1 Pro, macOS 27), at a median 60 fps in a race and with Smooth Motion on the ProMotion screen, and in a macOS 15 virtual machine, where it passed all 31 checks.
  • Updating from v0.1.7: each download installed over the published v0.1.7 kept the settings, saves and installed game, and showed What's new for v0.1.8.
  • iPhone and iPad IPA: its contents and signing layout were checked as for v0.1.7; it hasn't been installed on a device from this file.

Checksums (SHA-256)

File For Size SHA-256
SpeedBreaker-steamos-x86_64.tar.xz Steam Deck, Steam Machine, Linux PCs 16.3 MB 7db6cb1029e37f12bd76576f53e890a59b6c69fda59ab38a58acf7fa65faf19a
SpeedBreaker-steamos-arm64.tar.xz Steam Frame 14.0 MB 176481ff7e4dc5fb9fcdeada51f1408af2a34c30fb6cbc79040497b0d408dc97
SpeedBreaker-macos.dmg Mac (Apple silicon, macOS 15 or later) 20.1 MB 062866d26fd1d9eb5de48210071cd37b7ae738fab95f72562676e05f203d8a25
SpeedBreaker-0.1.8-ios.ipa iPhone and iPad (experimental, to sideload) 16.0 MB 503e3ab94460e4b940107d690dc90b75e67b70de19a3a47931b429e18d9117da
SpeedBreaker-0.1.8-third-party-source.tar.xz Source of the LGPL and GPL libraries in the downloads 213.6 MB 7bbefc44f1388fcc71e381b51b16e82e8806d826a60b950f85ea172c01e62198

Each file has its .sha256 next to it on this page. Download both into the same folder, then
run sha256sum -c SpeedBreaker-steamos-x86_64.tar.xz.sha256 on SteamOS or Linux, or
shasum -a 256 -c SpeedBreaker-macos.dmg.sha256 on a Mac (with your file's name). It should
say OK.

Known issues and limits

  • Mac, the first time you open it: the app isn't notarized by Apple, so macOS refuses to
    open it and offers Done or Move to Trash. Click Done. Then go to System Settings >
    Privacy & Security, scroll down to the message that SpeedBreaker was blocked, click Open
    Anyway
    , and confirm with Open Anyway and your password (or Touch ID). After that it opens
    normally.
    • The Open Anyway button only stays there for about an hour after the refusal. If it's gone,
      open the app again.
    • You do this once per download, so once more after each update. Control-click > Open no
      longer skips it.
    • The app isn't damaged. If macOS ever says it is, check the download against its .sha256 and
      download it again.
    • Apple silicon only, macOS 15 or later.
  • macOS 15 Sequoia was tested in a virtual machine, not yet on a real Mac. If you play on
    macOS 15, a short report in the issues, working or not, with your Mac's model, would help a lot.
  • Mac frame pacing was measured on a MacBook Pro (M1 Pro) with its 120 Hz ProMotion screen, in
    fullscreen. Other 120 Hz screens (other Macs, external displays) and windowed play weren't
    measured; a frame that isn't ready in time is shown when it is, as before.
  • A Brightness slider moved before v0.1.4: if you moved the game's own slider in an earlier
    version (where it did nothing) and the game has saved since, v0.1.4 and later use that setting
    from the main menu on. At maximum the picture is much brighter and washed out, as on a 360 with that save.
    In the pause menu > Options > Video, set the slider back to the middle, or press Y (Defaults) and
    choose Yes. Settings > Display > Brightness doesn't undo it.
  • Steam Deck OLED: set the refresh rate to 60 Hz (Quick Access > Performance); with Steam's
    per-game profile on, it stays at 60 Hz for this game. At 90 Hz the game stutters, and a note says
    so once. Leave the Framerate Limit off. The Steam Deck LCD hasn't been tested yet.
  • 120, 180 and 240 Hz screens were tested on simulated displays, not yet on a real panel, and
    not in Game Mode on a TV. 90, 144 and 165 Hz can't show 60 fps evenly: use 60 or 120 Hz, or
    variable refresh.
  • Game Mode on Steam Deck and Steam Machine:
    • Browse for image... may not open in Game Mode. Use the image the installer found instead:
      it is highlighted, so press A, then A again on Install. If it found more than one
      (for example one in Downloads and one on the SD card), pick yours with Up and Down first.
    • Choose a folder... opens its folder picker only in Desktop Mode. Pick the folder there, or
      run ~/Games/SpeedBreaker/speedbreaker.sh --install <image> --dest <folder> from Konsole. Use
      a folder on the internal storage or on a card formatted by SteamOS, or Game Mode won't find
      the game.
    • Game Mode only sees SD cards and USB drives formatted by SteamOS. For others, copy the image
      into Downloads from Desktop Mode.
    • Docked, or on a Steam Machine, set the shortcut's Game Resolution to Native.
  • Steam Frame: it plays as a big flat screen in the headset; it is not a VR mode. Set Display >
    Frame Rate to 30 fps for smooth play (the headset's compositor shares the graphics chip; the
    game keeps its full speed). The Frame's file manager can't unpack the download: use the Konsole
    command in the setup steps. Since v0.1.2 the game needs a current SteamOS on the Frame (September
    2026 or later): if it says GLIBCXX_3.4.34 not found, update SteamOS.
  • Linux:
    • Always start it with speedbreaker.sh. Started on its own, the program in lib/ fails on
      most systems with a message such as GLIBC_2.44 not found.
    • The x86-64 download is tested here on SteamOS. Players reported v0.1.1 working on Fedora 44
      with a GeForce GTX 1080 Ti and on Ubuntu 24.04 with Intel Arc graphics (issue #2).
      The dedicated-GPU choice on two-GPU laptops hasn't been tried on a real laptop here yet: a
      note with your laptop's [video] Vulkan devices: log line would help.
    • Choose a folder... needs a file chooser portal or zenity; without one, install with
      --dest.
    • It needs a CPU with AVX2 (Intel Haswell, AMD Excavator or Zen, or newer) and Vulkan 1.2
      graphics.
  • iPhone and iPad: the IPA is experimental and hasn't been installed on a device yet (see
    above). On the iPhone 18 Pro Max, long sessions on a charger get it hot even at 1x, and Frame
    Rate Auto then drops to 30.
  • Going back to v0.1.4 works, but if you change a setting there, it forgets the keys set on
    the Controls page: back in v0.1.5 or later they are the defaults again.
  • Game versions: only the USA (NTSC-U) Xbox 360 disc is supported. PAL and Japanese discs,
    re-releases, Games on Demand packages and the PC version aren't, and no title update is used.
  • Steering wheels are experimental. The Logitech G29 is the one tested, on a Mac. The steering
    feel is still being tuned (in sharp turns it can feel too quick), and wheel and split screen
    together haven't been tried. Force feedback isn't tested on SteamOS or Linux, and doesn't work
    with a G29 in its PS4 position, a G920 or a G923. If you have a wheel, a report with your
    wheel's model, working or not, would help a lot.
  • Split screen needs two controllers. On a Steam Deck it holds 60 fps at Internal Resolution
    Auto (1x); at 1.5x it can fall just short.
  • Smooth Motion is on Macs with a 120 Hz screen only, measured on a MacBook Pro (M1 Pro) and a
    Mac Studio (M4 Max).
  • Not in this release: importing Xbox 360 saves, controller button remapping, mouse control in the game,
    more than 60 fps outside Smooth Motion on a Mac (the game's own cap), and Android builds. Windows is coming soon.

Reporting a bug

  1. Open the settings (F1; Back + Start on a controller; on a Steam Deck hold View and press Menu;
    on a Steam Frame press Menu + View; a three-finger tap on iPhone and iPad), go to
    Advanced and choose Save Bug Report.
  2. A notice says where the zip file went: usually your Desktop (on SteamOS, pick it up in Desktop
    Mode, or in the Desktop app on a Steam Frame), or the SpeedBreaker folder in the Files app on
    iPhone and iPad. Its name says which version you're running, for example
    speedbreaker-bug-report-v0.1.8-<date>_<time>.zip. Nothing is uploaded, and nothing is
    checked online unless you press Check for Updates.
  3. Check the open issues first. Then
    open a new issue, attach the zip, and say which device and download you use, what you were
    doing, what you expected, what happened, and roughly how long into the session it happened.
    If the game crashed, start it again and save a report: the crash report is included.

Never attach game files or disc images to an issue.
CONTRIBUTING.md
says how bug reports and pull requests are handled.

Thanks

To byteofmydream for the steering wheel support (pull request #29), to Omega3komma3 for the engine
sound report, bug reports and video (issue #35), and to the players who report how the game runs on
their screens and devices.

License and legal

SpeedBreaker is free software under the GNU General Public License, version 3 or (at your
option) any later version (GPL-3.0-or-later). Each download carries its license notices and every
bundled library's own license (licenses/ in the SteamOS downloads,
SpeedBreaker.app/Contents/Resources/licenses in the Mac app, SpeedBreaker.app/licenses in the
IPA).

The complete source of the LGPL and GPL code by others in these downloads (FFmpeg with
SpeedBreaker's patch and libmspack in all of them; the GNU C Library and GCC's runtime libraries in
the x86-64 one) is attached below as SpeedBreaker-0.1.8-third-party-source.tar.xz.

"Need for Speed" and "Most Wanted" are trademarks of Electronic Arts Inc. Steam, Steam Deck, Steam
Machine, Steam Frame and SteamOS are trademarks of Valve Corporation. iPhone, iPad and macOS are
trademarks of Apple Inc. All other trademarks belong to their respective owners. SpeedBreaker is a
fan project by project(u), not affiliated with, endorsed by or sponsored by Electronic Arts Inc.,
the Need for Speed brand, Valve Corporation or Apple Inc. It contains no game data or assets, and
is provided "as is", without warranty of any kind. No game files are included: you need a
backup of your own USA (NTSC-U) Xbox 360 disc.