Tekken 6 Recomp
Tekken 6 Recomp is a Windows port of Tekken 6 that allows users to press F3 to show or hide the FPS and frame-time overlay.
- Type: PC port
- Game: Tekken 6
- Runs on Windows
- By mahmoud-mess
- Latest release Iterate, 2026-10-16
- Source: https://github.com/mahmoud-mess/tekken6-recomp
README
Tekken 6 Recomp
Static recompiler project for the Xbox 360 release of Tekken 6. Game data and generated code come from a user-provided XEX and are kept out of version control.
Windows build
For a Linux-hosted Windows build, use an extracted LLVM-MinGW distribution. Initialize the SDK submodule and apply the repository patch before configuring the native SDK. Generate guest code from your own game XEX, then configure the Windows build:
git submodule update --init --recursive
python3 tools/apply_rexglue_patches.py
cmake -S third_party/rexglue-sdk -B build/sdk-native -G Ninja \
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-mssse3 \
-DREXGLUE_ENABLE_TRACY=OFF -DREXGLUE_ENABLE_PERF_COUNTERS=OFF
cmake --build build/sdk-native --target rexglue --parallel 3
third_party/rexglue-sdk/out/linux-amd64/rexglue codegen tekken6_manifest.toml
cmake -S . -B build/windows-llvm -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=cmake/windows-clang.cmake \
-DLLVM_MINGW_ROOT=/path/to/extracted/llvm-mingw \
-DCMAKE_BUILD_TYPE=Release -DTEKKEN6_USE_PREGENERATED_CODE=ON \
-DREXGLUE_USE_D3D12=ON -DREXGLUE_USE_VULKAN=ON \
-DREXGLUE_ENABLE_TRACY=OFF -DREXGLUE_ENABLE_PERF_COUNTERS=OFF \
-DREXGLUE_RECOMP_DEBUG_INFO=none
cmake --build build/windows-llvm --target tekken6 tekken6_low_overhead \
tekken6_late_depth tekken6_fused_resolve tekken6_vulkan \
tekken6_vulkan_fbo --parallel 2
python3 tools/package_windows.py --build-dir build/windows-llvm \
--game-root /path/to/game --output /path/to/windows-package \
--llvm-mingw-root /path/to/extracted/llvm-mingw
The package tool checks PE imports, stages required compiler runtime DLLs, and
writes a build-info.json manifest with source revisions and binary hashes.
SDK changes are maintained in the project patch.
CMake defaults to Release when no build type is selected. Generated guest
code uses FMA3 by default for faster explicit fused operations; the resulting
executable requires an FMA3-capable CPU. Set -DTEKKEN6_ENABLE_FMA3=OFF for a
portable build.
Portable ISO builder
The release can include a self-contained Tekken 6 Builder.exe beside its
builder folder. Players extract the complete release, choose their own ISO
with the Windows file picker, select one or more renderer checkboxes, and pick
an output folder. The D3D12 ROV option is checked by default and is labeled as
the widest-compatibility choice. No compiler installation or network access is
needed on the player's PC. The ISO and its game files are never included in the
builder release.
To assemble that release folder, first build the Windows GUI and XDVDFS helper,
then provide LLVM-MinGW 20260908 MSVCRT x64 (Clang 23.1.1), portable CMake,
Ninja, and the Python embeddable package. The bundled compiler's fixed
capabilities are supplied by cmake/windows-portable-capabilities.cmake so
players do not repeat the compiler feature probes.
cmake --build build/windows-llvm --target tekken6_builder xdvdfs_tool --parallel "$(nproc)"
python3 tools/package_portable_builder.py \
--builder-exe build/windows-llvm/tekken6_builder.exe \
--llvm-mingw-root /path/to/llvm-mingw \
--cmake-root /path/to/cmake \
--ninja /path/to/ninja.exe \
--python-root /path/to/python-embeddable \
--xdvdfs-tool build/windows-llvm/tools/xdvdfs/xdvdfs_tool.exe \
--output build/Tekken6-Builder-Windows
Release versions are set in VERSION.txt; the builder window, Windows file details,
and package manifests use that version. For 0.9.4, archive the complete
build/Tekken6-Builder-Windows folder as Tekken6-Builder-Windows-0.9.4.zip.
Keep Tekken 6 Builder.exe and its builder folder together. The folder contains
the pinned project sources and build tools; the game itself is extracted from the player's
ISO when they run the builder. Project sources stay in one archive to reduce the
number of files in the initial unzip; the builder unpacks them automatically
when the first build starts.
Game compilation uses the available CPU threads, limited by available memory. After a successful build, temporary sources, extracted game copies, and compiler outputs are deleted automatically. The activity indicator keeps animating while the build runs, and the Build button stays disabled after completion.
Press F3 in game to show or hide the FPS and frame-time overlay. It reports
guest frame swaps independently of the host's overlay or presentation rate.
Routine logs are disabled in the Windows launcher. Unhandled crashes write
crash.txt and crash.dmp under crashes/<run>/.
The startup chooser offers internal 3D resolutions from 640x360 through the original 1024x576. It also enables a 512x512 size for the 1024x1024 offscreen target by default; this can soften shadows. Uncheck the option to keep the original offscreen size.
Rendering paths
tekken6.exe selects D3D12 ROV. The runtime includes no-blend shader
specialization, ROV sample-count variants, and direct RGBA8 packing for known
targets. Unsupported states retain the general shader path.
Late-depth and fused RGBA8 resolves are available through their optional
launchers.
tekken6_vulkan.exe selects Vulkan fragment shader interlock (FSI). It requires
a Vulkan device and driver that expose fragment shader interlock. The explicit
request fails if the extension is unavailable. tekken6_vulkan_fbo.exe selects
the experimental framebuffer path, which does not require interlock.
The launcher keeps user saves, shader caches, and crash reports in the package directory. Game files and generated recompilation sources are local inputs and must not be committed.