Skip to content

SpeedBreaker v0.1.2

Choose a tag to compare

@ProjectUgarte ProjectUgarte released this 11 Oct 13:37

What's new

  • Internal Resolution 1.5x (1080p), in Settings > Graphics: a much sharper picture than 1x, with a
    little over half the pixels of 2x: for a GPU with room above 1x but not for 2x. Thanks to the
    Reddit player who asked for it.
  • Laptops with two GPUs: the game now runs on the dedicated graphics card (NVIDIA or AMD), not on
    the one built into the processor. On Linux with NVIDIA's driver, the launcher also turns on
    NVIDIA's PRIME render offload: thanks to lydacious for the idea and the first version (GitHub
    pull request #6).
  • Portable mode on Steam Deck, Steam Machine and Linux: put a file named portable.txt next to
    speedbreaker.sh, and SpeedBreaker keeps your settings, saves, logs and caches in that folder,
    and installs the game there too. Move or copy the whole folder to another machine and play on
    (GitHub issue #1).
  • Taller and wider screens: the sun's glare is round again (it was stretched on the Steam Deck,
    4:3 and 3:2 screens, and wider on ultrawides); no faint line of a letterboxed movie shows in the
    black past the 16:9 picture; and the race results screen no longer shows the race behind it past
    its 16:9 picture.
  • iPhone: after a screenshot, the picture no longer shrinks into a corner of the screen.
  • Experimental: an IPA for iPhone and iPad, to sideload with your own Apple Account (see below).

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

  • 1.5x renders 2.25 times the pixels of 1x, where 2x renders 4 times. Auto still chooses
    between whole scales (1x, 2x, 3x, or 3x2 on an ultrawide), as before. On the iPhone 18 Pro Max,
    1.5x holds 60 fps, but on a cable it reached iOS's "serious" heat level in about nine minutes
    (1x did in about six); Frame Rate Auto then drops to 30.
  • Two GPUs: the game picks a dedicated GPU over a built-in one, and of two alike the one with
    more video memory. This hasn't been confirmed on a real two-GPU laptop yet. The log's [video] Vulkan devices: line lists every GPU it found, the one it
    uses, and why. To use another, put NFSMW_GPU=<its number or part of its name> in the launch
    options, e.g. NFSMW_GPU=intel %command%. On a Steam Deck, Steam Machine, Steam Frame, Mac,
    iPhone or iPad (one GPU each) nothing changes.
  • Portable mode: making portable.txt yourself starts fresh. To bring your current settings,
    saves and installed game along, run ~/Games/SpeedBreaker/speedbreaker.sh --portable on in
    Konsole instead; --portable off copies them back. Both copy and never delete. Keep the folder
    on internal storage or a drive formatted by SteamOS. Not on the Mac, where an app keeps its data
    in the Mac's own folders.
  • The IPA: see "iPhone and iPad: the experimental IPA" below.
  • After a macOS, SteamOS or graphics driver update, the first drive can stutter for a moment while
    the game rebuilds its shaders for the new system. It happens once, and the game's log now says
    so.

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.2-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 e128bac. The first line of the
game's log, and Settings > Advanced, say SpeedBreaker v0.1.2 (e128bac).

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.2-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 started from the new install and raced
    at 60 fps with sunlit roads; Internal Resolution 1.5x raced at 60 fps too; portable mode was
    turned on and off with --portable. The Steam Deck wasn't reachable for this release's test.
  • arm64: on a Steam Frame (SteamOS 0.3.0), outside the headset. The game started from the new
    install and raced at 58 fps with sunlit roads, as v0.1.1 did; with portable.txt its data and
    caches stayed in the folder.
  • Mac: on a MacBook Pro (M1 Pro, macOS 27.0.1). The game played its intro and raced at about
    60 fps with sunlit roads, filled the 16:10 screen, and rendered 1.5x correctly. On macOS 15.6.1
    (Sequoia), in a virtual machine on a Mac Studio, it installed and raced at about 60 fps.
  • Updating from v0.1.1: on the Steam Machine, the Steam Frame and the Mac, v0.1.2 went over a working v0.1.1
    the way "How to update" says. The game used the existing install without reinstalling it and
    showed What's new once; on the Mac, a setting changed in v0.1.1 was kept.
  • Check for Updates reached GitHub and answered correctly on the Mac, in the macOS 15
    virtual machine and on the Steam Frame.
  • iPhone and iPad IPA: built and checked (its version, its two entitlements, its license
    notices, no personal data), but not installed on a device yet; see above.

Checksums (SHA-256)

File For Size SHA-256
SpeedBreaker-steamos-x86_64.tar.xz Steam Deck, Steam Machine, Linux PCs 16.1 MB afb93e4c7478e7f401018ad9b363c64dd7889d71c818b52ed8e7cbebe08ba395
SpeedBreaker-steamos-arm64.tar.xz Steam Frame 13.8 MB 827d965daa401e19261bd19aae2d146b6a25ce09a3d4b1fd7a2b82ff99ae681f
SpeedBreaker-macos.dmg Mac (Apple silicon, macOS 15 or later) 19.8 MB 422448ce306bd9342b40a2c5eba010d92e5862c525a3e37e0100c824faf782d3
SpeedBreaker-0.1.2-ios.ipa iPhone and iPad (experimental, to sideload) 15.8 MB 3f2a768d9ee4e20d29723c7085b94ba9331a01e4074ba1d52b4b35bcc9600b2c
SpeedBreaker-0.1.2-third-party-source.tar.xz Source of the LGPL and GPL libraries in the downloads 213.6 MB c4b7f1d67be187d4e82da0a73502d53822de618e4e654544f8a8772b914d87ba

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

  • Reported after v0.1.1, not changed in this release:
    • in the pause menu's Performance Tuning, every row is labelled "Steering" (issue #8; each
      row's help text is right, and the sliders work). The cause is found, and the fix comes in the
      next update;
    • a small hitch every few seconds that the frame-time graph doesn't show (issue #9): being
      looked into.
  • Sun shadows of cars, walls and tunnel roofs are missing (comments in issue #3): cars don't
    cast their hard shadow in sunlight, and inside tunnels a car flickers between sunlight and tree
    shadows instead of staying in shade. That's a SpeedBreaker bug, found after this release (the
    shadow pass ran a leftover shader that threw those shapes away), and the fix comes in the next
    update.
  • 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.
  • Steam Deck OLED: set the refresh rate to 60 Hz (Quick Access > Performance). At 90 Hz
    the game stutters. Leave the Framerate Limit off. The Steam Deck LCD hasn't been tested yet.
  • 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. v0.1.2 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.
  • 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.
  • Not in this release: importing Xbox 360 saves, button remapping, mouse control in the game,
    more than 60 fps (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.2-<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 lydacious for the NVIDIA PRIME offload in pull request #6, to the Reddit player who asked for
1.5x, and to everyone on GitHub: the portable request in #1, the confirmations on NVIDIA and
Intel graphics in #2, and the new reports in #3, #8 and #9.

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