Legacy of Kain: Defiance

Legacy of Kain: Defiance

45 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.
25 Comments
Methos-Kyuubi777 2 Nov @ 8:07am 
@Tonsteelchomp
Defiance and Blood Omen are both hassles to get running, due to their age.
I'd recommend looking for the Patches and then playing with only keyboards after mapping the buttons. It's actually easier to run the ISO's (AKA Roms) through an Emulator with the PS2 versions being far more stable, or waiting until the team that did the SR 1 & 2 Remaster to try and work on the two games.

Controllers on these old titles have never really worked well, unless if they run through an emulator. Again, due to the age of the games and the programming in them. At least in my opinion.
Tonsteelchomp 2 Nov @ 12:47am 
I'm new to Steam and gaming labtop PC's in general. I bought kain defiance and blood omen 2 on steam and it's so glitched. I have a Switch PowerA Lumectra controller. So I'm confused on all fronts. halp!
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