Last update: September 24, 2023

This modification addresses several numerous more or less several bugs in the classic Need for Speed games from the late 90s - starting from Need for Speed 2: Special Edition, through Need for Speed: Porsche Unleashed. Since all those games already have their established unofficial patches, I concentrated my efforts on issues either omitted by those patches, or (in the case of NFS2SE and NFS Porsche) caused by them.

Modern Patch is strongly recommended, although not mandatory. SilentPatch can work with or without it.

Fixes marked with can be configured/toggled via the INI file.

Essential fixes:

  • Locked specific problematic threads to one core, while allowing worker threads to use any CPU cores – combining good stability and performance. This option has to be enabled by adding SingleProcAffinity=1 to an INI file named like the game’s executable. This change is fully compatible with Modern Patches and overrides its single core-affinity solution.

  • Fixed a potential race condition on starting the movie decoding thread.
  • Fixed a bug preventing controller button mappings from working correctly with gamepads that report more than 15 buttons (such as the Xbox One controller).
  • Fixed the game closing when the controller disconnects during the race.
  • (Verok’s Modern Patch only) Fixed an issue where online races were displayed only on the top half of the screen as if they were split-screen races.

Miscellaneous fixes:

  • Alt + F4 now works correctly.
  • Num Lock, Caps Lock and Scroll Lock don’t get forcibly disabled on game launch anymore.

  • Fixed issues with stuttery/unresponsive mouse cursor in menus when using mice with high polling rates.
  • Fixed a controller polling bug resulting in potential incompatibilities with DirectInput wrappers such as Xidi.


  • Pasting text into text boxes now works with Ctrl + V.

Setup instructions

See source on GitHub

Related reads: