Legacy of Kain: Defiance

Legacy of Kain: Defiance

44 ratings
Running Defiance on Modern Systems
By Eidolon
A brief guide on running Defiance on modern systems and Steam Deck.
   
Award
Favorite
Favorited
Unfavorite
Guide
Combine DXVK d3d9.dll and Xidi dinput8.dll and the game works perfectly. You can use Hookshot for Xidi (necessary to inject dinput8 properly) to also inject sr3w.dll for the widescreen patch (do NOT use the widescreen patch's d3d9.dll in this case).

Combining all of these will use Vulkan for graphics fixing all graphics issues, fix alt-tab crashes, support widescreen, fix cutscenes at all refresh rates, and use XInput for controller support (enabling perfect Steam Input support).

DXVK: https://github.com/doitsujin/dxvk (not necessary on Steam Deck/Proton, already used)
Xidi: https://github.com/samuelgr/Xidi (needs Hookshot -- read setup guide in readme)
Hookshot: https://github.com/samuelgr/Hookshot
PS2Wide Widescreen patch dll: http://ps2wide.net/pc.html#sr3 (inject by adding an extra Hookshot.ini config to the game dir -- read Hookshot's user guide to add arbitrary dlls)

Steam Deck/Proton target run options:

WINEDLLOVERRIDES="dinput8=n,b" %command%

Hookshot.ini contents:

LogLevel = 0 HookModule = Xidi Inject = sr3w.dll

No dxvk config changes are needed.

On Steam Deck/Proton, you must use Protontricks to install vcrun2019 into the Defiance wine prefix, or else Xidi will fail to initialize.
PS2-like XInput Controller Layout for Xidi
You will need to rebind the default Gamepad bindings to match the PS2 layout when using XInput.


A - Jump
B - Telekinesis
X - Action
Y - Lift Attack
LB - Engage/Autoface
RB - Blood Feed/Devour Soul
LT - Sneak
RT - TK Aim
R3 - First Person Look

All menus use Win32 events and thus are only controllable with mouse and keyboard. Configure your Steam Input settings as necessary.
23 Comments
Eidolon  [author] 29 Jun @ 2:44pm 
Yeah, I did originally write this with the expectation that the reader would already be somewhat familiar with all the tools mentioned, so it was intentionally sparse to keep only the relevant information for Defiance specifically, since the documentation for everything else is much better than what I could write at the time. I overestimated people's patience to get a game working that was already kind of broken when it came out lol

I don't personally like the game much compared to SR1/2, which is why I haven't revisited this to clean it up. It's a nice end for the narrative at least.
Braescher 27 Jun @ 10:00pm 
My brother in Christ. It was hard to understand this guide, but as soon as I decided to actually read the documentation and your previous comments it worked perfectly. I have both steam and gog versions and it is working perfectly on my GOG version (which I only use because of the 1.1 community patch). Kudos.
Methos-Kyuubi777 26 Mar @ 4:45pm 
@Eidolon - I'm not sure if the PC version of Defiance supports dinput force feedback/rumble at all

Answer-
It doesn't. The official game has no controller support anyways, so they wouldn't have rumble even with the controller input from the programs in this guide.
Eidolon  [author] 24 Jan @ 11:10pm 
I'm not sure if the PC version of Defiance supports dinput force feedback/rumble at all, unfortunately. I don't remember if it did, at least.
MountainHoller 1 Jan @ 8:56pm 
Cheers, man! Works like a charm. Using Xpadder to navigate the menus and assign d-pad buttons completely eliminates the need for a mouse and keyboard along with this guide. All that's missing now is rumble.
thorbaldin 27 Dec, 2024 @ 2:55pm 
i consider that

if you need to put unofficial patch to make it works
then the seller don't deserve to be paid
Eidolon  [author] 23 Sep, 2024 @ 8:03pm 
> terrible documentation, thanks

My honest recommendation is if you can't figure out how to use these tools to fix this game, you should just play the PS2 version in an emulator, even on Steam Deck. It's not a very good game and IMO not worth the trouble for a few benefits over the PS2 version. Even Soul Reaver 2 has less issues.

> Also what version of the dll files should be extracted x32 or x64 seeing as the links you provide give both?

Defiance is a 32-bit game and so you should only use x86/"x32" DLLs.
CheeseGoblin 21 Sep, 2024 @ 3:30pm 
terrible documentation, thanks
Kryptas 19 May, 2024 @ 7:16pm 
The fuck is this
Raion 14 May, 2024 @ 9:42am 
This is probably the most user hostile guide I have ever seen. Hookshot doesn't work and keeps crashing and it's guide is all gibberish, widescreen zip file needs a password but of course you or the site does not provide the password, good job and the controller input thing doesn't work.

Also what version of the dll files should be extracted x32 or x64 seeing as the links you provide give both? I'd say maybe never write a guide again but that would be generous honestly. This is without a doubt the worst guide I have ever seen written by anyone on this platform, and your replies to people is pretty disgusting too thinking there is nothing wrong with your rubbish guide.