Base game with the Nightlife expansion pack.
What does not
What was not tested
When trying to start the game, an error occurs saying: "Direct3D returned an error: D3DERR_INVALIDCALL! The application will now terminate.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Current||Ubuntu 11.04 "Natty" amd64 (+ variants like Kubuntu)||Sep 05 2011||1.3.27||Yes||No||Garbage||an anonymous user|
|Show||Ubuntu 11.04 "Natty" amd64 (+ variants like Kubuntu)||Jun 30 2011||1.3.23||Yes||No||Garbage||an anonymous user|
While still far from perfect and prone to unexpected crashes (dependent on hardware), it is possible to run The Sims 2 under Wine.
The infamous D3DERR_INVALIDCALL error is due to the fact Wine is hardcoded to supply 256 vertex shaders instead of 1024 that The Sims 2 demands. By patching this constraint, as well as providing "dummy" code for unimplemented shader interfaces, enables the game to play to surprising results.
A thank you goes to swswine for initially discovering the game's major unimplemented undocumented shader interface and for writing the patch to demonstrate this in bug report 8051. Further contributors include Robert Walker, Alexandr Oleynikov and Paul Gofman.
Option A: Obtain a patched version of Wine
The following GitHub repository maintains the latest Wine source release with the patches to enable The Sims 2 to start. Compiled binaries can be downloaded for use with a 32-bit wine prefix (which could be used with front-ends like PlayOnLinux). Known graphical issues and build instructions for building from source are also documented:
Option B: Lutris
Lutris is a platform for installing games in a unified interface on Linux, an installer is available for this game: https://lutris.net/games/the-s...
Graphical Glitches Inevitable!
While the patch enables the game to play fairly well (dependant on hardware), there may be issues including:
Do not submit test reports!
Please do not submit test results here as this is a hack to get the game running. Continue to submit tests for vanilla Wine or wine-staging (as long as this is explicitly stated), but it seems unlikely we'll see improvements from "Garbage" until the hardcoded limit is raised and there is a solution to adding the missing undocumented shader interface.