DSfix 1.9

I got the first external code patch for DSfix this week! I hope it’s a sign of more to come.


  • Added 2 new ambient occlusion algorithms: HBAO and SCAO. However, the existing VSSAO is still the best option in terms of visuals/performance.
  • Added a scale option for ambient occlusion on lower-end systems. Also useful if you want to downscale from a high resolution but not compute the SSAO at that resolution. This option works for all AO algorithms.
  • Disabled hotkeys when Dark Souls is not active. Previously, you could e.g. toggle the frame rate limit or take screenshots inadvertently when DS was not the active window.
  • Reinstated the texture filtering option with slightly better implementation.
  • Small bug fixes in frame rate limits calculation.
  • Rework WindowManager::resize to center the window along with resizing, and call on startup. Also fix small style issue with the borderless fullscreen toggle (wT)

The AO changes are rather big, the rest are small things that people have been asking for or that I wanted to do for a while.

As always, consider donating if you like the mod.

Get DSfix 1.9 at the Dark Souls nexus.
(alternative download location)

60 thoughts on “DSfix 1.9

  1. Found a temporary work around for dsfix problems.

    You have to revert your C:Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA back to before it was patched. This may be easier for some than others. I was able to get the prepatch data from a backup hdd. You could acquire it from your inital install disk if you have one, OR a friend who has not yet patched.

    Once changing it back you must tell steam to start in OFFLINE MODE, do not let steam online. Right click dark souls and tell it not to update without permission. You can now play using dsfix including the 60fps mod. You are even able to play online in both co-op and invasions as GFWL does not check version history for this title!

    Hope that helped a few people. DO NOT UPDATE THE GAME, unless you are willing to lose dsfix for the time being.

  2. Hi, now upgrade Live Windows and doesnt work anymore…it crash at the open, if I erase Dinput8.dll DSfix.ini it start but at 30 frames and originale resolution….anyone same problem?
    so win7 64
    I really doesnt know what are Live doing…..

  3. Ok, today Steam updated Dark Souls… And what I find is that FPS unlocker doesn’t works anymore. You can change resolution, SMAA, SSAO, but not FPS unlocker anymore…

    I really hope there will be a workaround soon about this :(

  4. Marcos, great find! AA wasn’t working for me since after v1.5

    Now it works; but the problem is, I don’t want to have to unlock FPS for it to work, so I won’t get banned from GFWL :-(

    Durante, can you please fix this for us? As always, thank you so much for such a great mod!

    • set “unlockFPS” to 0 in the DSfix.ini, and it won’t touch the code at all and the framerate stays at 30fps like normal. As long as unlockFPS is 0, the following two settings in the framerate section will be disregarded.

    • Previous and current settings both read
      # The settings below are not yet ready to use!!

      # You can only set either forceFullscreen or forceWindowed (or neither)
      # 0 = off, 1 = on
      forceWindowed 1
      forceFullscreen 0

      # The following settings are only functional if either forceFullscreen or forceWindowed is enabled
      # The display width/height
      presentWidth 3840
      presentHeight 2400
      # turn on/off Vsync
      enableVsync 1
      # adjust display refresh rate in fullscreen mode – this is NOT linked to FPS!
      fullscreenHz 60

      1.6.1 produces a window that is 3840*2400. 1.9 produces a tiny 1920*1080 window

  5. I think I found a bug: the “ToggleAA” key binding seems to be working only if I have “unlockFPS” set to 1. I have it assigned to VK_NUMPAD1 and “FPSthreshold” is set to 1 (if that helps).

  6. Hey petert, will you be fixing the 16:10 resolutions’ black bars later? I noticed that in screenshots, they are not there. Can’t you do that with regular gameplay somehow? Thanks for reading.

  7. Finally have time to try this version out – just wanted to confirm it fixed my slowdown issue and the game feels 10x smoother now (especially in Blighttown…) Thanks Durante for all your hard work, you haven’t only pushed sales of the game, you’ve also made it playable for those whose systems wouldn’t have been able to maintain a steady frame rate normally (like me.) So… thank you. I wish you well in the future. Just in general. :)

    Oh, and thanks to Nwks for the basis of the FPS mod as well as From for the fantastic game of course. I’m out.

    • Oh another note, I was getting nausea when playing this game before, but it seems to be fixed now – I guess the inconsistent game speed was negatively affecting me, so it’s great that it’s fixed! Thanks again!

  8. Durante and collaborators, is it possible to implement a toggle for the ‘unlockFPS’ value? The current 30fps toggle seems to operate by toggling the ‘FPSlimit’ value to 30 when pressed rather than disabling the unlock completely.

    This may not be desirable or possible, but I’m using the unlock with a limit of 30 as a method of disabling v-sync and avoiding the extreme fps drops that can happen with certain particle effects, (Seath I’m looking at you)

    But even with FPS set well below my refresh rate, there is noticeable tearing on horizontal and vertical surfaces with the unlocker running. It would be great to be able to snap back to vanilla v-sync enabled 30fps on the fly.

    I’d use D3D-Overrider and triple buffering but it seems to introduce annoying microstuttering.

    • Why don’t you keep Vsync enabled? You can run the game at 60FPS with Vsync and use the toggle to switch between 60 and 30FPS while vsync is still active.

      • The screen tear is likely because even though the frame rate is below your monitors refresh rate, your video card isn’t in perfect sync with the monitor (This is the most important aspect of Vsync).

      • It’s just with V-Sync on the framerate gets chopped to 15 during some intense particle effects.

        Unlocking FPS solves that problem, fps dips to about 27 in the same sections, which is still relatively fluid coming from 30.

        It would be great to be able to toggle off V-sync when approaching particle horrors like Seath, or Hellkite.

        Not a big deal by any means

  9. In v1.9 this setting seems to default to 1:

    dofBlurAmount 1

    Can you change it back to defaulting to 0? I just think that having the interface and main menu etc. blurry would leave a poor initial impression of this mod.

  10. This mod works perfectly for my PC. Looks even nicer when you modify the 3D profiles of your graphics (nVIDIA Control Panel for me). However, it still can’t work properly on my pretty high-end laptop (others have this problem too for laptops, even gaming ones like Dell Alienware), even after modifying the 3D Profile Settings. And yes, I’ve set my laptop to “High Performance,” not “Balanced Performance.” Perhaps anyone here could help? Thanks.

  11. I ran Dark Souls with DSfix back in September and everything worked just fine. Today I reinstalled the game, applied the newest DSfix, and I get black bars(I’m on 16:10). I tried backrolling to 1.6.1 and 1.4(which I know *should* work since that’s what I used back then just fine) – no dice. I have disabled AA and motion blur in-game and am running DSfix with all options default except for resolution values. I know the mod initializes properly because I can change the in-game language with the overrideLanguage command.

    I didn’t change anything about my setup since September. Even the video card drivers are still the same. It just… ran out of gas.

  12. Sir,

    Thank you, thank you, thank you so much for sacrificing your precious time to establish something wonderful as this to make the dark souls experience for other people so much fun!!! THANK YOU A LOT! Be blessed! Have a good life! I wish you only the best for your future!

    most sincerely,

    a foreign friend from far far away

  13. I just downloaded the new source and saw you’ve got a comment to try to figure out how/when the projection matrix is set-

    I’ve been working on a camera mod for a while and I hope I can shed a little light on this. The projection matrix and view matrix are sent through to the shaders using vertex shader parameters. In general – a buffer is sent to the vertex shader, if the buffer contains registers 0 – 7, the first four Vector4s are the projection matrix and the next four are the view matrix.

    I’ve had a pretty easy time changing the values of the projection and view matrices. (The biggest hitch is that if any of the three W values for the X,Y,Z axes of the view matrix are non-zero, you don’t want to modify the projection as it’s being set for the post-process or shadow effects.)

    The one part I’m still stuck on, and have been for a few weeks, is the particle systems. They don’t appear to respond positionally to any of the vert shader parameters, so they become out of line with changes to the projection matrix. Hopefully someone can help here.

    • Thanks a lot for this! I figured out that they were using vertex shader parameters, but I didn’t spend enough time on it to determine the exact mapping. I’ll play with this on the weekend.

      Thanks again.

  14. The newest versions of all the mods, and obviously this one, have enabled this game to be simply amazing. I use 16x AF and 2xMSAA and 2xsupersampling on transparencies but use a lot of your nice ini settings as well and am very thankful you did this. You really turned a situation that could have been totally dire into something a lot of people consider their GOTY 2012. Not that you or any modders made the game lol we all know FROM gets mad respect but you sure made this thing playable and beautiful in so many ways.

    I’m using 1.9 and have absolutely no problems and using a good assortment of mods as well. Nice touch with those HUD transparency options too! Perfection!

  15. Hello! Thank you alot for this fix.

    I have some questions. In DSfix.ini there is line in Depth of field section:
    “do NOT set this to the same value as your vertical rendering resolution!”

    Im a bit confused. Im using “renderWidth 1920 renderHeight 1080″ as its my 23″ monitor’s “native” resolution. So, i must not use “1080 = DoF pyramid starts at 1920×1080″ option? I need to choose 810 or 2160 instead? Because i tested all options and best visuals got with 1080 (810 is worse) – i fear i got too high perfomance drop with 2160.
    What will be if ill use 1080 option? I played with it and didnt notice anything strange ^^.
    Thank you in advance!

    • Basically, it could confuse the mod ;)

      You can just use something like e.g. 1072 instead of 1080.

  16. The game runs a lot smoother.

    Back when 60fps was first implemented, I would notice that when it would halve to 30fps for something, the quality of the frames would drop (like it felt less than 20) to less than normal gameplay (30fps) without the mod… but now even when the frames drops down to 30fps suddenly, it still feels smooth, and I haven’t had any more problems with short jumps or ladders or anything… perfect.

    • so….you can confirm that even you set fps at 60, your jump/roll still normal ?
      strange, i still have that problem (even no more ladder and rag doll error) i found when i wearing heavy armor still have this problem and it gone after i switch to limit fps (by press back space key) or do the old why by limit max fps at 30.
      any one else can confirm this ?

      • sorry i take my word back. seem i mess up dsfix some how. after remove all file relate to dsfix and re-copy again. it seem even set fps at 60 still not have roll/jump problem.
        at least after a couple tests by roll across the platform that lead to asylum in fire link shine.

        however, seem like others comment above in dlc area fps seem drop more than in the main game area. but not to the point that cause stutter.

        *could any one here confirm fps drop while run away from demon ruin’s boss still happen or not ?

  17. It seems to have the ragdoll, clothes and weird polygons problems no more. Maybe the frame limits calculation fixes did the trick.

  18. great update, you’re definitely the savior of Dark Souls on PC, I hope that someday implement an option to display fps on screen, I like to see the performance of the game. Thanks for your excellent dsfix.

  19. what is “Small bug fixes in frame rate limits calculation.” really mean ?
    less rag doll error or no longer shorter jump and roll ?

      • If I’m interpreting the code right, the animation step time capping wasn’t working right, so going above or below the FPS limits didn’t limit the animations at all.
        No idea what that actually means in practice. Good to hear if it fixed the weird bugs!

  20. This happened in one other version.

    There seems to be significant sound lag in everything in game, from actions of the character, to making selections in the menu. I’d say .5 to .75 second of sound lag.

    Any idea what would be causing this?

  21. BIIIIIIIG THANK YOU for the Scaling Option :-)))) . Enabled SSAO has always been eaten up my frames (on bonfires and in certain areas) when downscaling from
    3840 x 2160 to 1920 x 1080 (this is on an overclocked 7970) .

    Now it looks like I can finally add some more visuals to the game (@30 frames) without getting too much of a performance lost. Definitely gonna try this out by tomorrow.

    Thanks again for everything you did so far ;) .

  22. Thats sounds like a really cool proyect Nwks and the possibilities could be almost endless for improvments

  23. Nice work for your steady updates, Durante!

    As for me, I’ve decided to reverse-engineer the main parts of the game, starting from the very beginning. It is far more time-consuming than just messing around with a debugger but it’s also far more interesting.
    I don’t have much time to spend on this right now but in a distant future I’ll eventually have most of the engine in plain C++ (which could offer endless possibilities for DSFix).

    • This sounds awesome Nwks! What about an unpacker for the game files? Would that be feasible to do?

      I admire ppl with this kind of skill set, must be really hard and lots of work! Good luck to you!

    • Oh wow. If you could get the enemy and weapon data I’d be grateful. I’m awaiting the moment we can make the game even harder.

      • I think I’ll speed up the process by not giving much thought to the content but rather concentrate on getting a program structure that works and is hierarchically accurate.
        Functions could be reworked and classes members identified afterwards by (almost) anyone!

        One advantage of this new form of “mod” is that process memory modification is no longer required: the call to WinMain in mainCRTstartup is redirected and restored before initializing GFWL. Process memory is clean.

        • it’s really amazing what you write, a project that will change the concept of modification for Dark Souls.

          • and what better than to make a clean process in memory, because we would not have to worry about possible bans on GFWL :D

            sorry for the double post had not finished writing when sending in error.

  24. This is great news, I hope the spirit of collaboration is infectious amongst the cleverest.

    I’m afraid I’m still a bit confused by the texture filtering option within dsFix. Setting it to 1 is noted as ‘enabling supersampling by downscaling.’

    That makes it sound like downscaling will not work if filtering isn’t enabled, yet I thought you got a downscale if your internal rendering resolution in dsfix was higher then your native output resolution set within Dark Souls regardless of any filtering.

    What driver AF filtering levels do texture filtering switches ’1′ and ’2′ in Dsfix correspond to? And why are they so critical to supersampling?

    • Exactly what I was going to post! Never quite understood that sentence in the ini. For example, if I have the 2560×1440 in dsfix.ini and the game borderless window at 1920×1080, do I still need to set filteringOverride to 1? I’m confused :/

    • It’s like this:
      - if you override texture sampling in your driver settings, you don’t need to worry about the filtering option
      - if you don’t, you can use it to either force linear filtering when downsampling (“1″) or force anisotropic filtering on everything (“2″)

      If everything is working fine for you, just leave it at 0!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">