Trying to install ReShade Vulcan with Retroarch emulator (Help!)

I’m trying to install ReShade Vulcan with Retroarch emulator. Really want to split the screen so I can play in 3D with my VR headset.

I just installed it with the Vulcan option and it didn’t hook. Seems like I can only install ReShade with OpenGl in Retroarch. But I really need to install the vulcan version of ReShade with the Playstation Beetle PSX HW core, because I want to play Chrono Cross in HD with the texture replacements. And the texture replacements only work with Vulcan selected. Is it possible to make ReShade Vulcan work with Retroarch?

RetroArch has a stereoscopic shader, as well:

How do you activate that stereoscopic shader?

Load the core and game, then go back into the menu (quick menu) and go to shaders > load. Then, in the slang shaders, look for the ‘stereoscopic-3d’ subdirectory and load the side-by-side-simple shader preset. It will probably look like crap by default, so go into the “parameters” menu and adjust the settings there until it looks right. Once that’s done, from the shader menu, go to ‘save’ and either save it as a game preset or ‘save as’, so you don’t have to mess with the settings again next time you play.

I just tried to apply the side-by-side-simple shader as well as the other side by side ones and they fail to load…Is it because I have vulcan selected as the renderer? But I need Vulcan on.

It’s not vulcan I tried opengl so the renderer didn’t matter. Why are they failing to load?

Dunno. They work fine here. I’d have to see a log to know what’s causing the failure.

How do I make a log file?

Figured it out here is my log file as the shader fails: (I highlighted where the error starts in bold)

[INFO] RetroArch 1.9.1 (Git cf6ca2a)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Mar 28 2021
[INFO] Version: 1.9.1
[INFO] Git: cf6ca2a
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: vk_w
[INFO] [Vulkan]: Detecting screen resolution 1920x1080.
[INFO] [Vulkan]: Found GPU at index 0: NVIDIA GeForce GTX 1070 with Max-Q Design
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using GPU: NVIDIA GeForce GTX 1070 with Max-Q Design
[INFO] [Vulkan]: Queue family 0 supports 16 sub-queues.
[INFO] [Vulkan]: Creating swapchain with present mode: 2
[INFO] [Vulkan]: Using swapchain size 1920 x 1080.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Creating swapchain with present mode: 2
[INFO] [Vulkan]: Using swapchain size 1920 x 1080.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Using resolution 1920x1080
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [XInput]: Found XInput v1.4.
[WARN] [DINPUT]: Strong rumble unavailable.
[WARN] [DINPUT]: Weak rumble unavailable.
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: win32
[INFO] [XAudio2]: Requesting 64 ms latency, using 64 ms latency.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [SRAM]: SRAM will not be saved.
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [C:\Users\nxjta\Desktop\Retroarch\content_favorites.lpl].
[INFO] [Vulkan]: VSync => ON
[INFO] [Vulkan]: VSync => ON
[INFO] [CORE]: Using content: D:\Emulators\Playstation Emulation\ISO's Retroarch\Chrono Cross Disc 1\Chrono Cross (USA) (Disc 1).cue.
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] RetroArch 1.9.1 (Git cf6ca2a)
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Mar 28 2021
[INFO] Version: 1.9.1
[INFO] Git: cf6ca2a
[INFO] =================================================
[INFO] [Input]: Found input driver: "dinput".
[INFO] [Core]: Loading dynamic libretro core from: "C:\Users\nxjta\Desktop\Retroarch\cores\mednafen_psx_hw_libretro.dll"
[INFO] [Overrides]: No core-specific overrides found at "C:\Users\nxjta\Desktop\Retroarch\config\Beetle PSX HW\Beetle PSX HW.cfg".
[INFO] [Overrides]: No content-dir-specific overrides found at "C:\Users\nxjta\Desktop\Retroarch\config\Beetle PSX HW\Chrono Cross Disc 1.cfg".
[INFO] [Overrides]: No game-specific overrides found at "C:\Users\nxjta\Desktop\Retroarch\config\Beetle PSX HW\Chrono Cross (USA) (Disc 1).cfg".
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: GET_LANGUAGE: "0".
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL.
[INFO] Core requested VFS version >= v1, providing v3
[INFO] [Environ]: SET_CONTROLLER_INFO.
[INFO] [Remaps]: Remap directory: "C:\Users\nxjta\Desktop\Retroarch\config\remaps".
[INFO] [Overrides]: Redirecting save file to "C:\Users\nxjta\Desktop\Retroarch\saves\Chrono Cross (USA) (Disc 1).srm".
[INFO] [Overrides]: Redirecting save state to "C:\Users\nxjta\Desktop\Retroarch\states\Chrono Cross (USA) (Disc 1).state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: GET_MESSAGE_INTERFACE_VERSION.
[INFO] [Environ]: SYSTEM_DIRECTORY: "C:\Users\nxjta\Desktop\Retroarch\system".
[INFO] [Environ]: GET_SAVE_DIRECTORY.
[INFO] [Environ]: GET_DISK_CONTROL_INTERFACE_VERSION.
[INFO] [Environ]: SET_DISK_CONTROL_EXT_INTERFACE.
[INFO] [Environ]: GET_PERF_INTERFACE.
[INFO] [Environ]: SET_SERIALIZATION_QUIRKS.
[INFO] [Environ]: PERFORMANCE_LEVEL: 15.
[INFO] [CONTENT LOAD]: Content loading skipped. Implementation will load it on its own.
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: GET_RUMBLE_INTERFACE.
[libretro INFO] Rumble interface supported!
[INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888.
[INFO] [Environ]: SET_CONTROLLER_INFO.
[libretro INFO] Loading D:\Emulators\Playstation Emulation\ISO's Retroarch\Chrono Cross Disc 1\Chrono Cross (USA) (Disc 1).cue...
[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port1.gun_chairs

[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port2.gun_chairs

[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port3.gun_chairs

[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port4.gun_chairs

[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port5.gun_chairs

[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port6.gun_chairs

[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port7.gun_chairs

[WARN] [Environ]: SET_MESSAGE_EXT: unhandled setting UI: psx.input.port8.gun_chairs

[libretro INFO] Checking if required firmware is present...
[libretro INFO] Firmware found: C:\Users\nxjta\Desktop\Retroarch\system\scph5501.bin
[libretro INFO] Firmware SHA1: 0555C6FAE8906F3F09BAF5988F00E55F88E9F30B
[INFO] [Environ]: SET_HW_RENDER, context type: vulkan.
[INFO] Requesting Vulkan context.
[INFO] Reached end of SET_HW_RENDER.
[INFO] [Environ]: SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE.
[INFO] [SRAM]: Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Cheats]: Load game-specific cheatfile: C:\Users\nxjta\Desktop\Retroarch\cheats\Beetle PSX HW\Chrono Cross (USA) (Disc 1).cht
[INFO] [Audio]: Set audio input rate to: 44228.26 Hz.
[INFO] [Video]: Video @ fullscreen
[INFO] [Video]: Using HW render, vulkan driver forced.
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: App: Beetle PSX (version 0)
[INFO] [Vulkan]: Engine: parallel-psx (version 0)
[INFO] [Vulkan]: Found vulkan context: vk_w
[INFO] [Vulkan]: Detecting screen resolution 1920x1080.
[libretro INFO] Found Vulkan GPU: NVIDIA GeForce GTX 1070 with Max-Q Design
[libretro INFO]     API: 1.2.168
[libretro INFO]     Driver: 466.44.0
[libretro INFO] Selected Vulkan GPU: NVIDIA GeForce GTX 1070 with Max-Q Design
[libretro INFO] GPU supports Vulkan 1.1.
[INFO] [Vulkan]: Found GPU at index 0: NVIDIA GeForce GTX 1070 with Max-Q Design
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using GPU: NVIDIA GeForce GTX 1070 with Max-Q Design
[INFO] [Vulkan]: Creating swapchain with present mode: 2
[INFO] [Vulkan]: Using swapchain size 1920 x 1080.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Creating swapchain with present mode: 2
[INFO] [Vulkan]: Using swapchain size 1920 x 1080.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Vulkan]: Using resolution 1920x1080
[INFO] [Vulkan]: Using BGRA8888 format.
[INFO] [Vulkan]: Loading stock shader.
[WARN] [DINPUT]: Strong rumble unavailable.
[WARN] [DINPUT]: Weak rumble unavailable.
[INFO] [Joypad]: Found joypad driver: "dinput".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Video]: Found display server: win32
[libretro INFO] num hd textures: 40283
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[libretro INFO] Creating shader module.
[libretro INFO] Creating descriptor set layout.
[libretro INFO] Creating pipeline layout.
[INFO] [XAudio2]: Requesting 64 ms latency, using 64 ms latency.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[libretro INFO] Controller 1: PlayStation Controller
[libretro INFO] Controller 2: PlayStation Controller
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_music_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_video_history.lpl].
[INFO] [Playlist]: Loading history file: [C:\Users\nxjta\Desktop\Retroarch\content_image_history.lpl].
[INFO] [Playlist]: Loading favorites file: [C:\Users\nxjta\Desktop\Retroarch\content_favorites.lpl].
[INFO] [Vulkan]: VSync => ON
[libretro INFO] Creating render pass.
[libretro INFO] Creating render pass.
[libretro INFO] Creating render pass.
[libretro INFO] Creating render pass.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating compute pipeline.
[libretro INFO] Creating compute pipeline.
[libretro INFO] Creating render pass.
[libretro INFO] Creating render pass.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating compute pipeline.
[WARN] [Environ]: SET_MESSAGE_EXT: Slow CD image read detected: consider using async or precache CD Access Method
[libretro INFO] Creating render pass.
[libretro INFO] Creating render pass.
[libretro INFO] Creating render pass.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating render pass.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating compute pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating compute pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[libretro INFO] Creating graphics pipeline.
[INFO] [Vulkan]: VSync => ON
[ERROR] [Shaders]:  Couldn't parse shader source (shader0).
**[INFO] [slang]: Compiling shader "".**
**[ERROR] [Vulkan]: Failed to compile shader: "".**
**[ERROR] [Vulkan]: Failed to create preset:** "C:\Users\nxjta\Desktop\Retroarch\shaders\shaders_slang\stereoscopic-3d\side-by-side-simple.slangp".
[ERROR] [Vulkan]: Failed to create filter chain: "C:\Users\nxjta\Desktop\Retroarch\shaders\shaders_slang\stereoscopic-3d\side-by-side-simple.slangp". Falling back to stock.
[INFO] [Config]: Saved new config to "C:\Users\nxjta\Desktop\Retroarch\retroarch.cfg".
[INFO] [Cheats]: Save game-specific cheatfile: C:\Users\nxjta\Desktop\Retroarch\cheats\Beetle PSX HW\Chrono Cross (USA) (Disc 1).cht
[INFO] [SRAM]: Saving RAM type #0 to "C:\Users\nxjta\Desktop\Retroarch\saves\Chrono Cross (USA) (Disc 1).srm".
[INFO] [SRAM]: Saved successfully to "C:\Users\nxjta\Desktop\Retroarch\saves\Chrono Cross (USA) (Disc 1).srm".
[INFO] [Core]: Content ran for a total of: 00 hours, 01 minutes, 10 seconds.
[INFO] Saving runtime log file: C:\Users\nxjta\Desktop\Retroarch\playlists\logs\Beetle PSX HW\Chrono Cross (USA) (Disc 1).lrtl
[INFO] [Core]: Unloading game..
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Core Options]: Saved core options file to "C:\Users\nxjta\Desktop\Retroarch\config\Beetle PSX HW\Beetle PSX HW.opt"
[INFO] [Video]: Average monitor Hz: 59.941258 Hz. (2.943 % frame time deviation, based on 2048 last samples).
[INFO] [Video]: Average monitor Hz: 59.941258 Hz. (2.943 % frame time deviation, based on 2048 last samples).
[ERROR] [Shaders]:  Couldn't parse shader source (shader0).
**[INFO] [slang]: Compiling shader "".**
**[ERROR] [Vulkan]: Failed to compile shader: "".**

That appears to be your issue, but I don’t know what would cause that… I’ll see if I can reproduce it on my end.

Does it have anything to do with Nvidia? That’s my graphics card. Are there any settings I can turn on or off? Or a resolution problem. Just wondering…

probably not. It’s likely something weird within RetroArch or the shader itself. Unfortunately, I have neither nvidia nor Windows, so I’ll try to find someone who does to verify.

Okay, thanks I appreciate it. Let me know if you find anything out.

Oh lawd, I found the problem. It’s a typo in the preset. I was loading it differently, so the error didn’t trigger.

shaders = 1

shaders0 = shaders/side-by-side-simple.slang

That second line, shaders0 should be shader0 -_-

Change that in the preset and you should be able to load it.

How do I do that exactly? I’m not too good at this stuff. Do I have to go into some folder in the emulator directory? Could you explain step by step like I’m stupid…

Go into RetroArch/shaders/shaders_slang/stereoscopic-3d and look for “side-by-side-simple.slangp”. Open that file in a text editor. It’s only 2 lines of text. Edit the second line like I described in the previous post. Save and close. Now it should work.

Thanks! That worked! Could you help me with the settings, I’m having trouble adjusting the split screen. What are your settings for eye separation, vertical placement etc? Whenever I do horizontal or vertical placement the screen dissapears…

Oh and how do you undo a change?

You can return a value back to the default by hitting the spacebar. I don’t actually have a HDM myself, I just made that shader based on feedback from people who do.

When you say the screen disappears, is it just leaving your vision? or is it straight-up blacking out altogether?

Leaving my vision. Also the other shaders:

shutter-to-anaglyph and shutter-to-side-by-side

Are failing to load as well. Can I change any of their values to make them work? Or is the simple side by side the best one to use for 3D?

omg, those have stupid problems (easy to fix, but still enough to make them not work as you’d expect), too. I swear I tested all this stuff before committing it, but I’m sure git-blame would say otherwise lol

Anyway, they use the same sbs code as the simple one, they just do some other stuff to adapt different 3D modes that cores used (anaglyph and left/right shutter) to work with sbs HDMs, so whatever problem you’re having with the sbs-simple would affect them, as well.