New CRT shader from Guest + CRT Guest Advanced updates

One thing about shaders on RetroArch Android is that the shaders folder is placed in the root of the SD card so it’s not accessible unless your android device is rooted. Assuming that you aren’t rooted let’s try a different method for your shaders, we’ll try moving the shaders folder where you can access it.

If you open the RetroArch directory setting the default location for the shaders folder should look like this:

We’re going to switch the location to your RetroArch folder in your SD card so the first thing you should do is go into the RetroArch folder on your Android device and create a folder called “shaders”. From there re open RetroArch, go back to the directory and change the shaders folder to the newly created shaders folder so that it now looks like this:

Now open RetroArch once more and update your shaders and they should appear now in the new shaders folder:

You should now be able to edit/create and do the things you mentioned from that folder. Hope that helps. Not to mention you should be able to use my presets that way as well.

5 Likes

After all this - A screenshot from the 10/24 release on PC before any tuning. This shader will be for my Arcade games like Dangar etc, but I dont have those games here so here is Ys V on Snes. To me this is a super cool starting point for games that came on screens like this.

I forgot to change back brightness and saturation so here is a better one:

2 Likes

Super nice of you to help, but I can already use the shaders that I navigate in files from internal storage/retroarch/shaders. I have Retroarch installed in the internal memory, and only use SD-card for games. All my guest advanced, my own presets and stock shaders are there. I have always had the possibility to edit the shaders through the shader menu and save as new presets, I have done this for all my systems, the problem started when I tried to copy/paste parameters into the preset files. But I got it to work.

The path to shader in my directories is: /storage/emulated/0/Retroarch/shaders

3 Likes

Ah I see I see. Glad you got everything sorted then.

3 Likes

Hello @guest.r , there is a problem with clip saturated color beams while using negative values. Only on the lite version.

Default preset without any modifications —>

1 Like

New Release Version (2023-10-28-r2):

Notable changes:

  • Grade “replacement” shader updated to the newest repo grade version.
  • New “Lite” version added (caa. 25% faster than standard version).
  • It handles scanlines and filtering differently, non-essential options are removed.
  • TATE mode is supported.
  • Very nice for games with more basic graphics (NES, PC-Engine…).
  • UPDATE: clip saturated color beams functionality fixed for negative values (thanks @ProfessorBraun).

Download link:

https://mega.nz/file/VkZhQbgS#t_LGhTR-9zrZ1CyYkU-CutiyKr9jf_slTOEMT-xtXvM

14 Likes

I wanted to try something different this time,my goal was to use halation as a replacement of glow and magic glow while keeping a specific render in bright scanlines,colors etc. I didn’t modify anything in guest folder this time compared to my last preset.

So I share this if someone is interessed at this kind of look. :raising_hand_man:

Lite preset–>

GAMMA_INPUT = "2.500000"
gamma_out = "2.200000"
m_glow = "1.000000"
m_glow_cutoff = "0.000000"
m_glow_low = "0.500000"
m_glow_high = "0.000000"
m_glow_mask = "0.000000"
glow = "0.000000"
bloom = "2.000000"
halation = "0.025000"
bmask1 = "0.725000"
hmask1 = "0.000000"
brightboost = "1.000000"
brightboost1 = "1.000000"
scanline1b = "20.000000"
scanline2b = "20.000000"
scanline1d = "20.000000"
scanline2d = "20.000000"
beam_min = "1.350000"
beam_max = "1.350000"
beam_size = "0.000000"
scans = "1.000000"
shadowMask = "2.000000"
maskstr = "1.000000"
mcut = "2.000000"
mask_zoom = "3.000000"
mask_layout = "1.000000"
maskDark = "0.000000"
maskLight = "2.000000"
mask_gamma = "2.500000"
post_br = "1.250000"
5 Likes

Another sexy post from you. I meant to ask but what settings did you use for aperture grille and Slot Mask in this post?

2 Likes

Hey there :wave:, all pictures use same settings except for mask and sharpness.

You can use the preset you posted above in the discussion with slot mask strength 1.0 (high and low) instead.

And aperture grille is using default for sharpness and glow radius/sigma.

2 Likes

Testing a slot mask preset with the lite version.

vigstr = "0.400000"
gamma_out = "2.250000"
m_glow = "1.000000"
FINE_BLOOM = "3.000000"
mask_bloom = "-0.750000"
clips = "0.500000"
scanline1b = "4.000000"
scanline2b = "11.000000"
scanline1d = "5.000000"
scanline2d = "11.000000"
scans = "1.200000"
h_sharp = "1.000000"
s_sharp = "0.140000"
warpX = "0.040000"
warpY = "0.050000"
csize = "0.070000"
bsize1 = "0.070000"
shadowMask = "9.000000"
maskstr = "1.000000"
maskboost = "1.500000"
mask_zoom = "1.000000"
mask_gamma = "2.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
smoothmask = "1.000000"
smask_mit = "0.500000"
deconrr = "0.500000"
deconrb = "-0.500000"
deconrry = "0.500000"
deconrby = "-0.500000"
decons = "2.000000"
10 Likes

Out of curiosity, what changed in regard of scanline handling in the lite version?

1 Like

Scanline type option was removed (also for some performance). Instead the user can now select scanline shape options for bright and dark pixels separately. I didn’t include this specific setup options for other versions, because it would break preset compatibility, but they have some workarounds instead.

3 Likes

That looks amazing. I never manually copied values to a shader. Could you explain where I have to copy these in which file? Thanks

1 Like

Thanks ! Just copy everything in a text document with notepad or else. I included the passes to make it easier for you. And rename your .txt file to whatever you want and .slangp at the end. (ex: test.slangp)

The modifications we make are always between the last pass and textures (ex: scale_y10 = “1.000000” and textures = “SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4”)

shaders = "11"
shader0 = "shaders_slang/crt/shaders/guest/lite/stock.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/crt/shaders/guest/lite/stock.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "StockPass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/lite/afterglow0.slang"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "AfterglowPass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/guest/lite/pre-shaders-afterglow.slang"
filter_linear3 = "false"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "true"
alias3 = "PrePass"
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/guest/lite/linearize.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "LinearizePass"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/lite/gaussian_horizontal.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "absolute"
scale_x5 = "800"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/lite/gaussian_vertical.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = "GlowPass"
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "absolute"
scale_x6 = "800"
scale_type_y6 = "absolute"
scale_y6 = "600"
shader7 = "shaders_slang/crt/shaders/guest/lite/bloom_horizontal.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "absolute"
scale_x7 = "800"
scale_type_y7 = "absolute"
scale_y7 = "600"
shader8 = "shaders_slang/crt/shaders/guest/lite/bloom_vertical.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = "BloomPass"
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/lite/crt-guest-advanced-lite.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "true"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/guest/lite/deconvergence.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
scale_type_x10 = "viewport"
scale_x10 = "1.000000"
scale_type_y10 = "viewport"
scale_y10 = "1.000000"
AS = "0.000000"
GAMMA_INPUT = "2.500000"
gamma_out = "2.200000"
m_glow = "1.000000"
m_glow_cutoff = "0.000000"
m_glow_low = "0.500000"
m_glow_high = "0.000000"
m_glow_mask = "0.000000"
glow = "0.000000"
bloom = "1.850000"
halation = "0.025000"
bmask1 = "0.725000"
hmask1 = "0.000000"
brightboost = "1.000000"
brightboost1 = "1.000000"
scanline1b = "20.000000"
scanline2b = "20.000000"
scanline1d = "20.000000"
scanline2d = "20.000000"
beam_min = "1.375000"
beam_max = "1.375000"
beam_size = "0.000000"
scans = "1.000000"
shadowMask = "2.000000"
maskstr = "1.000000"
mcut = "2.000000"
mask_zoom = "3.000000"
mask_layout = "1.000000"
maskDark = "0.000000"
maskLight = "2.000000"
mask_gamma = "5.000000"
post_br = "1.460000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"

This is an improved version by the way. :grinning:

3 Likes

I did some tests and there is a combination of 3 settings that I like. So I wanted to use “smooth masks in bright scanlines” on one of my preset, but the picture was not vivid as before in bright area. Then I lowered “scanline shape bright pixels” values but still it wasn’t enough.

And finally I increased “scanlines saturation/ masks falloff” to 1.0 instead of 0.5 and It worked :eyes:. The picture was very close to the original preset but with the benefit of smooth masks.

6 Likes

New Release Version (2023-11-01-r1):

Notable changes:

  • Mask bloom added to the fastest version.
  • Deconvergence parameter step adjusted in the fastest version.
  • Scanline deconvergence is now under deconvergence options - fastest version.
  • Integer scaling options added to the lite version.

Download link:

https://mega.nz/file/JoxShJDT#7muuipL_7Xzp4e7qYs1kciYsxFDCZI-5OP06zvOmr9I

15 Likes

@ProfessorBraun I’m curious how a size 5 mask would feel at 4k, i.e. you lower the mask zoom parameter to 2.0. This might be a very nice setting, resembling a 2.5px wide mask at 1080p, which isn’t normally doable, but would be a good spot.

For my 1080p taste 2px wide mask (0,5…) is a bit fine and 3px wide mask a bit coarse.

2 Likes

Hello :wave:.

Screenshots with mask layout 0.0 and 1.0

Edit: It looks good on 4k and there is no bloom or halation. :slightly_smiling_face:

Edit2: I need a coffee, I misread your message :sleeping:

2 Likes

@guest.r There is also “mask size 2.0 / zoom -1.0” that looks good on 4k. It may look similar to the others pictures but when you zoom in you can see the difference and what it does on the red text. Edit: I said somenthing with bloom but it was actually another mask. (it’s time to sleep :sweat_smile:)

2 Likes

New Release Version (2023-11-03-r1):

Notable changes:

  • Mask Zoom Sharpen functionality added.
  • Zoomed masks can look much crisper now with this feature.
  • Existing presets aren’t affected, this is purely optional.

Download link:

https://mega.nz/file/d4QRVaaC#-bdgl2W1QzWPbaOPNKvqUddEwDNZJ0nP3LOztfFY6E8

11 Likes