Skip to content

SpeedBreaker v0.2.3

Choose a tag to compare

@ProjectUgarte ProjectUgarte released this 06 Nov 02:26

What's new

  • Sharper UI (Settings > Graphics, on by default; #85): above 1x Internal Resolution, the
    menus' and the HUD's text, icons and panels are enlarged with a sharper filter instead of a blur,
    so they look crisper on 1440p and 4K screens. Where the finished picture is then enlarged to the
    screen by an uneven factor (for example 1440p to 4K), the UI's pixels also take FSR 1's
    edge-aware upscale instead of the bicubic one and skip the anti-aliasing pass, which had softened
    and dimmed them, at every screen shape (16:10 and ultrawide included). The art, layout and colors
    are the game's own; only the enlarging changes. Off is exactly as before.
  • Movie Upscaling (Settings > Graphics, Sharper by default): the game's 720p movies (the intro
    and the cutscenes) are enlarged with a sharper, edge-aware filter: FSR 1's upscale where the movie
    reaches the screen at 1x, the same filter as Sharper UI above 1x, and a Lanczos filter on iPhone
    and iPad at 1x. Colors and brightness are unchanged. Original keeps the movies as before.
  • Sharper roads on a Mac at 1x: Anisotropic Filtering's Auto is 16x on a Mac rendering at 1x
    Internal Resolution (was 4x on Macs with integrated graphics): roads and lane markings ahead stay
    sharper, at no measurable cost. Above 1x, and on other devices, Auto is unchanged.
  • Mac: a little less CPU in races and in the menus, with the same frame rate: the part that
    stands in for the Xbox 360's graphics command processor goes to sleep sooner while it has no work.

Fixed

  • Menu edges on screens taller than 16:9 (#87; a 16:10 MacBook, the Steam Deck, an iPad) with
    Aspect Ratio on Fill Screen: the black graffiti header of the Options screens no longer ends in a
    straight cut with the 3D scene showing above it (the game draws it a little past the top of a
    16:9 picture; on a taller screen its top part is now drawn a little taller so it reaches the
    screen's edge), and the graffiti tags that drip into view on the Options menu now start at the
    top of the screen instead of a little below it. 16:9 pictures are unchanged. The dim behind a
    dialog ("Loading a new alias", "No aliases were found") now reaches the top row of the screen.
  • The Rap Sheet's black page now fills the whole screen at every screen shape, 16:9 included,
    instead of leaving a thin frame of the scene behind it (as the Blacklist bios already do since
    v0.1.6). The dialog dim's top rows are dimmed at 16:9 too.

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

  • NFSMW_SHARP_UI=0/1 and NFSMW_MOVIE_UPSCALE=original/sharper override the two settings.
    NFSMW_UI_MASK=0 keeps Sharper UI but turns off the UI's FSR 1 pass at the screen (it never
    runs with HDR Output on, at 1x, or when the picture is enlarged by a whole number).
  • What Sharper UI costs: on a MacBook Pro (M1 Pro) at 4K with Internal Resolution Auto, about
    2.5 ms of GPU time a frame in the menus and 1.5 to 2 ms in races (at 4K and at 16:10), and the
    game held 60 fps. Movie Upscaling adds about 1.5 ms while a movie plays above 1x. At 1x on a 16:9
    screen, Sharper UI changes nothing. On a taller or wider screen the game renders the screen's own
    shape, so at 1x the picture is slightly taller (or wider) than 1x (1280x800 on a 16:10 screen) and
    Sharper UI is active there too: about 1 ms on the Steam Deck, which still held 60 fps. On a
    slower GPU that can't hold 60 at its Internal Resolution, turning Sharper UI off gives that time
    back.
  • Mac: NFSMW_CP_IDLE_SPIN_US sets how long the command processor waits for new work before it
    sleeps, in microseconds: 500 on a Mac now; 2000, as before, on iPhone, iPad, Linux, SteamOS and
    Windows. On the M1 Pro it saved about a tenth of a CPU core.
  • NFSMW_EDGE_PIECES=0 turns off the taller-screen fixes for the Options screens' graffiti header
    and tags, for comparing with the earlier picture.

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.2.3-ios.ipa, or build it yourself with Xcode iPhone and iPad
Windows (beta) SpeedBreaker-0.2.3-windows-x64-beta.zip, on its own v0.2.3 Windows beta pre-release page Windows (beta)
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 1cdb7bd. The first line of the
game's log, and Settings > Advanced, say SpeedBreaker v0.2.3 (1cdb7bd).

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.2.3-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: races at 60 fps at 1280x720 and at 3440x1440, with FSR 1, at 1280x800 with Fill Screen at 1x, and in two-player split screen. Smooth Motion on a simulated 120 Hz display showed 120 pictures a second, and 90 on a 90 Hz one. Quit Game and SIGTERM quit cleanly.
  • arm64: on a Steam Frame, outside the headset: the installer, races at 60 fps at 1280x720, Spanish menus, two-player split screen, FSR 1, Quit Game and SIGTERM worked.
  • Mac: races at 60 fps on a MacBook Pro (M1 Pro, macOS 27), and the PAL Spanish disc installed and raced in Spanish. In a macOS 15 virtual machine all 31 checks passed on the first run.
  • Windows (beta): on a laptop with Intel UHD Graphics: 28 race loads with no hang, pause and resume, and the same speed as beta 5.
  • Updating from v0.2.2: each download installed over the published v0.2.2 kept the settings and installed game, and showed What's new for v0.2.3.
  • The changes: with Sharper UI off and Movie Upscaling on Original, the menus matched v0.2.2's on the Steam Machine, the Steam Frame and Windows. On a 16:10 screen, the Options screens' header and graffiti tags now reach the top on all of them.
  • iPhone and iPad: the IPA file was checked for its contents and signing layout, as before; 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 19.7 MB 1ed0d55f55a0d41fd33ee66142da46ca38757907af5b7352759ed7d4cc95f973
SpeedBreaker-steamos-arm64.tar.xz Steam Frame 16.7 MB b3d4c3ff2e0f95cd55f2fd3ec6c95bb119bc84d0fde728d97ce9e0474eb7707f
SpeedBreaker-macos.dmg Mac (Apple silicon, macOS 15 or later) 32.2 MB 7c455a7b58dd9e2843ef2c09250a724832e302b7d1780449125d7e37f64a01aa
SpeedBreaker-0.2.3-ios.ipa iPhone and iPad (experimental, to sideload) 27.4 MB 7f7a2040b797b351f19fff3dc83b4a4336ac1de5609b58b33b3a256088c59723
SpeedBreaker-0.2.3-third-party-source.tar.xz Source of the LGPL and GPL libraries in the downloads 213.6 MB 2962af12fd64a60a99701a16574835cecd0ef9fc89c11ca6b37e2e05a9719b0e

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 (or, on a SteamOS or Linux PC at 90 Hz, Smooth Motion).
  • 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 from the file
    itself 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: the USA (NTSC-U) and the European (PAL) Spanish Xbox 360 discs are supported.
    The German and other PAL discs, Japanese discs, re-releases, Games on Demand packages and the PC
    version aren't, and no title update is used.
  • Languages: the menus and the race text come from the disc's own files in ten languages. The
    movies and the speech (the police radio, the voices in the scenes) stay in the disc's language:
    English on the USA disc, Spanish on the PAL one. Fan translations aren't supported.
  • Mac: wired Xbox controllers don't rumble. macOS drives an Xbox One or Series controller
    connected by USB through its own controller framework, which never runs the motors. Pair it
    over Bluetooth for rumble (a DualSense rumbles either way).
  • 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, and renders at most Auto's internal resolution. On a
    Steam Deck it holds 60 fps at Internal Resolution Auto (1x).
  • HDR on SteamOS, Linux and Windows was checked in its settings and logs, not yet on a real HDR
    screen there; on a Mac it was checked on an HDR display. A report from an HDR TV or monitor would
    help.
  • Smooth Motion is on Macs with a 120 Hz screen (measured on a MacBook Pro (M1 Pro) and a Mac
    Studio (M4 Max)) and on SteamOS and Linux PCs at 120 or 90 Hz (measured on a Steam Machine). Not on
    the Steam Deck, Windows, iPhone or iPad.
  • Not in this release: importing Xbox 360 saves, controller button remapping, mouse control in the game,
    more than 60 fps outside Smooth Motion (the game's own cap), and Android builds. Windows is in beta.

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.2.3-<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 The-RiVaL for suggesting sharper menus and HUD (#85), to DoubleDips for reporting the menu
edges on taller screens (#87), and to everyone who reports how the game runs on their 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.2.3-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) or European (PAL) Spanish Xbox 360 disc.