Repository navigation
Releases: abilliontokens/sims2-recomp
Release list
The Sims 2 Recompiled v0.2.0 - Linux (Vulkan) and Windows
The Sims 2 (original Xbox, USA) statically recompiled, now with a native Linux build beside the Windows one.
No game data is included. Put your own legally acquired copy of the game in assets/ next to the binary — the disc image as a .iso, or the extracted files (default.xbe with its DATA and movies folders). The build is pinned to the USA retail XBE, SHA-1 16f9e41ce26c315a758f25d43ba1fa9d3809d1ad.
Downloads
| Asset | Target |
|---|---|
Sims2-linux-x64.tar.zst |
Linux x64, Vulkan |
Sims2-win64.zip |
Windows x64, Direct3D 12 |
What is new
- Native Linux target: Vulkan renderer, SDL3 host, SDL audio, POSIX kernel layer.
./build.shbuilds it;./release.shpackages it. - Keyboard and mouse work the same on both platforms: the bindings are unchanged, and the collection path is the only platform split (Win32 window messages, or
SDL_GetKeyboardStateplus the mouse/wheel cache the window thread fills). - The F1 panel reports the frame target the active backend builds, so its Hor+ widening figure is right on Vulkan as well as D3D12.
- The Windows exe can be cross-built from Linux with clang-cl and lld-link against an xwin sysroot (
cmake/windows-cross.cmake,windows-crosspreset).
What was actually tested
Both binaries in this release were built on one Linux machine (CachyOS, clang 23.1.3).
- Linux, on an AMD BC-250 (RADV GFX1013, Vulkan 1.4): this exact tarball was downloaded from this release, extracted to a scratch directory and run from there. In an 80 s bounded session it played the startup movies and reached the save-game selection screen drawn over the 3-D neighbourhood — past the title screen and main menu — with 0
error/exceptionlines and every bundled library resolving inside the package (DT_RPATH $ORIGIN/lib). - Windows: the exe is cross-compiled and has never been run on real Windows. Under Wine 11.20 with vkd3d it loads the XBE, creates its D3D12 device and swap chain, and renders the startup movie, with no shader-compilation failures and no errors in a bounded 60 s run. That is the whole of the evidence for this binary; the port's Windows bring-up record is
docs/status.md.
Known, unverified: in the Linux run the save-select dialog's prompt text draws semi-transparent over the neighbourhood behind it. Whether the D3D12 build does the same has not been checked, so it is not yet known to be a Vulkan-only difference.
Requirements
- Linux: a Vulkan driver and loader (
libvulkan.so.1) from your system; glibc 2.43 or newer andlibstdc++withGLIBCXX_3.4.31(built on a rolling distro — older stable distributions will not load it); an x86-64-v2 CPU. glslang and SPIRV-Tools travel inlib/beside the binary and are found through an$ORIGINrpath. - Windows: Windows 10/11 x64, a Direct3D 12 GPU, and the Microsoft Visual C++ Redistributable 2015-2022 x64 — the exe imports
MSVCP140.dll,VCRUNTIME140.dllandVCRUNTIME140_1.dll. Everything else it imports (d3d12, dxgi, D3DCOMPILER_47, theapi-ms-win-crt-*UCRT set) ships with Windows 10 and later.
Checksums
c1adce500cfccf279e8a910e26ff1d42e41fb57fab0c42a52440add53e73336a Sims2-linux-x64.tar.zst
109645b9dbfcd0fd1a00836e6f48370572c55f6f179e4d92dcaa85a995bce28d Sims2-win64.zip
The Sims 2 Recompiled v0.1.0
First build of the static recompilation of the original Xbox release of The Sims 2 (USA).
Bring your own disc. This download contains no game code and no game assets.
Run it
- Unzip anywhere.
- Put your own disc image in the
assetsfolder besideSims2.exe, so you haveSims2.exeandassets\<anything>.iso. A whole-disc dump or a plain xiso both work, and so do extracted files (default.xbewith itsDATAandmoviesfolders beside it). - Run
Sims2.exe.
Windows 10/11 x64 and a Direct3D 12 GPU. Play with a controller (Xbox, PlayStation and Switch pads all work through SDL) or with keyboard and mouse. F1 opens the settings panel (display mode, resolution, render scale, aspect ratio, ultrawide, vsync, frame cap, HDR, anisotropic filtering) and F2 the frame-time graph. The first run writes settings.toml, logs\ and hdd\ (saves) beside the exe.
The exe only runs the XBE it was recompiled from: USA retail, SHA-1 16f9e41ce26c315a758f25d43ba1fa9d3809d1ad.
What works
Boots through the intro movies to the title screen, the menus, and into live gameplay on a lot, with audio. 15,926 guest functions recompiled from the retail XBE; all 124 kernel imports are implemented by the host.
Any frame rate runs the game at its real speed. The engine quantised its frame step to whole 60ths of a second, which made it run 2.400x fast at 144 fps; the host replaces that quantiser with the time that really passed, measured at 1.0000 simulated seconds per real second at 60 fps, 144 fps and uncapped.
Renders up to 4K. Every colour and depth target follows the render scale, so the internal resolution goes to 3840x2160 and beyond. The title draws a 640x448 picture inside its 640x480 frame, so the host presents only those rows and the window has no black bars.
Known gaps
- 104 XDK functions are still unmatched and run the game's own console code if called; five DirectSound
.XTLIDexports (B00A3, B00A5, B00A4, B0080, B00A9) are among them. - Play testing beyond the first lot, saving to a device and reloading are not yet exercised.
- Frame-rate measurements across scenes and resolutions are still being collected.
Bring-up record and the static analyses behind each fix are in docs/.