Category: Main Games Role Playing Games Dark Souls Prepare to Die Edition 2.0

Dark Souls

Prepare to Die Edition update released on Steam in December 2014. Removes Games for Windows Live and moves multiplayer to Steamworks.

Application Details:

Version: Prepare to Die Edition 2.0
License: Retail
Votes: 0
Latest Rating: Gold
Latest Wine Version Tested: 2.10

Maintainers: About Maintainership

Test Results

Selected Test Results

What works

Game singleplayer and multiplayer mode work.

Xbox 360 Controller works.

What does not


What was not tested

Dsfix was not tested.

Additional Comments

In order to make the Xbox 360 Controller work, I had to do the following :
1) plug-in the Xbox 360 controller
2) type 'rmmod xpad' to remove the xpad driver module
3) I used xboxdrv with the following configuration written in a file darkSouls.ini : 




Then type 'xboxdrv -c darkSouls.ini'

4) I used antimicro to map keyboard buttons to the xbox 360 controller. The mapping is based on the keyboard settings in Dark Souls.
selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?RatingSubmitter
CurrentDebian GNU/Linux 8.x "Jessie" x86_64Jun 27 20172.10Yes Yes GoldRaphaĆ«l Laguerre 
ShowFedora 25 x86_64Mar 20 20172.3Yes Yes GoldSamuel Pagenkopf 
ShowUbuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu)Jan 01 20171.9.23Yes Yes GoldFernando Rufino 
ShowFedora 24 x86_64Dec 19 20161.9.23Yes No GarbageF. Delente 
ShowArch Linux x86_64Oct 09 20161.9.19Yes Yes Goldheron 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs

HowTo / Notes

Using DSFix

The use of DSFix for running Dark Souls is highly recommended. It allows for higher resolution than the native 720p, and the frame rate can also be unlocked to higher than 30hz. Note that higher frame rates will increase weapon decay, and can cause instability on certain actions such as sliding down ladders.

The only difference between using DSFix on Windows is that on Linux, in order to load the modified DINPUT8.dll extracted into the DATA folder, you must enable a DLL override for dinput8 in the Libraries tab of winecfg

Here's a basic guide to getting DSFix working:

  1. Make sure Anti-Aliasing is disabled in-game.
  2. Download DSFix from 
  3. Unzip DSFix into the Dark Souls/DATA folder, such that DSFix.ini and DINPUT8.dll are in said folder.
  4. Within the Libraries tab of winecfg, enable a DLL override for dinput8 (native, builtin)
  5. Adjust settings in DSFix.ini to your liking.


Using xboxdrv

Dark Souls does not recognize Xbox 360 controllers with the default xpad kernel driver.

Instead, the use of the userspace xboxdrv is recommended. 

Assuming you use the default keybindings ('G' for gesture menu, 'Shift+Tab' for Steam Overlay, 'End' for menu) you should launch (as root!) xboxdrv with the following parameters:

xboxdrv --detach-kernel-driver --buttonmap 1=3,3=1,2=4,4=2,rt=start,lt=back,start=rt,back=lt --ui-buttonmap guide=KEY_LEFTSHIFT+KEY_TAB,rt=KEY_END,lt=KEY_G --detach --dbus disabled --daemon

Crash on title screen, before gameplay.

The video files (including the title screen) in Dark Souls 1 are .wmv files, so Windows Media codecs are required.

This can be installed with winetricks:

winetricks -q wmp9


The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.

Camera constantly spinning and Xbox One controller issue.
by Chris Golpashin on Thursday June 8th 2017, 23:58
I have dinput8 set to (native, builtin) to get DSfix to work and winegstreamer disabled to stop the crashing from the main menu startup. But for some reason I get this constant spinning of the camera when in game. This happens even when my controller is unplugged. My Xbox one controller has a really strange issue where mostly every button is mapped to the wrong actions. For example, The X button is acting like the A button for accepting. I'm currently using Wine 2.9 staging and xpad, compiled from github, for my controllers driver.
Words missing
by matthew montoya on Friday June 17th 2016, 3:58
I installed dsfix and everything only to try to load the game only to get the very first message (before the logos) to have all the words missing. I thought it was no big deal and then tried to make a game. Only thing on the loading screen was the item (description was missing) then it crashed. Please help.
Game crashes at "Press Start Button"
by nick on Thursday May 5th 2016, 10:48
Using wine-development 1.9.9 on debian testing I've installed steam and dark souls, patched it with dsfix and am now unable to get the game to be playable. As soon as the main menu pops up it crashes.

winecfg is set to win 7 with dinput8 overridden (native,builtin).

With winetricks I installed corefonts, tahoma, vcrun2008.
Crash after the first cutscene
by Natale on Monday May 2nd 2016, 11:56
After the first cutscene of the game, it shows black screen and don't continue to the game. What should I do?
Crashes Before Menu Screen
by George on Wednesday March 16th 2016, 17:25
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x77d86714).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:77d86714 ESP:1f87e970 EBP:1f87ea08 EFLAGS:00010246( R- -- I Z- -P- )
EAX:00000000 EBX:77dab000 ECX:1f87e9d8 EDX:00000000
ESI:77d86200 EDI:1c8acd30
Stack dump:
0x1f87e970: 78621600 78600000 00000002 00000000
0x1f87e980: 00110070 1c8adf40 1f87e9e8 7bc3e5d6
0x1f87e990: 000000f0 00000002 78600000 78621600
0x1f87e9a0: 00000000 00000000 00000000 77d86200
0x1f87e9b0: 00000000 00000000 7bc82bdb 1c8acd30
0x1f87e9c0: 00000010 00110000 1f87ea28 7bc526e7
=>0 0x77d86714 in winegstreamer (+0x6714) (0x1f87ea08)
1 0x7bc842a0 call_thread_func_wrapper+0xb() in ntdll (0x1f87ea28)
2 0x7bc874fd call_thread_func+0x7c() in ntdll (0x1f87eaf8)
3 0x7bc8427e RtlRaiseException+0x21() in ntdll (0x1f87eb18)
4 0x7bc8f5e8 in ntdll (+0x7f5e7) (0x1f87f368)
5 0xf75161aa start_thread+0xd9() in (0x1f87f428)
6 0xf743e02e __clone+0x5d() in (0x00000000)
7 0xf743e02e __clone+0x5d() in (0x00000000)
8 0xf743e02e __clone+0x5d() in (0x00000000)
9 0xf743e02e __clone+0x5d() in (0x00000000)
10 0xf743e02e __clone+0x5d() in (0x00000000)
11 0xf743e02e __clone+0x5d() in (0x00000000)
12 0xf743e02e __clone+0x5d() in (0x00000000)
13 0xf743e02e __clone+0x5d() in (0x00000000)
14 0xf743e02e __clone+0x5d() in (0x00000000)
15 0xf743e02e __clone+0x5d() in (0x00000000)
16 0xf743e02e __clone+0x5d() in (0x00000000)
17 0xf743e02e __clone+0x5d() in (0x00000000)
18 0xf743e02e __clone+0x5d() in (0x00000000)
19 0xf743e02e __clone+0x5d() in (0x00000000)
20 0xf743e02e __clone+0x5d() in (0x00000000)
21 0xf743e02e __clone+0x5d() in (0x00000000)
22 0xf743e02e __clone+0x5d() in (0x00000000)
23 0xf743e02e __clone+0x5d() in (0x00000000)
24 0xf743e02e __clone+0x5d() in (0x00000000)
25 0xf743e02e __clone+0x5d() in (0x00000000)
26 0xf743e02e __clone+0x5d() in (0x00000000)
27 0xf743e02e __clone+0x5d() in (0x00000000)
28 0xf743e02e __clone+0x5d() in (0x00000000)
29 0xf743e02e __clone+0x5d() in (0x00000000)
30 0xf743e02e __clone+0x5d() in (0x00000000)
31 0xf743e02e __clone+0x5d() in (0x00000000)
32 0xf743e02e __clone+0x5d() in (0x00000000)
33 0xf743e02e __clone+0x5d() in (0x00000000)
34 0xf743e02e __clone+0x5d() in (0x00000000)
35 0xf743e02e __clone+0x5d() in (0x00000000)
36 0xf743e02e __clone+0x5d() in (0x00000000)
37 0xf743e02e __clone+0x5d() in (0x00000000)
38 0xf743e02e __clone+0x5d() in (0x00000000)
39 0xf743e02e __clone+0x5d() in (0x00000000)
40 0xf743e02e __clone+0x5d() in (0x00000000)
41 0xf743e02e __clone+0x5d() in (0x00000000)
42 0xf743e02e __clone+0x5d() in (0x00000000)
43 0xf743e02e __clone+0x5d() in (0x00000000)
44 0xf743e02e __clone+0x5d() in (0x00000000)
45 0xf743e02e __clone+0x5d() in (0x00000000)
46 0xf743e02e __clone+0x5d() in (0x00000000)
47 0xf743e02e __clone+0x5d() in (0x00000000)
48 0xf743e02e __clone+0x5d() in (0x00000000)
49 0xf743e02e __clone+0x5d() in (0x00000000)
50 0xf743e02e __clone+0x5d() in (0x00000000)
51 0xf743e02e __clone+0x5d() in (0x00000000)
52 0xf743e02e __clone+0x5d() in (0x00000000)
53 0xf743e02e __clone+0x5d() in (0x00000000)
54 0xf743e02e __clone+0x5d() in (0x00000000)
55 0xf743e02e __clone+0x5d() in (0x00000000)
56 0xf743e02e __clone+0x5d() in (0x00000000)
57 0xf743e02e __clone+0x5d() in (0x00000000)
58 0xf743e02e __clone+0x5d() in (0x00000000)
59 0xf743e02e __clone+0x5d() in (0x00000000)
60 0xf743e02e __clone+0x5d() in (0x00000000)
61 0xf743e02e __clone+0x5d() in (0x00000000)
62 0xf743e02e __clone+0x5d() in (0x00000000)
63 0xf743e02e __clone+0x5d() in (0x00000000)
64 0xf743e02e __clone+0x5d() in (0x00000000)
65 0xf743e02e __clone+0x5d() in (0x00000000)
66 0xf743e02e __clone+0x5d() in (0x00000000)
67 0xf743e02e __clone+0x5d() in (0x00000000)
68 0xf743e02e __clone+0x5d() in (0x00000000)
69 0xf743e02e __clone+0x5d() in (0x00000000)
70 0xf743e02e __clone+0x5d() in (0x00000000)
71 0xf743e02e __clone+0x5d() in (0x00000000)
72 0xf743e02e __clone+0x5d() in (0x00000000)
73 0xf743e02e __clone+0x5d() in (0x00000000)
74 0xf743e02e __clone+0x5d() in (0x00000000)
75 0xf743e02e __clone+0x5d() in (0x00000000)
76 0xf743e02e __clone+0x5d() in (0x00000000)
77 0xf743e02e __clone+0x5d() in (0x00000000)
78 0xf743e02e __clone+0x5d() in (0x00000000)
79 0xf743e02e __clone+0x5d() in (0x00000000)
80 0xf743e02e __clone+0x5d() in (0x00000000)
81 0xf743e02e __clone+0x5d() in (0x00000000)
82 0xf743e02e __clone+0x5d() in (0x00000000)
83 0xf743e02e __clone+0x5d() in (0x00000000)
84 0xf743e02e __clone+0x5d() in (0x00000000)
85 0xf743e02e __clone+0x5d() in (0x00000000)
86 0xf743e02e __clone+0x5d() in (0x00000000)
87 0xf743e02e __clone+0x5d() in (0x00000000)
88 0xf743e02e __clone+0x5d() in (0x00000000)
89 0xf743e02e __clone+0x5d() in (0x00000000)
90 0xf743e02e __clone+0x5d() in (0x00000000)
91 0xf743e02e __clone+0x5d() in (0x00000000)
92 0xf743e02e __clone+0x5d() in (0x00000000)
93 0xf743e02e __clone+0x5d() in (0x00000000)
94 0xf743e02e __clone+0x5d() in (0x00000000)
95 0xf743e02e __clone+0x5d() in (0x00000000)
96 0xf743e02e __clone+0x5d() in (0x00000000)
97 0xf743e02e __clone+0x5d() in (0x00000000)
98 0xf743e02e __clone+0x5d() in (0x00000000)
99 0xf743e02e __clone+0x5d() in (0x00000000)
100 0xf743e02e __clone+0x5d() in (0x00000000)
101 0xf743e02e __clone+0x5d() in (0x00000000)
102 0xf743e02e __clone+0x5d() in (0x00000000)
103 0xf743e02e __clone+0x5d() in (0x00000000)
104 0xf743e02e __clone+0x5d() in (0x00000000)
105 0xf743e02e __clone+0x5d() in (0x00000000)
106 0xf743e02e __clone+0x5d() in (0x00000000)
107 0xf743e02e __clone+0x5d() in (0x00000000)
108 0xf743e02e __clone+0x5d() in (0x00000000)
109 0xf743e02e __clone+0x5d() in (0x00000000)
110 0xf743e02e __clone+0x5d() in (0x00000000)
111 0xf743e02e __clone+0x5d() in (0x00000000)
112 0xf743e02e __clone+0x5d() in (0x00000000)
113 0xf743e02e __clone+0x5d() in (0x00000000)
114 0xf743e02e __clone+0x5d() in (0x00000000)
115 0xf743e02e __clone+0x5d() in (0x00000000)
116 0xf743e02e __clone+0x5d() in (0x00000000)
117 0xf743e02e __clone+0x5d() in (0x00000000)
118 0xf743e02e __clone+0x5d() in (0x00000000)
119 0xf743e02e __clone+0x5d() in (0x00000000)
120 0xf743e02e __clone+0x5d() in (0x00000000)
121 0xf743e02e __clone+0x5d() in (0x00000000)
122 0xf743e02e __clone+0x5d() in (0x00000000)
123 0xf743e02e __clone+0x5d() in (0x00000000)
124 0xf743e02e __clone+0x5d() in (0x00000000)
125 0xf743e02e __clone+0x5d() in (0x00000000)
126 0xf743e02e __clone+0x5d() in (0x00000000)
127 0xf743e02e __clone+0x5d() in (0x00000000)
128 0xf743e02e __clone+0x5d() in (0x00000000)
129 0xf743e02e __clone+0x5d() in (0x00000000)
130 0xf743e02e __clone+0x5d() in (0x00000000)
131 0xf743e02e __clone+0x5d() in (0x00000000)
132 0xf743e02e __clone+0x5d() in (0x00000000)
133 0xf743e02e __clone+0x5d() in (0x00000000)
134 0xf743e02e __clone+0x5d() in (0x00000000)
135 0xf743e02e __clone+0x5d() in (0x00000000)
136 0xf743e02e __clone+0x5d() in (0x00000000)
137 0xf743e02e __clone+0x5d() in (0x00000000)
138 0xf743e02e __clone+0x5d() in (0x00000000)
139 0xf743e02e __clone+0x5d() in (0x00000000)
140 0xf743e02e __clone+0x5d() in (0x00000000)
141 0xf743e02e __clone+0x5d() in (0x00000000)
142 0xf743e02e __clone+0x5d() in (0x00000000)
143 0xf743e02e __clone+0x5d() in (0x00000000)
144 0xf743e02e __clone+0x5d() in (0x00000000)
145 0xf743e02e __clone+0x5d() in (0x00000000)
146 0xf743e02e __clone+0x5d() in (0x00000000)
147 0xf743e02e __clone+0x5d() in (0x00000000)
148 0xf743e02e __clone+0x5d() in (0x00000000)
149 0xf743e02e __clone+0x5d() in (0x00000000)
150 0xf743e02e __clone+0x5d() in (0x00000000)
151 0xf743e02e __clone+0x5d() in (0x00000000)
152 0xf743e02e __clone+0x5d() in (0x00000000)
153 0xf743e02e __clone+0x5d() in (0x00000000)
154 0xf743e02e __clone+0x5d() in (0x00000000)
155 0xf743e02e __clone+0x5d() in (0x00000000)
156 0xf743e02e __clone+0x5d() in (0x00000000)
157 0xf743e02e __clone+0x5d() in (0x00000000)
158 0xf743e02e __clone+0x5d() in (0x00000000)
159 0xf743e02e __clone+0x5d() in (0x00000000)
160 0xf743e02e __clone+0x5d() in (0x00000000)
161 0xf743e02e __clone+0x5d() in (0x00000000)
162 0xf743e02e __clone+0x5d() in (0x00000000)
163 0xf743e02e __clone+0x5d() in (0x00000000)
164 0xf743e02e __clone+0x5d() in (0x00000000)
165 0xf743e02e __clone+0x5d() in (0x00000000)
166 0xf743e02e __clone+0x5d() in (0x00000000)
167 0xf743e02e __clone+0x5d() in (0x00000000)
168 0xf743e02e __clone+0x5d() in (0x00000000)
169 0xf743e02e __clone+0x5d() in (0x00000000)
170 0xf743e02e __clone+0x5d() in (0x00000000)
171 0xf743e02e __clone+0x5d() in (0x00000000)
172 0xf743e02e __clone+0x5d() in (0x00000000)
173 0xf743e02e __clone+0x5d() in (0x00000000)
174 0xf743e02e __clone+0x5d() in (0x00000000)
175 0xf743e02e __clone+0x5d() in (0x00000000)
176 0xf743e02e __clone+0x5d() in (0x00000000)
177 0xf743e02e __clone+0x5d() in (0x00000000)
178 0xf743e02e __clone+0x5d() in (0x00000000)
179 0xf743e02e __clone+0x5d() in (0x00000000)
180 0xf743e02e __clone+0x5d() in (0x00000000)
181 0xf743e02e __clone+0x5d() in (0x00000000)
182 0xf743e02e __clone+0x5d() in (0x00000000)
183 0xf743e02e __clone+0x5d() in (0x00000000)
184 0xf743e02e __clone+0x5d() in (0x00000000)
185 0xf743e02e __clone+0x5d() in (0x00000000)
186 0xf743e02e __clone+0x5d() in (0x00000000)
187 0xf743e02e __clone+0x5d() in (0x00000000)
188 0xf743e02e __clone+0x5d() in (0x00000000)
189 0xf743e02e __clone+0x5d() in (0x00000000)
190 0xf743e02e __clone+0x5d() in (0x00000000)
191 0xf743e02e __clone+0x5d() in (0x00000000)
192 0xf743e02e __clone+0x5d() in (0x00000000)
193 0xf743e02e __clone+0x5d() in (0x00000000)
194 0xf743e02e __clone+0x5d() in (0x00000000)
195 0xf743e02e __clone+0x5d() in (0x00000000)
196 0xf743e02e __clone+0x5d() in (0x00000000)
197 0xf743e02e __clone+0x5d() in (0x00000000)
198 0xf743e02e __clone+0x5d() in (0x00000000)
199 0xf743e02e __clone+0x5d() in (0x00000000)
200 0xf743e02e __clone+0x5d() in (0x00000000)
0x77d86714: movl 0x0(%eax),%edx
Module Address Debug info Name (175 modules)
PE 340000- 389000 Deferred fmod_event
PE 390000- 3a6000 Deferred xinput1_3
PE 400000- 15c2000 Deferred darksouls
PE 15d0000- 17cf000 Deferred d3dx9_43
PE 17d0000- 18e9000 Deferred gameoverlayrenderer
PE fc40000- fd77000 Deferred steam
PE 10000000-101d4000 Deferred fmodex
PE 30000000-302c1000 Deferred steam2
PE 38000000-38a18000 Deferred steamclient
PE 3b400000-3b41e000 Deferred steam_api
PE 3f000000-3f111000 Deferred tier0_s
PE 3f600000-3f655000 Deferred vstdlib_s
PE 60000000-60021000 Deferred cserhelper
ELF 7021e000-70283000 Deferred
ELF 70283000-702ec000 Deferred
ELF 702ec000-7035f000 Deferred
ELF 7035f000-7039d000 Deferred
ELF 7039d000-70435000 Deferred
ELF 70435000-704aa000 Deferred
ELF 704aa000-705d1000 Deferred
ELF 705d1000-70630000 Deferred
ELF 70630000-7076d000 Deferred
ELF 7076d000-707fa000 Deferred
ELF 707fa000-70902000 Deferred
ELF 70902000-709ff000 Deferred quartz
\-PE 70920000-709ff000 \ quartz
ELF 73a20000-73a7e000 Deferred
ELF 77ca7000-77d36000 Deferred
ELF 77d42000-77d6f000 Deferred
ELF 77d6f000-77dac000 Dwarf winegstreamer
\-PE 77d80000-77dac000 \ winegstreamer
PE 78520000-785c3000 Deferred msvcr90
ELF 785e2000-785fe000 Deferred
ELF 785fe000-78630000 Deferred winealsa
\-PE 78600000-78630000 \ winealsa
ELF 78630000-7a800000 Deferred
ELF 7a800000-7a932000 Deferred opengl32
\-PE 7a820000-7a932000 \ opengl32
ELF 7a942000-7a95b000 Deferred msacm32
\-PE 7a950000-7a95b000 \ msacm32
ELF 7a95b000-7aa0a000 Deferred
ELF 7aa0a000-7aa83000 Deferred
ELF 7b800000-7bbe8000 Deferred kernel32
\-PE 7b810000-7bbe8000 \ kernel32
ELF 7bbea000-7bc00000 Deferred midimap
\-PE 7bbf0000-7bc00000 \ midimap
ELF 7bc00000-7bcf7000 Dwarf ntdll
\-PE 7bc10000-7bcf7000 \ ntdll
ELF 7bcfa000-7bd23000 Deferred devenum
\-PE 7bd00000-7bd23000 \ devenum
ELF 7bd23000-7bd50000 Deferred
ELF 7bd50000-7bd68000 Deferred
ELF 7bd68000-7bdf4000 Deferred
ELF 7bdf4000-7bf00000 Deferred comctl32
\-PE 7be00000-7bf00000 \ comctl32
ELF 7bf00000-7bf04000 Deferred
ELF 7bf06000-7bf1b000 Deferred
ELF 7bf1b000-7bf7b000 Deferred
ELF 7bf7b000-7c000000 Deferred
ELF 7c204000-7c22a000 Deferred
ELF 7c22a000-7c284000 Deferred
ELF 7c284000-7c2dd000 Deferred
ELF 7c2e4000-7c2f9000 Deferred avicap32
\-PE 7c2f0000-7c2f9000 \ avicap32
ELF 7c304000-7c331000 Deferred msvfw32
\-PE 7c310000-7c331000 \ msvfw32
ELF 7c331000-7c37f000 Deferred dsound
\-PE 7c340000-7c37f000 \ dsound
ELF 7c405000-7c42e000 Deferred winepulse
\-PE 7c410000-7c42e000 \ winepulse
ELF 7c42e000-7c452000 Deferred mmdevapi
\-PE 7c430000-7c452000 \ mmdevapi
ELF 7c452000-7c48b000 Deferred uxtheme
\-PE 7c460000-7c48b000 \ uxtheme
ELF 7c48b000-7c4d7000 Deferred dinput
\-PE 7c490000-7c4d7000 \ dinput
ELF 7cf70000-7cf79000 Deferred
ELF 7d293000-7d397000 Deferred
ELF 7d397000-7d400000 Deferred dbghelp
\-PE 7d3a0000-7d400000 \ dbghelp
ELF 7d500000-7d505000 Deferred
ELF 7d505000-7d50e000 Deferred
ELF 7d531000-7d538000 Deferred
ELF 7d538000-7d542000 Deferred
ELF 7d542000-7d54e000 Deferred
ELF 7d54e000-7d56c000 Deferred
ELF 7d58f000-7d599000 Deferred
ELF 7d599000-7d625000 Deferred
ELF 7d625000-7d659000 Deferred
ELF 7d659000-7d695000 Deferred
ELF 7d695000-7d6a9000 Deferred
ELF 7d6a9000-7d70d000 Deferred
ELF 7d70d000-7d850000 Deferred
ELF 7d850000-7d922000 Deferred crypt32
\-PE 7d860000-7d922000 \ crypt32
ELF 7d922000-7da6d000 Deferred
ELF 7daf3000-7db23000 Deferred netapi32
\-PE 7db00000-7db23000 \ netapi32
ELF 7db23000-7db57000 Deferred secur32
\-PE 7db30000-7db57000 \ secur32
ELF 7db57000-7db5e000 Deferred
ELF 7db5e000-7db69000 Deferred
ELF 7db69000-7db7b000 Deferred
ELF 7db7b000-7db7f000 Deferred
ELF 7db7f000-7db8c000 Deferred
ELF 7db8c000-7db98000 Deferred
ELF 7db98000-7db9f000 Deferred
ELF 7db9f000-7dba3000 Deferred
ELF 7dba3000-7dbaa000 Deferred
ELF 7dbaa000-7dbae000 Deferred
ELF 7dbae000-7dbd3000 Deferred
ELF 7dbd3000-7dbe8000 Deferred
ELF 7dbea000-7dbef000 Deferred
ELF 7dbef000-7dc09000 Deferred imagehlp
\-PE 7dbf0000-7dc09000 \ imagehlp
ELF 7dc0b000-7dca0000 Deferred winex11
\-PE 7dc20000-7dca0000 \ winex11
ELF 7dd14000-7dd3d000 Deferred
ELF 7dd3d000-7dd80000 Deferred
ELF 7dd80000-7ddac000 Deferred
ELF 7ddac000-7ddc7000 Deferred
ELF 7ddc7000-7de74000 Deferred
ELF 7de97000-7deab000 Deferred psapi
\-PE 7dea0000-7deab000 \ psapi
ELF 7deab000-7ded0000 Deferred imm32
\-PE 7deb0000-7ded0000 \ imm32
ELF 7ded0000-7e013000 Deferred oleaut32
\-PE 7def0000-7e013000 \ oleaut32
ELF 7e013000-7e08e000 Deferred shlwapi
\-PE 7e020000-7e08e000 \ shlwapi
ELF 7e08e000-7e2da000 Deferred shell32
\-PE 7e0a0000-7e2da000 \ shell32
ELF 7e2da000-7e34c000 Deferred setupapi
\-PE 7e2e0000-7e34c000 \ setupapi
ELF 7e34c000-7e368000 Deferred dinput8
\-PE 7e350000-7e368000 \ dinput8
ELF 7e368000-7e4c1000 Deferred wined3d
\-PE 7e380000-7e4c1000 \ wined3d
ELF 7e4c1000-7e501000 Deferred d3d9
\-PE 7e4d0000-7e501000 \ d3d9
ELF 7e501000-7e5ba000 Deferred msvcrt
\-PE 7e520000-7e5ba000 \ msvcrt
ELF 7e5ba000-7e5e3000 Deferred iphlpapi
\-PE 7e5c0000-7e5e3000 \ iphlpapi
ELF 7e5e3000-7e61f000 Deferred ws2_32
\-PE 7e5f0000-7e61f000 \ ws2_32
ELF 7e61f000-7e63b000 Deferred wsock32
\-PE 7e620000-7e63b000 \ wsock32
ELF 7e63b000-7e6c1000 Deferred rpcrt4
\-PE 7e650000-7e6c1000 \ rpcrt4
ELF 7e6c1000-7e808000 Deferred ole32
\-PE 7e6e0000-7e808000 \ ole32
ELF 7e808000-7e92a000 Deferred gdi32
\-PE 7e820000-7e92a000 \ gdi32
ELF 7e92a000-7ea8a000 Deferred user32
\-PE 7e940000-7ea8a000 \ user32
ELF 7ea8a000-7eb45000 Deferred winmm
\-PE 7ea90000-7eb45000 \ winmm
ELF 7eb45000-7eb70000 Deferred msacm32
\-PE 7eb50000-7eb70000 \ msacm32
ELF 7eb70000-7ebea000 Deferred advapi32
\-PE 7eb80000-7ebea000 \ advapi32
ELF 7ebea000-7ebf8000 Deferred
ELF 7ebf8000-7ec05000 Deferred
ELF 7ec05000-7ec20000 Deferred
ELF 7ef90000-7efdd000 Deferred
ELF 7efe6000-7f000000 Deferred version
\-PE 7eff0000-7f000000 \ version
ELF f7344000-f734e000 Deferred
ELF f734f000-f7354000 Deferred
ELF f7354000-f750f000 Dwarf
ELF f7510000-f752d000 Dwarf
ELF f7550000-f7707000 Dwarf
ELF f7709000-f772d000 Deferred
ELF f772f000-f7730000 Deferred [vdso].so
process tid prio (all id:s are in hex)
0000000e services.exe
0000001e 0
0000001d 0
00000014 0
00000010 0
0000000f 0
00000012 winedevice.exe
0000001c 0
00000019 0
00000018 0
00000013 0
0000001a plugplay.exe
00000020 0
0000001f 0
0000001b 0
00000021 explorer.exe
00000025 0
00000024 0
00000023 0
00000022 0
0000003c Steam.exe
00000075 2
00000028 0
0000002b 0
0000002d 0
00000064 0
00000057 0
00000056 0
00000053 0
00000052 0
00000050 0
0000004f 0
0000004e 0
0000004d 0
0000004c 0
0000004b 0
0000004a 0
00000049 15
00000048 0
00000017 0
00000016 0
00000027 0
0000003b 0
00000031 0
00000039 2
00000046 0
00000044 0
00000043 0
00000042 0
00000041 0
0000003e 0
0000003d 0
0000003f steamwebhelper.exe
00000029 0
00000051 0
00000038 0
00000037 0
00000036 0
00000035 0
00000034 0
00000033 0
00000032 0
0000002c 0
00000030 0
0000002f 0
0000002e 0
0000002a 0
00000009 0
0000000b 0
00000047 0
00000045 0
00000040 0
0000005c (D) C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA\DARKSOULS.exe
00000080 0
Hybrid ATI cards and Dark Souls
by machinegod420 on Wednesday February 10th 2016, 1:26
Has anyone with a hybrid setup gotten Dark Souls to work on their setup? It works fine on the Intel card, but it's extremely slow. Running through the opensource drivers and DRI_PRIME cause the entire thing to crash hard.
HowTo Xinput without x360ce
by Danny Vose on Tuesday November 17th 2015, 16:17
Git clone
cd to dir run cmake and make.

Set up DSfix with dinput8_blocker like in Anton Romanov comment below.

dinput8dllWrapper ce.dll

set dinput8 to native
set xinput1_3 to builtin
Download GameControllerDB.txt and place it in the same dir as darksouls.exe

export LD_PRELOAD=/path/to/git/clone/dir/koku-xinput-wine/

wine darksouls.exe

So why do all this?
It will give you full Xinput but with SDL, Any controller with
mapping in the DB should be auto mapped to Xinput pad in wine.

More info at this thread.
by ZZZman on Wednesday October 21st 2015, 19:02
This game runs fine under wine however nothing to do with dsfix works anyone have any ideas? I run wine 1.7.53. Manjaro is my linux. dsfix is in my /DATA/ ds folder and dsmfix.dll is used for my dinput8.dll.
by chase on Tuesday September 22nd 2015, 11:18
I've installed DSFix into the DATA folder of Dark Souls but it doesn't appear to be working because it's not skipping the intro logos. The game is working perfectly fine other than that though.I'm using the newest engine 1.7.51. Any ideas?
  • RE: DSFix by David TECHER on Tuesday September 22nd 2015, 15:38
    • RE: DSFix by chase on Wednesday September 23rd 2015, 20:49
  • RE: DSFix by Joe Wagner on Wednesday September 23rd 2015, 21:07
    • RE: DSFix by chase on Wednesday September 23rd 2015, 23:08
  • RE: DSFix by ZZZman on Wednesday October 21st 2015, 19:03
  • RE: DSFix by ZZZman on Wednesday October 21st 2015, 19:06
    • RE: DSFix by chase on Wednesday October 21st 2015, 19:20
      • RE: DSFix by ZZZman on Thursday October 22nd 2015, 8:53
        • RE: DSFix by ZZZman on Thursday October 22nd 2015, 8:58
          • RE: DSFix by ZZZman on Thursday October 22nd 2015, 9:41
  • RE: DSFix by Sullome on Thursday September 1st 2016, 11:22
    • RE: DSFix by Sullome on Thursday September 1st 2016, 11:24
      • RE: DSFix by Sullome on Saturday September 3rd 2016, 6:28
Fully working xboxdrv config
by Fabian Kantereit on Tuesday August 18th 2015, 11:36
I managed to get all keys working using xboxdrv. (including Gestures, Menu and even steamoverlay) using the following parameters:

xboxdrv --detach-kernel-driver --buttonmap 1=3,3=1,2=4,4=2,rt=start,lt=back,start=rt,back=lt --ui-buttonmap guide=KEY_LEFTSHIFT+KEY_TAB,rt=KEY_END,lt=KEY_G --detach --dbus disabled --daemon
Crash in Chasm of the Abyss
by Yves Paultre on Monday August 17th 2015, 13:32
Bought the game on Steam and installed via Wine. Game was working perfectly until about ten minutes ago, where I loaded a game I had quit while in the Chasm of the Abyss, which is a rather resource-intensive area. I quit via the ingame menu, so it's not a save file corruption, but the game freezes on the loading screen after selecting the save. It gave me the following error:

Can anyone help?
Getting XInput working
by Anton Romanov on Wednesday July 22nd 2015, 23:51
Getting all the keys using xinput works just fine for me

The trick which works for me for Dark Souls (and Darksiders, the other game I had same getting xinput to work issue) is to use dinpu8.dll blocker from some old x360ce release. It blocks app from seeing any dinput devices (except for keyboard and mouse) and forces it to use xinput.

Heres version which works for me with Dark Souls:
Though, if you want to use it together with DSFix - you need to rename dinput8.dll in that package to ce.dll and set
dinput8dllWrapper ce.dll
in DSfix.ini

by Alex on Wednesday June 24th 2015, 13:52
Can anybody confirm whether they've gotten borderless fullscreen and/or hiding the mouse cursor working properly in lightdm/compiz/unity desktop? Can't quite get there, wouldn't be surprised if it's the compositor's fault not understanding some of the D3D-based DSfix overrides.
  • RE: by David TECHER on Thursday June 25th 2015, 7:59
Full button mapping via AntiMicro
by Mathew C. on Monday June 1st 2015, 12:26
I've managed to get full button mapping thru AntiMicro. On Ubuntu, one can find the PPA for the software here:

I've followed Joe Wagner's test results up to the DSFix section running wine 1.7.44. Essentially, by having a fully mapped xbox controller through Xboxdrv, one can map keyboard keys to each individual xbox button used by Dark Souls. I've mapped the keys as follows in AntiMicro:

Movement (L-Axis) = WASD
Camera (R-Axis) = Arrowkeys
Y (Two-Hand Weapons) = Left Shift
X (Use Item) = C
B (Roll/Jump) = Space
A (Action/Gesture) = E
RB (Light Attack) = K
RT (Heavy Attack) = H
R3 (Target Lock) = F
LB (Parry) = P
LT (Guard/Block) = G
Start (Menu) = TAB
Back (Gestures) = T
D-Pad UP (Magic Select) = M
D-Pad DOWN (Item Select) = N
D-Pad LEFT (L-Hand Switch) = Q
D-Pad RIGHT (R-Hand Switch) = R

Afterwards, map the corresponding actions within the Dark Souls options menu to the right keys as listed. Disable all game controllers through Wine Control Panel. Make sure AntiMicro is running with the proper profile loaded when you start the game.

Run = WASD
Camera = Arrowkeys
Target Lock = F
Switch Right = R
Switch Left = Q
Switch Item = N
Switch Magic = M
Attack = K
Heavy Attack = H
Block = G
Parry = P
Use Item = C
Dash/Roll/Backstep = Space
Action/Gesture = E
Toggle 1-Hand/2-Hand = Left Shift
Start Menu = TAB
Gesture Menu = T
Select (Up) = M
Select (Down) = N
Select (Left) = Q
Select (Right) = R
Confirm = E
Cancel = Space
Menu Function 1 = Left Shift
Menu Function 2 = C
Disregard last post: Visual error?
by jredmiles on Friday March 20th 2015, 23:56
Reinstalled everything, works great except that this is what I get on-screen when the game launches.
Mac error log
by jredmiles on Tuesday March 17th 2015, 10:45
Sorry to post up my Wine newbie questions, but I've been tweaking my wrapper and I don't seem to be able to get it working past the menu screen, which now has stopped working. Might try a completely new wrapper if I can't fix it, and apologies for how stupid this is going to look.

Pastebin link to keep the comment small:
DSFix breaks mouse
by Tim Van den Langenbergh on Monday December 22nd 2014, 17:20
Running on OpenSUSE 13.2 with Plasma 5, wine 1-7-33, using the DSFix and the DSMFix, the game doesn't react to mouse movement. Without the DSFix the mouse is perfectly functional (though not quite as comfortable as I'm used to).