Deus Ex: Invisible War

Deus Ex: Invisible War

Not enough ratings
Getting DX:IW to work on Linux
By almos
Enjoy the most underrated game on your favorite operating system!
   
Award
Favorite
Favorited
Unfavorite
Proton setup
The game runs fine with current versions of Wine and Proton. This section is just for some tips on configuration.

The game only allows setting 4:3 resolutions. For widescreen open ~/.steam/steam/steamapps/compatdata/6920/pfx/drive_c/users/steamuser/Documents/Deus Ex - Invisible War/user.ini, and adjust FullscreenViewportX and FullscreenViewportY. Note that the saved games are also in this directory, if you want to backup them.

With the default settings the HUD and the in-game menus usually stretch beyond the screen, and this makes e.g. dropping items impossible. To fix this open ~/.steam/steam/steamapps/common/Deus Ex Invisible War/System/Default.ini, find FOV__d and set it to 50.

Two issues remain. Enabling multisampling just multisamples the HUD, but not the game world. It has always been like this, I guess this is a bug in the game.

QuickSave/QuickLoad are hardcoded to F10/F12. In the above mentioned two configuration files you can map these actions to other keys, but that just creates additional mappings. It is impossible to unmap F12 from QuickLoad, which is also the default Screenshot key for Steam. The best solution is to set another Screenshot key in Steam.
HD Textue Pack
There is a community-made high-resolution texture pack that vastly improves the look of the game. Here is a before-after comparison:



The texture pack installer used to be available on moddb, but it was removed at some point. The FilePlanet[www.fileplanet.com] location seems to be still working. If not, you should look for a file named like DX-IW_Texture_Pack.exe, which is 139251852 bytes, MD5 sum a2aedf24f920b66f793eaee99707908e, SHA1 sum a7e3e97889880fa62049403ca49c3edfce617b41.

It is a meta-installer that puts the real installer into the game's folder, and runs it. Normally it should run fine, but it has a small roadblock.

It contains a utility called ibd_patcher.exe for updating the game's configuration, which needs a Visual Basic 6 runtime called msvbvm60.dll, but the installer doesn't contain it, and Wine doesn't have it. No error is shown if it can't run this utility because of the missing dll, the game just keeps using the original textures. You should see a black window like this when this utility is running:



There are two ways of obtaining the missing dll:
  • Use protontricks to install vb6run
  • Download from dll-files[www.dll-files.com] and extract the dll into ~/.steam/steam/steamapps/compatdata/6920/pfx/drive_c/windows

If you run ibd_patcher.exe manually it looks like this:



You can selectively enable certain parts of the texture pack with it. This is a minimal example of running it in the game's Proton context:
STEAM_COMPAT_DATA_PATH=~/.steam/steam/steamapps/compatdata/6920/pfx STEAM_COMPAT_CLIENT_INSTALL_PATH=~/.steam/steam ~/.steam/steam/steamapps/common/Proton\ 8.0/proton waitforexitandrun ./ibd_patcher.exe
Historical guide
This is a shortened version of the original guide, kept here for historical reasons only. 10 years ago the game had several issues with Wine. Neither Proton nor vanilla Wine has any of these issues anymore.
  • Getting rid of an error message spam about unsupported texture wrap mode: use the environment variable WINEDEBUG=-all to suppress all warnings. This was a major performance fix on my computer back then.
  • There was a well-known problem with 3D audio in DirectSound[bugs.winehq.org], and a native dsound.dll was needed. Wine 1.7.42 fixed this.
  • The game crashed upon startup if the Steam overlay was enabled. Wine 1.7.42 fixed this.
  • The game lose mouse pointer grab each time it had a mouse pointer (entering menu, opening inventory, each dialog sequence etc), and needed a click to grab the mouse pointer again. No longer an issue.
  • Quicksave worked fine, but quickload crashed the game. The quicksave slot could be loaded from the menu. Now quickload works fine.
11 Comments
almos  [author] 27 Dec, 2023 @ 8:44am 
Updated the guide for the current state of Steam and Proton.
Tetra.Zortch 10 Dec, 2023 @ 4:45pm 
nvm for some reason it got moved to another link
Tetra.Zortch 10 Dec, 2023 @ 4:43pm 
huh thats weird, the mod got deleted... dont know if it will go back up or the reason why but a month ago i asked if they considered posting it to steam:ss1drone:
TheGameSquid 31 Oct, 2023 @ 8:03pm 
For those stumbling on this guide in 2023, the game works mostly fine under Proton in my experience. However, you might want to check out D8VK, a fork of DXVK with support for DX8. It's generally more compatible and performant than wined3d, and you get all the usual configuration options you're used to from mainline DXVK. Either should be fine though.
vex 18 Mar, 2023 @ 12:29pm 
Like... I managed to get it running correctly... on linux /native/... basically? the occular HUD thing? it is off screen. Who cares. Do not need it.

Remaining problem:

/Certain/ classes of physics enabled objects run ... seemingly at an entirely different clock speed /than literally the entire rest of the game/.

The basketball you pick up in the apartment at first?

Without ... fuck, hex editing? I cannot figure out how to make /that particular basketball/ ... it is as if it is simply moving at like 10x the speed of the rest ... of the entire game engine.

Quite odd.

I... I have only tinkered around with it on linux for ... i dunno, maybe 2 days?

/Very ODD/ that ... one particular physics object class... is handled just ludicrously differently.

First guess? Strangeness of the XBOX hardware circuitry/design.
vex 18 Mar, 2023 @ 12:25pm 
*sigh*

Even with modern linux / steam / proton ... it is still a bit of a bitch to get this thing working right.

I /have/ managed to get it so that the game runs... but... the ... ... it does something /extremely/ strange... because it really literally just was built for the console the whole time.

And then ported to PC.

The way it handles screen resolutions is ... frustrating.

Hilariously?

/These days, it would probably be much simpler to simply run an emulator and try to get it working that way/.

What a shame.
tho 13 Mar, 2023 @ 11:01am 
wait, this post is from 2014 😀
tho 13 Mar, 2023 @ 11:00am 
isn't this game platinum on protondb?
almos  [author] 19 Sep, 2014 @ 4:44pm 
Of course. I totally forgot about WINEDEBUG. I'll add it to the guide. Thanks.
somini 14 Sep, 2014 @ 5:15pm 
You can disable wine error messages by setting a environment variable, "WINEDEBUG=-all", no need to compile wine from scratch.