opentestdriveunlimited/OpenTestDriveUnlimited

Open source port of Test Drive Unlimited (2006)

110

stars

287

commits

C++

primary language

Aug 31, 2026

updated

c-plus-plus
decompilation
game-development
reverse-engineering
tdu
tdu1
testdriveunlimited
vulkan

README

Open Test Drive Unlimited (OpenTDU)

Windows (x86_x64) Linux (x86_64) macOS (arm64)

Source port of Test Drive Unlimited PC (TDU) (MC 1.66A)

WORK IN PROGRESS

The goal of this project is to create a new client fixing various issues encountered on modern systems (AI, rendering, security, etc.) as well as providing cross-platform compatibility.

This project is not a replacement for the game (you still need to own a legal copy); and does not provide any game assets!

Alt Text Alt Text Alt Text Alt Text Alt Text

Regular updates/screenshots can be found in this thread.

Download

Nightly binaries are available here: https://github.com/opentestdriveunlimited/opentestdriveunlimited/releases.

Installation

Copy the opentdu binary and EURO folder content (must be merged with your original EURO folder; THIS IS NOT A REPLACEMENT FOR YOUR ORIGINAL EURO FOLDER) to your TestDriveUnlimited folder.

Dependencies

  • CMake (3.15 or newer)
  • C++17 compiler (eg. clang; gcc or MSVC)
  • Vulkan SDK (1.3.204.0 or newer)

Build instructions

  1. Clone the code using: git clone --recursive git@github.com:opentestdriveunlimited/OpenTestDriveUnlimited.git
  2. Run the build script for your host platform (build_win.bat x64 for Windows or build_unix.sh for Linux or macOS)

Command Line Arguments

CommandDescription
-wEnable windowed mode
-vbl (value)Set target vsync blank
-fpsEnable FPS counter
-posEnable debug position text overlay
-orbOverride ORB address for online login
-nopubDisable GSPub
-gm (id)Launch game with a specific game mode (see eGameMode)
-worldviewerLaunch world viewer
-carshowcaseLaunch car showcase (alias for '-gm 7')
-cinviewerLaunch cinematic viewer (alias for '-gm 20')
-freerideLaunch cinematic viewer (alias for '-gm 1')
-loginLaunch login screen (alias for '-gm 24')
-vk_enable_validation_layerCreate Vulkan render device with validation layer enabled
-break_on_assert_failureTrigger debug breakpoint on assert failure
-disable_assertDisable assert log/debug break
-norunlockDisable single game instance run lock

Debug Menu

Debug Menu can be toggled with the F1 key.

Project progress

Progress is tracked on a game mode basis:

GameModeStatus
VideoBumperDone
CarShowCaseDone
SandboxDone
LoginDone
LivingIn Progress
FreeRideIn Progress
CinViewerIn Progress

Contributors

opentdu

280 commits

PspLover-dev

7 commits

opentestdriveunlimited/OpenTestDriveUnlimited

Open source port of Test Drive Unlimited (2006)

110

stars

287

commits

C++

primary language

Aug 31, 2026

updated

c-plus-plus
decompilation
game-development
reverse-engineering
tdu
tdu1
testdriveunlimited
vulkan

README

Open Test Drive Unlimited (OpenTDU)

Windows (x86_x64) Linux (x86_64) macOS (arm64)

Source port of Test Drive Unlimited PC (TDU) (MC 1.66A)

WORK IN PROGRESS

The goal of this project is to create a new client fixing various issues encountered on modern systems (AI, rendering, security, etc.) as well as providing cross-platform compatibility.

This project is not a replacement for the game (you still need to own a legal copy); and does not provide any game assets!

Alt Text Alt Text Alt Text Alt Text Alt Text

Regular updates/screenshots can be found in this thread.

Download

Nightly binaries are available here: https://github.com/opentestdriveunlimited/opentestdriveunlimited/releases.

Installation

Copy the opentdu binary and EURO folder content (must be merged with your original EURO folder; THIS IS NOT A REPLACEMENT FOR YOUR ORIGINAL EURO FOLDER) to your TestDriveUnlimited folder.

Dependencies

  • CMake (3.15 or newer)
  • C++17 compiler (eg. clang; gcc or MSVC)
  • Vulkan SDK (1.3.204.0 or newer)

Build instructions

  1. Clone the code using: git clone --recursive git@github.com:opentestdriveunlimited/OpenTestDriveUnlimited.git
  2. Run the build script for your host platform (build_win.bat x64 for Windows or build_unix.sh for Linux or macOS)

Command Line Arguments

CommandDescription
-wEnable windowed mode
-vbl (value)Set target vsync blank
-fpsEnable FPS counter
-posEnable debug position text overlay
-orbOverride ORB address for online login
-nopubDisable GSPub
-gm (id)Launch game with a specific game mode (see eGameMode)
-worldviewerLaunch world viewer
-carshowcaseLaunch car showcase (alias for '-gm 7')
-cinviewerLaunch cinematic viewer (alias for '-gm 20')
-freerideLaunch cinematic viewer (alias for '-gm 1')
-loginLaunch login screen (alias for '-gm 24')
-vk_enable_validation_layerCreate Vulkan render device with validation layer enabled
-break_on_assert_failureTrigger debug breakpoint on assert failure
-disable_assertDisable assert log/debug break
-norunlockDisable single game instance run lock

Debug Menu

Debug Menu can be toggled with the F1 key.

Project progress

Progress is tracked on a game mode basis:

GameModeStatus
VideoBumperDone
CarShowCaseDone
SandboxDone
LoginDone
LivingIn Progress
FreeRideIn Progress
CinViewerIn Progress

Contributors

opentdu

280 commits

PspLover-dev

7 commits

Languages

C++

97.8%