Friday, May 7, 2021

PCSX2 [DX11]







3D Vision feature for PCSX2, the PlayStation 2 emulator (DX11 hardware renderer). It uses a manual shader stereoization method without using physical shader files, for better future compatibility.

At this moment the fix has 170 individual ini files that you can enable (only one at a time) to fix 181 games.

UPDATE (2021-05-07): big update with 181 manually fixed games (some better than others), compared to the 30 something incomplete profiles from the previous version. I have also balanced the convergence scaling of those games, so normal gameplay is fine without having to change convergence.


Warning number 1: this isn't as "plug and play" as PC games fixes. It will need user involvement depending on how much you want a perfect experience, because it's impossible to have all games fixed at the same time.


Installation
- Recommended (not compatible with Windows 7): until flip mode is implemented into PCSX2, I recommend using this specific build. It was an automatic build that came from this pull request. This doesn't need Special K or any weird tricks to trigger 3D Vision. Make sure you're filling the screen in 16:9 or fit to window. Don't play in PCSX2's 4:3 mode.

- As a harder to get working alternative, get a recent PCSX2 build, equal or newer than the build mentioned before. Download links are here.

- Download the fix here and unzip its contents in your PCSX2 folder.

- For PCSX2 to be able to see the "d3d11.dll" of the fix on Windows 8.1 or higher, you need to apply this patch for the moment (also included in the fix file). If the bat file doesn't work, using the "sdbinst d3d11_fix.sdb" in CMD with admin rights may work.

- Configure the graphics plugin (GSdx) to use the DX11 hardware renderer.

- If you have Windows 7, chances are that PCSX2 won't trigger 3D Vision. If that's the case, unzip this there too and follow the old instructions to boot games.

- Open "d3dx.ini" and go to line 43, where it says "List of game fixes.". Uncomment the line for the game you want to play. Don't uncomment more than one at the same time. If you want to create your own overrides, create a new ".ini" file in the "GameFixes" folder and load it the same way as the existing files. You can change profiles mid game. Press F10 to reload the changes made to the ini files.


Booting games
Nothing special is needed now if you use the "pcsx2-v1.7.0-dev-130-gaebbf6a63-8019-vs2019-Win32-AppVeyor" build I posted in the installation instructions, or if you have 391.35 drivers (Nvidia 1000 series or older). Just make sure you're using DX11 hardware mode and double click the window if you didn't configure PCSX2 to boot games in fullscreen directly. It will automatically use your full resolution and trigger 3D. Switching to other renderers won't crash the emulator anymore. They just won't be 3D.

If you notice strange frame drops to 40fps, try disabling vsync in the drivers. If you want vsync, let the driver decide and enable it in the emulator, so you can still use F4 to unlock the fps limiter.


If you use drivers newer than 391.35 and you're not using that specific PCSX2 build, need Special K. At the time of writing this post, I have tried a few options:

Option 1 (recommended and easiest): using this specific Special K version as it is (dxgi.dll and dxgi.ini).
- Unzip that file in your PCSX2 folder.
- Run a game and press alt+enter as soon as you can until it triggers 3D. If your default PCSX2 option is opening games in fullscreen, then press it twice. If not, once should be enough.

Alt+tabbing out of the game can be safe, but not pressing scape to minimize the window. It will make it crash.

The depth hunting OSD works fine with this method.


Option 2: using the 10.1 version.
- Copy the "SpecialK32.dll" to your PCSX2 folder and rename it to "dxgi.dll".
- Run a game in fullscreen mode. Make sure it's configured like this before:


In case this image is lost, the important setting is having "Default to fullscreen mode on open" checked.
- Important: don't load a savestate yet or do anything that can trigger the PCSX2 logging OSD. It could prevent the next steps from working.
- After you see the Special K initial OSD at the top, press ctrl+shift+tab to open the Special K menu.
- Select "Display", go to the selector that says "Windowed Mode" and choose "Fullscreen Mode".



- That should trigger 3D. At this point, don't alt+tab. Don't press escape to minimize the game. Don't press alt+enter. Anything that can get the game out of focus will make you unable to go back. You will have to close and open PCSX2 again. At least the depth hunting OSD will work correctly.



Old instructions, not needed anymore:

This needs a special procedure. After installing all the needed files, if you try to open the GSdx configuration, the emulator will crash. Follow these steps:

- Open the emulator.
- Choose a game (choosing the ISO from the recent list, or searching one manually...) and boot it.
- After graphics of the game start to appear, or at any moment after that, open the GSdx configuration (you can press escape to close the game or just open the configuration directly), change settings if you want, and then close it. It doesn't matter if you apply changes or not. This action will unlock esclusive fullscreen, needed for the next steps.
- Double click on the game window so it's resized to borderless fullscreen.
- Press alt+enter, and the game should trigger exclusive fullscreen and 3D Vision.
- If it doesn't work at first try, double click again until it's borderless fullscreen and try pressing alt+ enter again.


GSdx configuration requirements and recommendations



1- Interlacing: games that shake when the option is set at "None" will most likely be perfect with the "Bob tff" option, and in some rare cases, "Bob bff". I recommend checking this PCSX2 thread to completely disable interlacing in some games.

2- Enable HW Hacks: some games need some of these to render right, especially "Align Sprite" (some Namco games like Soul Calibur 3 or Tekken 5), and "Half-pixel Offset", to have some bloom effects at their correct position. Things not related to 3D.

Warning: use 16:9 or stretched aspect ratio in the emulator. If you use 4:3 while your desktop resolution is 16:9, the emulator won't trigger 3D Vision.


Use of regex toggles
Note: with the list of fixed games by me, you won't need this. You can ignore this section unless you want to play games outside of that list.

This fix was done without using physical shader files, for better future compatibility. Instead, it uses a real time "find and replace" function for exactly three shaders that control all geometry in all games.

The problem is that some effects of those shaders need to not be stereoized, like the HUD or some double stereoized effects (sometimes bloom, blur filters, shadows...). The regex function tries to not stereoize things that have a depth value of 0 or 1, and in some games it works (most of the HUD of the Kingdom Hearts games).

The first and most simple solution, which may be partial or fix some things and break others but it's useful many times, is using three hotkeys I offer to disable stereoization in each of the three shaders that control geometry. They are "j", "k" and "l", and I'll refer to them as "regex 1", "regex 2" and "regex 3". And that's also their order of importance, as you'll almost never have to disable the first one. A lot of times a mix of regex 3 and regex 2 will fix HUD issues, but regex 2 is usually related to other effects.


Use of shader overrides. Warning number 3: for advanced users and perfectionists
Sometimes, or usually, disabling some of the regex isn't enough to make a game perfect or almost perfect, because you will be disabling more things than needed. Or maybe the HUD is related to regex 1. In these cases, you need to tell the regex to not stereoize a specific pixel shader. This is where things get more complicated, for these reasons:

1- Future PCSX2 (specifically GSdx) builds may change the hash of the generated shaders, rendering all game specific fixes useless. Still, games don't usually need a lot of these. Most of the affected games need between 1 and 3 in my experience.
2- Fixing something in one game can break something else in another game, or even in the same game in some cases. So fixing all games at the same time is impossible. Even with a small library of 30 something games I found a little more than 10 conflicts between games.

Now about how to do a shader override. The fix includes working examples for games I own, inside the "GameFixes" folder.

Those are the three vertex shaders I stereoize with regexes, and their default values for stereoization. "x3" for regex 1, "y3" for regex 2, and "z3" for regex 3. "w3" is an extra option about the fix I made for the skybox in the Ratchet & Clank saga (it forces the skybox to max depth without breaking other things in those games).

The values after "Hash=" may change with future GSdx versions, but I will be able to recognize them and update the fix.

In the ".ini" files inside "GameFixes" there are shader overrides with comments saying what they fix (sometimes). They contain the hash of the pixel shader, and the value they pass to their parent vertex shader. If you write for example "z3=1", it means that regex 3 won't stereoize that specific pixel shader. If it's "y3=0", it means it will stereoize it, the same as not writing the shader override at all. Useful if you want to enable/disable game fixes break effects in other games.

New: setting them to "=1" now assumes that they are HUD shaders, so they'll be affected by the HUD hotkeys. Set them to "=2" to not stereoize them but not making them count as HUD.


How to get the pixel shader hashes? Search the "hunting=0" line and change it to "hunting=2".

Warning number 4: this will make games less stable when switching out of fullscreen, and VRAM usage will be higher.

After that, run the emulator and play the game you want. Press "0" in the numpad and you will see a green overlay. Numpad keys 1 and 2 will cycle through the available pixel shaders, disabling the current one. Numpad key 3 will dump the shader inside the "ShaderFixes" folder. Get the hash (filename part before "-ps_replace.txt"), open the "ShaderUsage.txt" file that will appear in the emulator folder and search that hash. Example of a random pixel shader:

<PixelShader hash="07ee058e5bed1e6b">
  <ParentVertexShaders>6d64bfd710f98b05 </ParentVertexShaders>

The pixel shader "07ee058e5bed1e6b" is related to vertex shader "6d64bfd710f98b05". If you look a few paragraphs above in this post, you will see that it's regex 1. If you want to not stereoize that effect, write this in the appropriate ".ini" game file (you can create new empty files and then include them in "d3dx.ini" like the existing examples), below other shader overrides if there are any:

[ShaderOverride_TotallyUniqueNameOrElseError]
Hash=07ee058e5bed1e6b
x3=1

Then you can go back ingame without closing it, make the game 3D with the explained method, and press F10. Changes should be applied instantly (it will also reset the state of all hotkeys).

When you are done, close the game and set "hunting" to 0 again. And you can delete your dumped shaders that are inside "ShaderFixes".


OSD and depth hunting (advanced users mostly)
You can enable an OSD that shows information about the current value of hotkeys and other useful information. By default this is disabled, because you could use the depth hunting hotkeys accidentally. With this, you can do a much better kind of fixes than shader overrides. They should be universal for past and future PCSX2 versions.

Uncomment the ";include = ShaderFixes\help.ini" line, in line 19.

When you are ingame, press "c" and the OSD will appear near the bottom left corner. This screenshot shows the default state:


Warning: all the following hotkeys can be used even if the OSD is turned off with its hotkey. Be careful of using them accidentally.

Most fixable game effects and HUD that are broken in 3D usually have a specific depth value assigned to them. Under "Depth hunting Regex0", you will see the navigation speed multiplier, "greater or equal than" value and "lower than" value. Depth values between them will become 2D

To select which regex you want to affect, use the "x" and "z" keys. Then it will say "Depth hunting Regex1" and so on.

Use the left and right arrow keys to modify the ">=" value.
Use the up and down arrow keys to modify the "<" value.
Use the ctrl key to change the amount each of the previous case navigate. By default, one press equals +1 or -1. The highest multiplier is x100000.
Hold the shift key and then hold the arrow keys to navigate the depth values a lot faster.

If you press "a", the "Value to save" will be saved in the first free (non 0) variable it will find.
If you press "q", the current depth range will be saved in two variables if they are free (non 0).

A message will appear in the bottom left corner when you press them.

After saving at least one value, if you press F10, the "d3dx_user.ini" will appear in the emulator folder. Inside you will see a "[Constants]" section. Variables go:

- From "$a0" to "$a39": 40 possible depth values that won't be stereoized for Regex 1.
- From "$ar1" to "$ar8": 4 possible depth range pairs that won't be stereoized for Regex 1. The first one in a pair is ">=", and the second is "<".
- From "$b0" to "$b39": 40 possible depth values that won't be stereoized for Regex 2.
- From "$br1" to "$br8": 4 possible depth range pairs that won't be stereoized for Regex 2. The first one in a pair is ">=", and the second is "<".
- From "$c0" to "$c39": 40 possible depth values that won't be stereoized for Regex 3.
- From "$cr1" to "$cr8": 4 possible depth range pairs that won't be stereoized for Regex 3. The first one in a pair is ">=", and the second is "<".

Further F10 presses will keep adding new values you save into free variables.

Pressing ctrl+alt+F10 will delete this file so you can start over saving values.

Now to do a game fix with these values, you need to create a ".ini" for the game in the "GameFixes" folder. Make a copy of "template.ini" with the name of the game and include it in "d3dx.ini" as you see in the existing examples (like "include = GameFixes\Dark_Cloud_2.ini").

In your new game ini file you will see variables corresponding for each regex (40 values and 4 pairs of ranges for each one). The comments in the text let you know what they're for intuitively.

Copy the depth values from "d3dx_user.ini" in the corresponding variables (the order doesn't matter as long as you are in the correct regex), save the changes to the file, and press F10 ingame if the emulator is running. The fixes should take place immediately.

Of course, you can skip the usage of "d3dx_user.ini" to write the values in the game ini directly, if you remember them or alt+tab a few times, because you will see the numbers onscreen.


Hotkeys
You will probably need at least some of these hotkeys (which you can configure in "d3dx.ini") when playing. Hotkeys with more than one preset use "shift" as a modifier to cycle backwards.

- v: it changes the dominant eye of the stereoscopic cameras. By default, both eyes get a modified view for 3D. With one click, the right eye will have the same camera angle as 2D and the left eye will do all the 3D work. One more click, and the opposite will happen. And the last preset returns it to normal. It can be useful for games that stereoize the HUD, making it invisible at normal convergence modes. With the dominant eye you will see all game effects normally at least in one eye.

- b: very buggy toggle to unstretch 4:3 games from 16:9. The sides will flicker. Avoid using this if possible.

- j: regex 1 stereoization toggle. Not needed for fixed games from the list.

- k: regex 2 stereoization toggle. Not needed for fixed games from the list.

- l: regex 3 stereoization toggle. Not needed for fixed games from the list.

- h: convergence presets (0, 0.25, 0.5, 1, 2). 1 by default. All of the fixed games have balanced convergence so that the default convergence is ideal for normal gameplay.

- ctrl + h: a lot of convergence presets to cover more possibilities for games outside of the fixed games list. Different games may need wildly different convergence levels. I tried to cover as many cases as I could.

- g: multiple God of War 1 and 2 separation and convergence combination presets, from higher to lower. These games present geometry with very compressed depth. This is a workaround that makes them normal. Each preset was carefully crafted, so don't touch your Nvidia convergence hotkey or convergence presets. The Nvidia separation hotkey or wheel is OK to use. Don't use this hotkey with other games unless you find another like them. By default God of War 1 and 2 will load the first preset if you enable their fix profiles.

- f: toggle for moderately higher max separation. Not needed if you use game specific fixes. Some games like Soul Calibur 3, Tekken 5, Ys IV and Ys V use a lower separation than the rest of games. This hotkey makes them have the same depth as the other games. Don't use it with unaffected games unless you know you want it.

- o: HUD depth, for elements that have 0 depth or have a "=1" shader override. Regex 2 excluded for image quality reasons. Buggy, consider not using it.

- p: proper 4:3 image toggle. Not enabled by default. This uses an external shader to change the aspect ratio to 4:3 with black bars at the sides (for games that don't support widescreen in any way). Use this instead of the PCSX2 F6 hotkey because the PCSX2 way disables 3D.

- n: black frame insertion, intended for 30fps games. Three presets (disable one frame, the other, and disabled), and it's disabled by default. This is possible because PCSX2 outputs 60fps no matter the internal fps. Don't use in 60fps games. And beware of the nasty 30Hz flickering, if you are sensitive to it.

This black frame insertion mode doesn't know what frame is the original and what frame is the duplicate, so input lag may vary because it's chosen at random (loading savestates may change it too).

And that's why there are two presets that choose a different frame to turn black. If you care enough about it, run from side to side and choose the preset that shows you the frame that is is more ahead in time. For example, if buildings are moving to the left, choose the frame that moves them clearly more to the left.

If you are crazy and want 20Hz flickering (is there any PS2 game that runs at constant 20fps?), go to the bottom of "d3dx.ini" and change "y4 = (y4 + 1) % 2" to "y4 = (y4 + 1) % 3".

An alternative this hotkey is using ReShade with this shader, if you find games that don't work correctly with mine.

- i: 3D Vision to anaglyph conversion presets (normal, reversed, disabled). Disabled by default. Why use this when you have 3D Vision Discover for anaglyph? Two reasons. One: it allows two or more people to use 3D Vision and anaglyph glasses at the same time, at the cost of some color quality for the 3D Vision glasses users compared to not using anaglyph. Two: for this emulator, it's better to get 60Hz + 60fps per eye than 120Hz + 60fps per eye. Better vsync, low motion blur, etc.

- u: black frame insertion in 2D, made for 60fps at 120Hz. It's mandatory to have 3D Vision enabled. This hotkey is a quick toggle that disables stereoization for all regexes and blacks out the image of the right eye. The result is that at 120Hz you receive 60 games frames and 60 black frames. It can be combined with the "n" hotkey for 30fps games. This doesn't reduce GPU usage in any way. It's the same as if you were playing in 3D. Unless you comment or delete the "[TextureOverride3DRenderTarget]" block in "d3dx.ini", which is necessary to be there for 3D. That way, you'll get 2D performance with black frame insertion.

- t: reverse 3D Vision.


Fix updates
I will probably update the fix to add more individual game fixes over time. Also, flip model may be an official feature in the future, which will make using a very specific build unnecessary. And it will also make the game booting process simpler and more stable.

User contributions for shader overrides are welcome. Just know the risk of them becoming obsolete in future PCSX2 updates. Depth fixes should be universal.


Side By Side / Top And Bottom / Interlaced compatibility
Uncomment the ";run = CustomShader3DVision2SBS" line in "d3dx.ini" and then press F11 ingame (once it triggers 3D) until you have your desired mode.

This below was for the old version of the fix and it's unneeded now (I'm keeping it just in case):

Normally you would have to uncomment the ";run = CustomShader3DVision2SBS" line in "d3dx.ini" and then press F11 ingame (once it triggers 3D) until you have your desired mode. However, the game window stays black when you try to do it.

The workaround is not enabling that line, starting the booting process until after you have "unlocked" the exclusive fullscreen possibility, uncommenting the ";run = CustomShader3DVision2SBS" line, saving changes, going ingame in fullscreen mode, pressing F10 to reload the configuration, and then pressing F11 until your 3D mode is selected.

Painful, I know. I don't know a way to fix this completely. But the workaround works.


Recommendations
No interlacing codes (use the search function), to avoid shaking in games: https://forums.pcsx2.net/Thread-No-interlacing-codes

60fps codes (some may be unreliable): https://forums.pcsx2.net/Thread-60-fps-codes

Widescreen game patches (in case you want something very new that isn't included with the emulator yet): https://forums.pcsx2.net/Thread-PCSX2-Widescreen-Game-Patches

You may see dithering in some games. Press the "page down" key to change between original resolution (default), scaled dithering, and disabled dithering. This is in the GSdx interface in new builds, but not in the build with flip model that I recommend using.


Special thanks
- All 3Dmigoto developers and contributors (bo3b, DarkStarSword, Flugan...).
- All PCSX2 developers and contributors. Without them, we wouldn't be able to even play these games in 2D.
- Kaldaien, for the specific SpecialK build I used in older fix versions to force exclusive fullscreen (0.7.0). Now using 10.1 for newer drivers.
- RibShark, the one who made the compatibility patch to make 3Dmigoto work with PCSX2 on Windows 10.
- Kaimasta, for helping with testing and giving good ideas and inspiration, like the God of War hotkey.



If you liked this and want to contribute for more future fixes, you can donate to this PayPal account: masterotakusuko@gmail.com

57 comments:

  1. Brilliant work Masterotaku!
    So many great game`s to try out :)
    Also thnx for all the other great work

    ReplyDelete
  2. Thanks for the fix, let me know if anyone has gotten this working with Windows 7. I am using a passive 3D television display, I get the green text saying PCSX2 but no stereo.

    ReplyDelete
    Replies
    1. By green text, do you mean the driver profile thing? Have you followed the "Side By Side / Top And Bottom / Interlaced compatibility" section correctly (if it's correct, at the last step using F11 multiple times should be changing 3D modes. If 3D didn't trigger, F11 won't do anything)? And what game are you trying to play?

      You can post the information I need in this thread: https://forums.geforce.com/default/topic/519160/3d-vision/pcsx2-in-3d-playstation-2-emulator/

      Because I don't get notifications when there are new comments in the blog.

      Delete
    2. masterotaku,You're really so great!a Silly question,anyone know how to enable vsync in the lastest version of the simulator ?

      Delete
    3. The vsync setting that PCSX2 has is useless in my experience. But using "Vertical Sync" -> "Force on" in the drivers (PCSX2 profile or globally if you like it) works perfectly. It will apply when you are in exclusive fullscreen mode. You'll notice it because disabling the frame limiter won't let you surpass 60fps, and you won't see tearing in any case.

      Delete
    4. Its ok, I was so excited about this fix went and got me a pair of 3D Vision 2 glasses and a decent display so I can enjoy this and all the other great work that has been done here!

      Delete
  3. I'm sure i'm doing something silly but I am on windows 7 and cannot get anything other then a black screen. The normal green driver profile text appears as well as the game sound. Trying Final Fantasy 12, followed the "side By side...." with no luck, any help???

    Thank you so much for your hard work regardless.

    ReplyDelete
    Replies
    1. Never mind I was being silly, had a second display plugged in. Works perfect. Masterotaku you are the man!!! Thank you for being awesome and doing what you do (and a super cool name)

      Delete
    2. Thank you. It's great that you solved that issue yourself, because I don't use more than 1 monitor and couldn't have helped about that.

      Delete
  4. Thanks for the fix, followed your instructions and tried to make a fix for Forbidden Siren 2 (PAL) on Windows 10. Played through on normal difficulty and everything seems to be fine. Adding in case someone might find it helpful, although there's only one shader that really needs to be disabled and people could just do that with hunting mode...
    ------------add below lines to d3dx.ini----------------
    ;Forbidden Siren 2 (PAL)- needs shader overrides 2 and 3 disabled
    ;GSdx > Advanced Settings & Hacks- merge sprite can help a little with the vertical lines bug
    [ShaderOverrideSiren2_1] ;makes dog/memory sightjacking visible (may make some scenes darker?)
    Hash=a75ff4834be0ee8c
    Handling=skip
    [ShaderOverrideSiren2_2] ;removes some visual garbage when sightjacking
    Hash=096ea2960c5d1462
    Handling=skip

    ReplyDelete
  5. @masterotaku

    Out of curiousity what advice can you give you give about PCSX2 [even ignoring 3d for a second]. I've put it off for years and been waiting for development to progress and I plug games and get anomalies from increasing resolution. Seems like thats just the way it is and options are go native or get anomalies.

    ~eqzitara

    ReplyDelete
    Replies
    1. It's useful to check the wiki for specific games (https://wiki.pcsx2.net/Main_Page). Some games need hardware hacks, and some don't. I don't have that many games to test, but in general most work fine.

      Some graphics issues are fixed in OpenGL and not in DX11, but we can't use this 3D fix with OpenGL, so sacrifices have to be made. But still, things are better than they were years ago in general.

      I don't have much else to say, other than "don't depend on savestates too much", "overclocking the EE is cool for some games that have variable internal fps", "try not to be GPU limited", etc.

      Delete
  6. Dear masterotaku. You fix not working with reshade 3.1.0
    Can you check it and fix, if it possible? Reshade is absolutely necessary for pcsx2 - ambient light, fake hdr anm many more great fullscreen shaders there, that makes old games much better

    ReplyDelete
    Replies
    1. BTW Theese two things can work together (dxgi.dll and d3d11.dll) different dlls loadsame time. I use it both in ffx hd remake for example

      But in this game video plugin not loading

      Delete
    2. Give me a few days for this. There are new versions of 3Dmigoto that added better Reshade compatibility. Getting 3D to work as it does right now was already difficult, so I won't be surprised if I encounter problems with Reshade even with a new 3Dmigoto build.

      Delete
    3. Thank you. I hope this two great enchancers will work togathet with your help

      Delete
    4. Done. ReShade works with this new version that I've just uploaded without problems. Also SpecialK isn't needed anymore (the "d3d9.dll" and "d3d9.ini" files).

      I have tested it in real time with the ingame interface. DoF and similar effects didn't seem to detect depth in the scene, but other effects were working fine.

      Delete
  7. So i did this on thursday (before the march 16 update) and it didn't work. So ALL i have to do this time around is these instructions and it SHOULD work..?

    only doing this i mean:
    "- Get a recent PCSX2 build, equal or newer than "pcsx2-v1.5.0-dev-2324-g6aaae6970-windows-x86". Download links are here.
    - Configure the graphics plugin (GSdx) to use the DX11 hardware renderer.
    - For PCSX2 to be able to see the "d3d11.dll" of the fix on Windows 8.1 or higher, you need to apply this patch for the moment. If the bat file doesn't work, using the "sdbinst d3d11_fix.sdb" in CMD with admin rights may work.
    - Download the fix here and unzip its contents in your PCSX2 folder."

    ALL i need is these 4 steps to get sly 2 and 3 working in 3D..? or do i need anything else? i have no idea what this helix mod is btw, do i need to install this "helix mod" thing before i do the previous instructions..? and if yes, can someone please give me a link to the installation of helix mod?

    ReplyDelete
    Replies
    1. If you use Windows 10 with recent drivers, you just have to run that ".bat" file and unzip the contents of "PCSX2_3D_Vision_feature.7z" in the emulator folder. Then run a game using the DX11 hardware renderer. If it's Windows 7, the emulator may not trigger 3D Vision so you'll need a zip with two more files that I've included as a separate download ("d3d9.dll" and "d3d9.ini"). They complicate the game booting process, so let's hope you don't need them.

      Remember that I made the fix in the most general way possible. It's impossible to fix specific games (there could be exceptions) without breaking others, but I offer the tools and instructions to do it if you know what you have to sacrifice.

      By the way, "helixmod" is just the name of the blog, in honor to "Helix", the person that started the 3D fixing thing many years ago. If you have more problems after this, better post in this thread so I can follow comments more easily, because the blog doesn't notify me about comments: https://forums.geforce.com/default/topic/519160/3d-vision/pcsx2-in-3d-playstation-2-emulator/

      Delete
    2. ahaa thanks a lottt man, i have windows 10 yeah. So i'll try it again on thursday and see if it works after the new update you released on 16 march. BTW, i'm playing sly 2 on it (or trying to make it work in 3D i should say)

      Delete
  8. AMAZING !!! masterotaku is really a master :)

    ReplyDelete
  9. Followed your instructions and got it to work with Windows 7, but couldn't get Windows 10 to work (will not switch in to 3d MOD with Win 10). Trying to play GOW 2. Have changed into full screen, I know 3d vision is working on my win10 system, but for whatever reason, it will not switch to 3d mode in Win 10. Looks awesome when it works in (win 7). Have the latest win 10 drivers. Installed the d3d11_fix_install.bat as an admin, but just can't get it to work.

    ReplyDelete
  10. Greetings masterotaku! Good job!
    But! Unfortunately, I never managed to start 3D mode. Did everything according to your recommendations. Read here: https://forums.geforce.com/default/topic/519160/3d-vision/pcsx2-in-3d-playstation-2-emulator/11/

    Obviously, 3D Fix does not work in my case.
    WIN 10. is updated automatically. I use 3D TV PLAY and SONY HMZ T-3
     3D MIGOTO in other games is working!
    When the games are running in full screen mode - there is a green inscription. The pointer on the screen, also shows the included 3D mode. But! The image is absolutely flat. There is neither depth nor convergence.
    Please, Help! :-)

    ReplyDelete
  11. ihunted 3 PS shader associated with HUD in Viewtiful Joe,i want to unstereoize shader,so i did this:
    [ShaderOverridejoy_1]
    Hash=8671e049d893652b
    x3=1
    all shader become 2D

    ReplyDelete
  12. Hi. I'm brand new to this but I can't get this work. Do I need anything else besides the files you've provided here? I selected D3D11 Hardware renderer and the game loads but only on my normal monitor. Nothing changes in my rift at all.

    ReplyDelete
  13. Also, I keep reading about something called 3D Vision. Is this something extra I need in order to get this plugin working with PCSX2? What exactly is 3D Vision?

    ReplyDelete
    Replies
    1. Julian, seriously? You can google about 3D Vision easily. You cannot miss it.

      You'll also note that nowhere on this page do we talk about Rift or Vive or anything having to do with VR. This is for stereoscopic 3D, not VR. You can possibly find something VR related on the pcsx2 site. IIRC they have some sort of VR mode.

      Delete
    2. Thanks bo3, I wasn't sure what this website was really offering and didn't pay attention to the details so I completely missed the fact that it refers only to stereoscopic 3D. My bad.

      Delete
    3. I understand how VR users are interested in this, because of the flexibility of disabling or fixing individual game effects and not needing any extra PCSX2 plugin.

      I found this (https://www.reddit.com/r/elderscrollsonline/comments/82jdr5/pc_free_elder_scrolls_online_geometry_3d_vr_mod/) to make the 3D Vision fix of Elder Scrolls Online work in VR. Maybe it's the method you need to make this work, Julian, because you can make my PCSX2 fix display in SBS.

      Delete
  14. This is a bit of a long-shot, so before I ask anything but in any case thank you for your awesome contributions to 3D gaming and general understanding!

    I have an older laptop, with an nvs 3100m (nvidia quadro gt218 chipset 210/310M). My understanding is that somewhere in that chip is the 3D Vision functionality that I believe your pcsx2 plugin is using (and converting to sbs), as it can drive a 3D tv from hdmi using the 3DTV software. The laptop lcd however cannot handle 120hz...

    My goal is to have sbs output at 60hz on the laptop monitor while using your plugin to enable the 3D Vision 2SBS. Is this possible? When I try to use the plugin currently (win7, so I am using the specialk files as well as the dx11 dll/ini, and still configuring for DX11 in gsdx) I get the "WARNING: Profile update failed!" message in red and no 3D Mode appears to be enabled regardless of bringing up the gsdx config and then closing it and double clicking and using alt+enter (which just undoes what double clicking does to begin with) the so called "old method"... I think...

    It would be really great if I could use this instead of the 3d patched gsdx plugin I'm currently using, especially if the nvidia 3dvision2sbs is more efficient.

    Thanks in any case!

    ReplyDelete
    Replies
    1. It looks like it could be a decently long session of troubleshooting. Can you bring the conversation to this thread if my first suggestions don't work?: https://forums.geforce.com/default/topic/519160/3d-vision/pcsx2-in-3d-playstation-2-emulator/

      Suggestions:

      1- Run the emulator as administrator to apply the profile change.
      2- That GPU is very very old. I wouldn't be surprised if you need to play at native resolution most of the time.
      3- For SBS you have the instructions in this blog post, near the bottom. But first everything has to work correctly.

      Delete
  15. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  16. sorry to ask sir but how do you change the aspect ratio value? yours can adjust big/small but how to make it short/long. thanks again

    ReplyDelete
    Replies
    1. In "d3dx.ini", go to "[Key5]". See the "z = 0.75, 1, 1.333333" line? You can change those values to whatever you want.

      Delete
  17. Thank you so much for this update! It is so great to be able to play PS2 games in 3D! And with the new fixes it's easier than ever! Thanks!

    I try to use this with Oculus Rift. I have no 3d Vision monitor, so I must activate "3D Vision Discover".
    I try to make it work in SBS Mode but I have a strange problem. SBS works, but the colors are all wrong. But it is not anaglyph colors.... What is causing that? Can 3d Fix manager be the problem? As there is no profile for pcsx2, maybe it interferes with the local fix? I just installed it for the first time. I tried to disable all fixes, and at some point yesterday it worked in correct colors in SBS, but today its not working again. I don't know how to fix it.

    In GTA V I have the same problem on Fullscreen with strange colors, but on "windowed Mode" it is ok.
    DO you have an idea what could be the problem? Will a screenshot help?

    ReplyDelete
    Replies
    1. Solution: https://forums.geforce.com/default/topic/519160/3d-vision/pcsx2-in-3d-playstation-2-emulator/post/5980849/#5980849

      Delete
  18. ohh my god i can't believe this. PS2 games in 3D??? wow im so happy to be a 3d gamer and im so happy 3d communities are not giving up on 3d tech. Thank You so so much for all the hard work you guys!!

    ReplyDelete
  19. Hi there. I'm traying to make this work, but the emulator crashes with both full boot and fast boot. I'm traying to play Justice League Heroes, but as soon as I applied all the patches, the emulator shows a black screen and then crahes.
    Let me see if I'm doing this correctly:

    I'm using Windows 10 Pro X64, CoreI7 8700, 32 GB RAM, ATI Radeon 580 Series, SSD 1 TB.

    - Get a recent PCSX2 build, equal or newer than "pcsx2-v1.5.0-dev-2907-gb9df1e643-windows-x86". Download links are here.
    I downloaded PCSX2 version 1.5.0 version 3015.

    - Configure the graphics plugin (GSdx) to use the DX11 hardware renderer.
    I'm using GSDXSSE4 plugin, with DX11 Hardware Renderer.

    - For PCSX2 to be able to see the "d3d11.dll" of the fix on Windows 8.1 or higher, you need to apply this patch for the moment. If the bat file doesn't work, using the "sdbinst d3d11_fix.sdb" in CMD with admin rights may work.
    This patch. Where should I unzip it? Where should I install it? How does it work? I don't understand it completely.

    - Download the fix here and unzip its contents in your PCSX2 folder.
    Done.

    - Download the latest GameFixes folder here. Overwrite the folder that comes from the previous link.
    Done, although the games I'm trying to play aren't here. Could that be the reason the emulator crashes on boot?

    - If you have Windows 7, chances are that PCSX2 won't trigger 3D Vision. If that's the case, unzip this there too and follow the old instructions to boot games.
    I have Windows 10, so I shouldn't try this, right?

    - Open "d3dx.ini" and go to line 41, where it says "List of game fixes.". Uncomment the line for the game you want to play. Don't uncomment more than one at the same time. If you want to create your own overrides, create a new ".ini" file in the "GameFixes" folder and load it the same way as the existing files.
    I believe I shouldn't use this, because the game I'm trying to play insn't here, right?

    ReplyDelete
    Replies
    1. You can just launch the bat file, doesn't matter where I think. If this doesn't work, you can lauch the command line promt (open windows menu, type CMD) with admin rights and then execute the bin file: c:/myfolder/sdbinst d3d11_fix.sdb

      Delete
    2. Thanks for the reply. But, I tried that, too. But the emulator still crashes. Anything else I can try?

      Delete
    3. When I launch the Emulator, it shows, before it crashes, the word "Interlaced" in the above bar. So, tecnically, the 3d is working for a bit, before it crashes. Which GS Plugin should I use, SSE2, SSE4, or AVX2?

      Delete
    4. Also, could the problem be that I have an ATI graphics card? It's a Radeon RX 580.

      Delete
  20. nothing I try makes this work anymore in the most recent 'stable' software environments. windows 10 (1903) 18362.145, nvidia gpu version 425.31 (of course. the last 3d driver on earth...), pcsx2 1.5.0 2907 to most recent, even tried an older one that this patch worked on … in 16:9, 4:3, other setting that worked on and off--absolutely nothing, not even for a second like the person above.

    I have a feeling it's either the new OS, or this most recent vc++ 2015-2019 language packs from microsoft (which is a complete mess and leaves AiO runtimes riddled with errors and a bunch of language packs get uninstalled and unable to be reinstalled … I've found that running directx_Jun2010_redist first, then aio, then the 2015-2019 x86 and x64 runtimes leaves me with the least errors and the most APIs installed … it's a fcking mess. 2019 and we can't have stable software to run everything. need the most recent stuff to run new things then everything old breaks).

    I think some tweaks to these patches and a new install process is in order

    owell it was fun that one single time that I ran KHIII in full fps 3d w/ no glitches and tolerable convergence levels unlike that other gsdx3d plugin several years back.

    hope this helps. maybe in 30 years when they start making 3dtvs again and people learn to appreciate good things in life … so depressing. anyway if we could get this working again it would make my day/week/month/year/life plz ty and best of luck <3

    ReplyDelete
    Replies
    1. It is indeed a mess. Best solution to the new vs. old problem is to run a dual boot system. Use older stable software/drivers for running 3D, use latest madness for anything that requires updates.

      Your life will be better if you get off of the upgrade treadmill. Microsoft and Nvidia are not interested in making your life easier. Or go all-in on the treadmill and use a console for 'modern' stuff, where you have no control over anything, but just use whatever they provide.

      Delete
    2. madness lol. ya, I dual boot win 7 and 10 so i'll try in win 7. thnx for chiming in and affirming my sanity. just reformatted everything when 1903 came out and I seem to remember it working in 20h1 and not 19h1 when I did all my experimentation b4 the wipe. was hoping not to beta test anymore and that a fresh install of public 19h1 final would have it working, but nope. i'll try all 3 fresh and report back here

      Delete
    3. See the now updated instructions of "Booting games", using Special K 10.1.

      You may need "Borderless=true" and/or "OverrideRes" if the instructions don't work.

      PCSX2 is now working for me with the 425.31 drivers.

      Delete
    4. oooh yeah. I think I remember reading a forum where this process was explained post 391.35. thanks man :)

      Delete
    5. phew. tried all that. I am at a loss. can you click start menu > system information > and tell me your 'hardware abstraction layer' please? (aka windows version). i'm on windows 10 1903. (10.0.18362.xxx)

      when I do everything as described above, including special k (tried the newer 10.3, and 10.1), I get this error in the specialK UI in orange text when I try to switch that to fullscreen and then it sticks on windowed mode:

      Critical Assertion Failure: 'font->ContainerAtlas->TexID==_TextureIDStack.back()'

      I tried opening dxgi.cfg and changing borderless, override res, etc from there and it always goes back to windowed mode... thoughts?

      Delete
    6. It took some time, but I have updated the instructions for booting games. The old Special K version as dxgi.dll (check the new download link there in "Option 1") works better for me than the other method. All games are working for me usually after a single alt+enter.

      Delete
  21. hi, same anonymous dude as before :)

    Firstly, THANK YOU masterotaku for your relentless work. you have made my ps2 gaming dreams come true :D allow me to pay it forward. (and kinda notes for myself too)

    here's what worked for me in the hardware and software environment I described above (GeForce gt 640--I know. it's old lol--latest win 10 19h1 stable release, most recent 3d vision capable driver 425.31, most recent pssx2 version pcsx2-v1.5.0-dev-3265-g03133bc53-windows-x86)

    followed 'installation' steps and 'option 1' methods ONLY, precisely--including overwriting game fixes folder, AND uncommitting ffxii (for newbies like me, that means removing the colon character ; in front of the "include = GameFixes\Final_Fantasy_XII.ini" line in d3dx.ini opened with notepad--as I did properly before)

    followed everything listed there precisely, default values otherwise.

    THEN when I launched a pcsx2 game some windows .dll warning came up. I accepted. it worked properly on the first run ONLY when I pressed alt+enter (at which point it switches from 4:3 to 16:9 aspect ratio, still appears 2d, but that's what I ctrl+T to kick in 3d and the nvidia profile display/green text and 3d finally shows up. then it doesn't matter if fullscreen on launch is selected. nor does v sync method matter it will revert to disabled--this is what happened before, but I forgot).

    then it broke and would only ever render in 2d. it looked like it flashed to 3d for like 1 frame on each alt+enter but would immediately revert to 2d again and nothing seemed to work at this point...

    then, attempting to fix that, (can probably ignore this part), I deleted the pcsx2 profile in nvidia inspector, and disabled 3d and reactived 3d through nvidia control panel wizard to be safe (cuz 3dtv play can be weird like that). THEN launching pcsx2 again that .dll warming/confirm came up AGAIN. BUT IT DIDN'T WORK. same as b4 would flash 3d for like 1 frame on each alt+enter. (and I noticed it generated a differently named pcsx2 profile than the one preinstalled on the 425.31 driver).

    THEN (and I am pretty sure this is the trick). I was frustrated as all hell, and HELD control + enter to flash rapidly windowed and fullscreen, land it on fullscreen, it will appear 16:9, THEN press alt+enter to activate 3d :DDD

    viola! it works like that every single freaking time :D <3 . . . I am pretty sure that this would work regardless of windows 10 OS fork, 3d vision driver, nvidia profile inspector, pcsx2 version, or method 2. the trick is HOLD CTRL + ENTER until it lands on fullscreen, where it will then appear as 16:9, THEN press CTRL + T to activate 3d. :D

    TYSVM I can die happy now. lmao <3

    ReplyDelete
  22. sorry I was excited and mis typed that 2nd and third to last paragraph lol. and can't edit. meant to say this:

    … the trick is HOLD ALT+ENTER*** until it flashes a bunch and lands on fullscreen, where it will then appear as 16:9, THEN press CTRL+T*** to activate 3d. :D

    thank you again and enjoy! <3

    ReplyDelete
  23. *update* the nvidia profile inspector .nip didn't matter. I backed up and reloaded the original one and it works the same. as I said v-sync always reverts to disabled, can force on in that profile or nvcpl (instead of pcsx2).

    the only caveat is that stuff only runs in 16:9. F6 will not switch to 4:3 mid game (anymore?) … but that's no big deal for me because i'm OCD about in game 16:9 options OR pcsx2 widescreen patches :) ~ laters!

    ReplyDelete
  24. there some chance for an update to the new PCSX2 1.6?

    ReplyDelete
  25. I followed the steps and when I go to fullscreen the image goes a little darker as if 3D vision has been activated but the image has zero depth thru the glasses. any idea? also there is no overlay in the bottom right about 3D vision compatibility that i usually see or the gauge when i press ctrl+f4 to increase depth.

    ReplyDelete
  26. works perfectly using version you recommended and trying out a few games it is really cool, more than worth the time and effort to experience some of the best PS2 games in stereo. thanks!

    ReplyDelete