Edit: This fix didn’t work out, sorry. No further testing required for the moment.
I was told that the Nvidia card can be directly selected by an application on an Optimus system by selecting a different D3D adapter. I have no way of testing this since I do not own an Optimus device.
If you are an Optimus user (and only if you are an Optimus user) please download this version, test it on your system, and leave feedback below.
(link removed, this fix does not work)
Also, please do not get your hopes up just yet that this will fix the Optimus issue. Since I have no way of testing it I have no idea if it will work.
I love the fix, but it makes the game extremely unstable for me. I’m crashing on start-up almost every single time with the message “DARK SOULS PREPARE TO DIE EDITION executable has stopped working.” I know the files are in the right place, and I don’t think I have any D3D-modifying tools like MSI Afterburner running (though to be honest I don’t even know what those would be, so I can’t be sure). Any ideas?
Don’t give up guys!!
Some of you already know, that for Skyrim, some dude modified D3D9.dll file for ENB or post process injector series which works fine with Optimus system!
I believe it can be fixed!
The modification will work fine, I even was able to make it look BEAUTIFUL on my laptop. It’s the disabling of Games for Windows Live that is the problem. The devil’s choice is great looking game…but not being able to save or horrible looking game…being able to save progress. After seeing what it the game COULD be on my MSI GT60, I can barely stand looking at the Dark Soul’s short cut.
I kept getting instant crash. It was being caused by X-Fire IM. I had to disable X-Fire in-game option to get the game to run with the mod, while still having X-Fire running. But the mod makes the game look great though thanks!
Hey, crashes on GT540M =/
Try out the Sega’s Sonic Generations game which was a Optimus nightmare. Maybe you will find a piece of advice in there
‘Got a 555M and the game instantly crashed as well for me.
Thanks for trying though, you have no idea how us crippled people with Optimus cards are appreciating your support !
anyway guys to make SMAA /FXAA/enb injectors work with Optimus or DSfix ?
I’ve tried several methods with this and I’ve had no luck, but that’s just me. (The injectors typically use .dll’s other than d3d9.dll so I wouldn’t be surprised if it requires some reworking.)
i did copy the optimus fix but with d3fx.dll
its working and great guys..
i hope u my frined will just make next fixes with d3fx.dll and not d3d
at least i can use SMAA or FXAA injector now
finnaly
sorry guys..i though it worked the enb or SMAA or FXAA injectors
nothing working..just the optimus fix with d3fx.dll is working
I tried now, 3dfx works indeed, but i am unable to save or load.
Any idea about this issue?
for me working ok but enb or other injectors no
@petert: I hope your fine with me quoting you otherwise just delete the post.
Durante’s post From the NeoGaf forums:
“Boris Vorontsov (the ENB developer) is very opinionated and may seem a bit abrasive, but I’m sure he’s not “jealous”. He’s an accomplished programmer, and he actually told me how to fix the Optimus issue.
The problem is that the correct fix requires quite a bit of programming effort, and that it uses the same technique that most cheats use, so there’s a danger of it being flagged by Steam/GFWL. That’s why I’m not sure if I should do it. “
Merci again.
Just donated 10e.
If you need to test things on a 790 with 5760×1200, don’t hesitate to ask.
It doesn’t work at this res, but it’s great at 1920×1200 anyway.
(304.48 drivers)
Keep it up !
Crash, Nvidia 525m.
I wonder who thought that Optimus was a good idea, it’s not useful in any way.
That second graphics card is a PC equivalent of a brain tumor.
Thanks for the fix ! but i cant test it till day 31 xD limited edition on the way.
Could anyone please post some screens of different places? And one last thing, does thie fix work with Ati cards?
I
ve tried to mess with the config - set resolution 512x720 - it
s working – twice the performance boostI found a way to make it work (sort of): since Optimus, like Aaron said in another comment: “Optimus works by feeding the nVidia card’s rendered frames into the integrated intel graphics card’s buffer. So in the end, the intel card is what is pushing the video to the monitor.” If you connect your laptop to a monitor via HDMI, you can set a direct stream to it from the Nvidia GPU from the Nvidia control panel (it should be an option like “set multiple monitors”; sorry but my drivers are in Italian) .
As you can see from there, your laptop monitor is set under HD3000, so the video rendered by the discrete gpu “need to pass on the” HD3000. Instead, a monitor connected via HDMI is listed under the discrete gpu renders directly on the monitor.
I could start and play the game with no problems on my bravia 32” USING THE STANDARD 0.4 NOT THE OPTIMUS ONE, but being hd ready the image was crap. Hope this helps to find a solution.
Would it be possible, do you think, to convince Optimus-using laptops that their primary screen is a connected monitor to bypass this problem?
I am actually trying various solutions/ideas, but i am at a dead end: disabling or uninstalling the Intel HD is not a solution since after that the discrete GPU is not recognized. Connecting to a DVI monitor does not work, since the DVI/VGA port uses the intel HD to stream the data to the monitor. Maybe someone more experienced than me can find a way to trick the PC in believing that the main monitor is instead a monitor connected via the HDMI port.
As you can see from the image linked (http://i.imgur.com/vewNa.png) the main monitor is listed under the HD3000 in the nvidia panel, while a monitor connected via HDMI will be listed under Gt555m, for example.
640m
crash
instant crash….hope you can find fix for laptop gamers <.<….
Instant crash on GT530m here but nice try …. hope to see more
Crashes for me as well, 550m
instant crash but THANKS for trying !
You already have enough people testing this attempted fix, but I’ll add that, with just 0.4 and without this fix, my FPS is capped at 15, and I’ll attempt your next fix when/if you release one.
Candidate for testing here: M14xR1 gt555m (drivers: 295.73)
The game crashes immediately and the screen goes totally bananas: flashing white, BUT i can see some progress: after i updated my Intel HD graphics to the latest version, the game flashes, but i can see it loading (there’s a sword in the lower left).
However, it crashes right after about 10 second of flashing.
Instant crash here too, on an Alienware m14xR1 (gt555m 3 gb). It crashed so bad the battery went mad, but it’s probably my fault due old HD graphics drivers. Nvidia Drivers: 295.73
and Thanks For making.
Here the log for my crash
===== Sun Aug 26 06:06:44 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 2, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
CreateDevice —— Adapter 0
– requested mode:
– - Backbuffer(s): 1920 x 1080 D3DFMT_A8R8G8B8 *1
– - PresentationInterval: 2147483648 Windowed: true Refresh: 0 Hz
– Adapter override to 1
I have a GTX 580M and my driver is the 301.42 (the latest if I trust the Nvidia website).
I have also try with the ENB injector that you speak before, but I doesn’t change anything =/
With the OptimusFix, the game crashes, with de DSfix 4.0, the GPU stay off, and without any patches, the game run with the awful resolution of the begining T_T
(Sorry for my bad english, I’m French ^^” And you have a lot of fans here in France too ;p)
Here is the log for my crash. using a Nvidia Geforce GTX 680
driver version 302.71
===== Sun Aug 26 05:15:20 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 11, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
CreateDevice —— Adapter 0
– requested mode:
– - Backbuffer(s): 1920 x 1080 D3DFMT_A8R8G8B8 *1
– - PresentationInterval: 2147483648 Windowed: true Refresh: 0 Hz
– Adapter override to 1
===== Sun Aug 26 05:23:07 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 11, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
CreateDevice —— Adapter 0
– requested mode:
– - Backbuffer(s): 1920 x 1080 D3DFMT_A8R8G8B8 *1
– - PresentationInterval: 2147483648 Windowed: true Refresh: 0 Hz
– Adapter override to 1
then is this the only solution and it works for me. but i think this solution doesnt use all the power from the nvidia card. get sometimes FPS drops to 15. i have a gt555m maybe its to old :-)…
this method works when you use the DATA.EXE in the DS game directory.
as HEX i used ” HEX-Editor MX” (FREE Software). there is only ONE d3d9.dll you must change.
here the complete TUT from…
jimhorton on 2012-08-24 at 15:39 said:
This is what someone on the nexus forums posted for skyrim enb problems. Anybody have the experience to try it?
“Tired of Post Process Injectors like FXAA or ENB not recognizing your Nvidia card on your Optimus laptop? There is in fact an easy (kinda) fix for it.
1. Open TESV.exe in your game directory with a Hex editor (e.g. Winhex, Ultraedit).
2. Use the search ASCII option to find d3d9.dll, you will get TWO results.
3. Change both instances of d3d9.dll to something different (for example d3fx.dll). Save.
4. Rename d3d9.dll in your game directory to match the ones you remamed in TESV.exe
Provided you have selected the preferred graphic processor the programs in your Nvidia control panel, the game will now be using your Nvidia card to render the post process injectors. Enjoy the sceneries!”
I tried your solution, somehow GFWL doesn’t seem to work with it. idk if there is something else, I could have changed, but the only thing I also tried was Durante’s high res fix
GFWL does work with the fix, it must be something else.
Nope.
Not working!
ah so this is why it doesn’t use the GPU… yeah I tested it and it crashes. Thanks for all the efforts into making it work for all!
I can’t tell you how happy it makes me that you are taking the time and effort to try and make your awesome work compatible with devices you don’t even own! Thanks so much! I too am getting an instant crash with the Optimus version, although that seems to be universal. I will be checking back daily to help test and provide whatever feedback I can. Thank you so much for all your hard work! It’s people like you that make PC what it is.
Game crash on startup for me aswell with GT 555M(304.79).
GT 555M
Instant crash for me.
I will test this out now, you can email me whenever if you need me to try any new updates, i made a neogaf account to tell you id help but its still not activated. ill comment here on issues or praise!
instant crash here as well
Posting this here just in case it might be helpfull.
Using a crack, you can disable GFWL without losing the ability to save. BUT !!!
You can’t seem to use the saves made with the legit version. And you still can’t play in offline mode. I’m not sure if you can use the saves made with the crack when you revert to the legit version though.
I have no qualms about cracking my legit steam game if it means I can play with the res fix and be able to fucking save. So, how do I get that to work?
I’m running a Alienware M14X with a Nvidia 555M (an Optimus candidate). I found and installed the 301.42 divers but the mod crashes the game immediately still.
It crashes for me as well. I also tried removing the Darksouls.exe and the Data.exe from the optimus profiles, but that didn’t change anything.
Log file:
===== Sat Aug 25 20:16:42 2012 =====
===== start DSfix 0.4
===== Sat Aug 25 20:33:11 2012 =====
===== start DSfix 0.4
===== Sat Aug 25 22:21:46 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 2, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
CreateDevice —— Adapter 0
– requested mode:
– - Backbuffer(s): 1920 x 1080 D3DFMT_A8R8G8B8 *1
– - PresentationInterval: 2147483648 Windowed: true Refresh: 0 Hz
– Adapter override to 1
Some additional info
I have an Nvidia gtx 675m with the latest drivers which is 304.79
For some reason they don’t seem to have any non-beta drivers for this card yet :/
Instantly crashes here aswell
===== Sat Aug 25 21:55:10 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 2, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
===== end
===== Sat Aug 25 21:55:11 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 2, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
CreateDevice —— Adapter 0
– requested mode:
– - Backbuffer(s): 1920 x 1080 D3DFMT_A8R8G8B8 *1
– - PresentationInterval: 2147483648 Windowed: true Refresh: 0 Hz
– Adapter override to 1
Optimus works by feeding the nVidia card’s rendered frames into the integrated intel graphics card’s buffer. So in the end, the intel card is what is pushing the video to the monitor. Unfortunately, it isn’t as simple as pure hard switching. Hope this helped!
I can’t believe that there isn’t any way for an application to simply say “render on the Nvidia card” :/
I tried to make a dummy dll and directx just crashed, i dont think this will fix the problem. But there is a thing that worked for me:
http://forums.nexusmods.com/index.php?/topic/549049-for-nvidia-optimus-users-guaranteed-fix-for-post-process-injectors-using-d3d9dll/
The exe that needs to be modified was Data.exe, and there was only one replacement.
Also i asked the ENB creator, and this is what he sent me:
“Tell him to hook load and free library functions at dll initialization time, so injected dll will change device3d initializing function to it’s own (detours library or manual splicing). Functions for export are no longer required then and file must not be d3d9.dll. This is the only solution which works in any condition.”
(which is basically what i did, but automatic and no fuss for end user)
I can pack the exe i already did(the manual rename), with the 0.4 version of your dll, it works for me just fine, no crash or anything.
Link will come any minute
Here are the files.
http://www.mediafire.com/?2er61udtb63iv22
The only changes are:
Then name of the d3d9.dll you used is now d3fx.dll
And a Hex value inside the Data.exe that was changed from d3d9.dll to d3fx.dll.
Before you copy this to your game please make a back up because to retrieve the original exe or remove the resolution fix you will have to reinstall the game.
There should be compatibility issues with GWL though which prevent you from saving the game or has this somehow changed with 0.4?
Unfortunately this prevents GFWL from working. So you won’t be able to load/save games or play in online mode.
Imagine that, another one of their bad ideas gettin in the way of people enjoying this game on pc :/
Also sorry if i mislead you before, It was a mistake on my side to tell you that without checking by myself first.
I tried using this and then copying the system xlive.dll to game folder and creating a hook for that, but still no cigar. I certainly do feel like feeding microsofts balls to the gaping dragon right now.
I see what the ENB author is saying, and I also found an article (http://www.codeproject.com/Articles/30140/API-Hooking-with-MS-Detours) that explains the general process.
But this is not a quick fix.
Yes i am aware, Also if you have a original .exe from the game use that to try the renaming thing, since i sail under the jolly roger(its a pirated version). The dll name can be anything as long its same as inside the exe.
Though i suspect the GFWL stops working because of changed exe, and non-matching hash code.
Well, it appears to be working for me. I have my preferred graphics set to “high-powered”, no other setting changed other than resolution (1600×900.) Unfortunately I can’t test more right now (going to the lake for a boat party, woo.)
Running around Anor Londo and it seemed to be 30fps with only a few hiccups here and there.
Dell XPS L702x : i7-2630qm 2ghz GT555m
Great!
I did some googling and it may be that installing the latest NV driver could fix the issue for those people who get crashes.
Forgot to say I am using 301.42
I’m at 304.79. I wonder if I can roll back the driver to your version
Its unrelated to the driver, I rolled back from the latest beta drivers to 301.42 and it sadly still crashes.
Yep, I found out the same thing. Frusterating
@MagikJohnson Considering that you are so far the only one that has posted here and for which it works , do you think its possible for you to post your system and the 3d settings for dark souls in your nvidia control panel?
Would be greatly appreciated.
I have the same computer with the same specs,
Crashes instantly for me. Running the same drivers too.
According to NVs own documentation (http://developer.download.nvidia.com/compute/cuda/docs/CUDA_Developer_Guide_for_Optimus_Platforms.pdf) the NV card should be available as a separate adapter. Apparently this is not the case. I really have no idea how to proceed.
The ENB project has used some sort of “injector” with Skyrim that seems to be a workaround. I honestly don’t know what that entails (it may be very difficult I don’t know) but it may be an avenue to look at. See http://enbdev.com/download_injector_generic.htm.
Thanks for making the attempt! I appreciate the effort.
Here is the Log File:
===== Sat Aug 25 21:43:45 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 2, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
===== Sat Aug 25 21:43:46 2012 =====
===== start DSfix 0.4
= settings: 1920 x 1080, logLevel 2, filteringOverride 1
= dof: dofOverrideResolution 540, disableDofScaling 0
= force no override, 1280 x 720, vsync off, 60 Hz, adapter override 1
CreateDevice —— Adapter 0
– requested mode:
– - Backbuffer(s): 1920 x 1080 D3DFMT_A8R8G8B8 *1
– - PresentationInterval: 2147483648 Windowed: true Refresh: 0 Hz
– Adapter override to 1
How do I get one of these?
It shows up as DSFix.txt in the DATA folder after you try to start the game.
Ah yeah, thank you!
Hmm, so much for that idea. Thanks guys.
I’m also more than willing to help you test this to death.
About to try it out
The same thing happened to me. It crashed immediately. If there is anything I can do to help, please let me know.
Sadly it instantly crashes the game.
I’m willing to help you out if you are still looking for testers, (you should have the email adress right?).