dragoonDorise / EmuDeck

Emulator configurator for Steam Deck
GNU General Public License v3.0
2.78k stars 203 forks source link

Setting Shaders on the Retroarch quick menu doesn't work #589

Closed ThomasEricB closed 1 year ago

ThomasEricB commented 1 year ago

When you set slangp shaders for at least Mesen and BSNES games on Retroarch (haven't tried any other cores), they aren't actually visible in-game, plus it causes massive FPS drops... Any ideas on how to fix? I'm assuming it's an Emudeck problem, since that doesn't happen in the main computer. Trying to load scalefx+rAA+aa-fast.slangp profile

Godsbane commented 1 year ago

We don't config anything for bsnes, so it's not an emudeck problem.

Have you considered it's because glsl is for opengl, but RetroArch is set to vulkan which uses slangp?

ThomasEricB commented 1 year ago

We don't config anything for bsnes, so it's not an emudeck problem.

Not BSNES, It's the BSNES (or whatever are the default core is for SNES) and MESEN cores for Retroarch (at least)

Have you considered it's because glsl is for opengl, but RetroArch is set to vulkan which uses slangp?

That was a clear typo, did you even read what I said? I was setting the scalefx+rAA+aa-fast.slangp profile in the menu but it wasn't changing the game's graphics

Godsbane commented 1 year ago

I did not think it was a typo.

I did read what you wrote. The core we use is snes9x for SNES. Bsnes is also included though.

I don't know what you are doing specifically, nor what you may have changed.

If you want help, zip up your retro arch config folder and attach it here so I do not need to guess.

Also include the exact path to a file giving you trouble. ( Important so I know what overrides are applied.)

ThomasEricB commented 1 year ago

I did not think it was a typo.

To be clear for why that was a typo, Retroarch doesn't show you nor let you set the .glsl files when you run on Vulkan and .slangp files when you are on OpenGL. I clearly stated at the end that the shader profile I tried was scalefx+rAA+aa-fast.slangp. I'm just badly accustomed of refering to all shaders as .glsl since I use MPV a lot.

I don't know what you are doing specifically...

I just followed the instructions on the Emudeck Wiki for setting the shaders on Retroarch. https://github.com/dragoonDorise/EmuDeck/wiki/retroarch#how-to-change-shaders-in-retroarch

... nor what you may have changed.

It's a fresh install of Emudeck, I didn't change anything besides during the custom installation.

If you want help, zip up your retro arch config folder and attach it here so I do not need to guess.

Zipped from /home/deck/.var/app/org.libretro.RetroArch/. Since filesize was big, I uploaded to Google Drive. https://drive.google.com/file/d/1zpoGFnto8LOnX8Be8nZ3PIHXfeIA1JWk/view?usp=sharing

Also include the exact path to a file giving you trouble. ( Important so I know what overrides are applied.)

I don't know what you mean by that. If you mean my ROMs...

"/usr/bin/flatpak" run org.libretro.RetroArch -L /snes9x_libretro.so "/home/deck/Emulation/roms/snes/Street Fighter II - The World Warrior (USA).sfc" "/usr/bin/flatpak" run org.libretro.RetroArch -L /mesen_libretro.so "/home/deck/Emulation/roms/nes/Castlevania (USA).nes"

Godsbane commented 1 year ago

From the snes.cfg (this is an override for the folder snes, using snes9x, also known as a content directory override)

video_scale_integer = "false" video_shader_enable = "false" video_filter = "/app/lib/retroarch/filters/video/Normal4x.filt" video_smooth = "true"

These are the default options for Emudeck. If you use the quick settings ( i know you said these didn't work, but i don't know why. Feel free to dump the ~/emudeck/ appimage log here where you hit the toggle) it should allow you to turn on 2d CRT.

This will remove these lines

video_filter = "/app/lib/retroarch/filters/video/Normal4x.filt" video_smooth = "true"

and change this to true:

video_shader_enable = "false"

Then all you have to do is change the preset you want. (load whatever, then shader menu --> save content directory preset)

ThomasEricB commented 1 year ago

video_shader_enable = "false"

Another issue here is that even if I set it to "true", it reverts to "false" for some reason.

Anyway here are the logs

redacted - ty

Godsbane commented 1 year ago

thanks i looked through the log. I didn't see use of the quick settings in the appimage log.

image image Scroll down and then on this window click "ON" on the highlighted box, even if it's already on. It will still run the enable function. image

let me know if you still have trouble.

ThomasEricB commented 1 year ago

Scroll down and then on this window click "ON" on the highlighted box, even if it's already on. It will still run the enable function.

I don't want to set a CRT shader... I want to use a graphics upscaling shader called scalefx+rAA+aa-fast.slangp

https://www.youtube.com/watch?v=PdJXYA8Wmj4

Godsbane commented 1 year ago

Which shader is not important. I explained what this setting did. Once you do this, changing what you have as a preset is easy.

ThomasEricB commented 1 year ago

Okay it now works!