Repository navigation
What's new
- Shadow Resolution Auto (Settings > Graphics, the new default; #90): 2x when Internal
Resolution renders at 2x or more, otherwise 1x. Car and road shadows are sharper on 1440p and 4K
screens, and on a 1080p screen where Internal Resolution's Auto renders at 2x (a dedicated GPU, or a Mac). Where Internal Resolution stays at 1x, so do
the shadows: Intel integrated graphics on Windows, iPhone and iPad. Steam Deck and Steam Frame
keep 1x shadows at any resolution, docked too, where 2x would cost too much speed. After the
update, a Shadow Resolution of 1x from an earlier version becomes Auto, once; 1.5x and 2x are
kept, and so is a 1x you choose from now on. - Player 1 follows the controller you last pressed (#66): with more than one controller
connected, pressing a button, a trigger or a stick on any of them makes it player 1, with no
setting needed. A docked Steam Deck in Desktop Mode now answers the pad in your hands instead of
its own controls, and a pad connected after the game starts works at once. Drift and a resting
trigger never count. The settings menu follows player 1 too. In split screen, player 1 keeps the
controller used before split screen began, and player 2 joins as before. - Updates at startup: once at each launch, SpeedBreaker asks GitHub whether a newer version is
out. If so, a short notice says so, and Settings offers "Update to v0.x.y", which shows what's new
and the download page (in your browser, or as a QR code to read with a phone). Only the question goes out, with the version you run: nothing about you or this device. Turn it off with Settings > Advanced > Check for
Updates at Startup; Check for Updates still works by hand. - Intel Macs (build from source, community-tested; #58): SpeedBreaker now builds and runs on an
Intel Mac with macOS 15 or later and a CPU with AVX2, using MoltenVK 1.4.2. There's no Intel Mac
download; the README's "Building from source" has the steps. A player runs it with an AMD Radeon
RX 6600 XT; we have no Intel Mac to test on, and Intel graphics haven't been tried. - Cops in Quick Race (Quick Race > Custom Race, in the race options; #82): a new Cops row, Off
by default, puts the police in Circuit, Sprint, Lap Knockout and Speedtrap races. It's offered in
single player only (not in Drag races or split screen). - The German (PAL) disc, in builds from source (#88). A build with its code (README, Building
from source, step 2) plays it like the Spanish one: its own code, German movies and police radio,
and German as the Language row's default. It installs beside a USA or Spanish install, with its
saves in their own folder (save-pal-de/). The downloads don't include it yet: their installer
refuses the German disc up front, saying it needs a build with its code. Cops in Quick Race
works on the German disc too: JokerGermany checked its addresses and played it on a real German
disc.
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
- What Shadow Resolution Auto costs where it picks 2x: on a MacBook Pro (M1 Pro) about 2 ms of GPU
time a frame, and on a Steam Machine at 3440x1440 about 0.6 ms; both held 60 fps. Steam Deck and
Steam Frame stay at 1x because 2x cost them too much: a Steam Deck docked to a 1080p screen lost
about 12 fps in races (5.4 ms of GPU time). On a GPU that can't hold 60 fps, Shadow Resolution 1x
gives that time back. NFSMW_SHADOW_RESOLUTION=auto/1x/1.5x/2xoverrides the setting;NFSMW_UPDATE_CHECK=0turns off
the check at startup;NFSMW_QUICK_RACE_COPS=0removes the Cops row.- For builders:
ppc-pal-de/fromconfig/pal-de/(-DSB_PAL_DE=OFFleaves it out).
survey/func_map.pyandsurvey/region_map.py --region pal-demade its tables, and do the same
for another region (docs/REGION_PAL_DE.md).
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.4-ios.ipa, or build it yourself with Xcode |
iPhone and iPad |
| Windows (beta) | SpeedBreaker-0.2.4-windows-x64-beta.zip, on its own v0.2.4 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 fe04285. The first line of the
game's log, and Settings > Advanced, say SpeedBreaker v0.2.4 (fe04285).
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.4-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 3440x1440 with 2x shadows, 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. Shadow Resolution Auto chose 1x at 1280x720 and on a simulated Steam Deck, and 2x at 3440x1440.
- arm64: on a Steam Frame, outside the headset: the installer, races at 60 fps at 1280x720 with 1x shadows, Spanish menus, two-player split screen, Quit Game and SIGTERM worked.
- Mac: on a MacBook Pro (M1 Pro), the installer and a race worked, and the PAL Spanish disc installed and raced in Spanish. Shadow Resolution Auto chose 2x at 4K and at 2560x1600. In a macOS 15 virtual machine all 27 checks passed, with races at 60 fps.
- Windows (beta): on a laptop with Intel UHD Graphics: 28 race loads with no hang, pause and resume, and the same speed as beta 6, with Shadow Resolution Auto at 1x.
- Updating from v0.2.3: each download installed over the published v0.2.3 kept the settings and installed game, changed a saved Shadow Resolution of 1x to Auto once, and showed What's new for v0.2.4.
- The update check: against a local test server, not GitHub: it said "up to date", and for a newer test version it showed the notice, the update button in Settings and the download page with its QR code, with one request per launch.
- The changes: with Shadow Resolution at 1x, the picture matched v0.2.3's on the Steam Machine, the Steam Frame and Windows. Turning Cops on in a Custom Race put police in the race. Player 1 following the last controller was tested with two virtual controllers (a scripted two-pad run, split screen included), not with real ones.
- 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 | f401ff9cb08ed400b0edc1367235ed9b6ba7b3a3837905e00f0f459cc4189a8a |
SpeedBreaker-steamos-arm64.tar.xz |
Steam Frame | 16.7 MB | 7246fcee65c743fb9e9906ffd734a59c0ccb440c3edff9b632d9eff508972981 |
SpeedBreaker-macos.dmg |
Mac (Apple silicon, macOS 15 or later) | 32.2 MB | f090697281eba6cdf4b41259bf275d4380a7465d1014d2d5baea7f505ade5c33 |
SpeedBreaker-0.2.4-ios.ipa |
iPhone and iPad (experimental, to sideload) | 27.5 MB | b8a0c27602b486d37e6902b95174e363f5b813892ddc2d98aa44eea79906367d |
SpeedBreaker-0.2.4-third-party-source.tar.xz |
Source of the LGPL and GPL libraries in the downloads | 213.6 MB | 13116517577cf289e7f718c1732dedfc5b6c971c9911d44ec51c69471bb10918 |
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
.sha256and
download it again. - Apple silicon only, macOS 15 or later.
- The Open Anyway button only stays there for about an hour after the refusal. If it's gone,
- 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. - Intel Macs build from source only and are community-tested: we have no Intel Mac to test
on, and Intel graphics haven't been tried (the README's Building from source has the steps). - 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.
- Browse for image... may not open in Game Mode. Use the image the installer found instead:
- 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 saysGLIBCXX_3.4.34 not found, update SteamOS. - Linux:
- Always start it with
speedbreaker.sh. Started on its own, the program inlib/fails on
most systems with a message such asGLIBC_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.
- Always start it with
- 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 (PAL) disc plays only in a build from source with its code, and Cops in Quick Race is
untested on it. Other PAL discs, Japanese discs, re-releases, Games on Demand packages and the PC
version aren't supported, 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
- 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. - 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.4-<date>_<time>.zip. Nothing is uploaded. - 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 deus-ex-machine for reporting the pixelated car shadows (#90), to krittinen for suggesting that
player 1 follow the controller in use (#66), to vorno-crole for Intel Mac support (#58), to
HungryManticore for Cops in Quick Race (#82), to JokerGermany for the German disc (#88), 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.4-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.