Thank you. It’s funny cause I’m literally tweaking and playing around with this very setting when you posted that. Trying out different combinations until I hopefully hit a sweet spot with both scalefx and xbr-lvl3. I’ll post up pics again and maybe even a sample pack in my thread for you all to try.
New Release Version (2023-11-30-r1):
Notable changes:
- Fastest version improvements and some performance uplift.
- “Hires Scanlines” added to standard and fast versions.
- “Fine Glow Sampling” feature added for much better glow/m.glow shaping.
- “Bloom Substract” removed as it was obsoleted by “Fine Bloom Sampling”.
- Feedback is welcome as this is a repository update candidate.
Download link:
https://mega.nz/file/MohTAJbK#QCAirV98SplJCUqh5p1k41dCYmm-bEAwDQ1J9I772JE
This is the highlight to me here. Curious on the changes this all brings. I’ll be testing this out and reporting with results later.
Is this the name of the smoothing like filter from ?
Setting the parameter with this name to 1.0 activates an alternate image handling mode, which requires the user to prepend etc. a scaling shader preset (scalefx, xbr…) for proper usage.
After giving this latest update a spin I say it’s good to go. At first I thought those “glow/bloom” changes were gonna alter my presets to where I’d have to retweak things but everything still looks as is, in fact they seem to look better or maybe my eyes are playing tricks lol. Maybe others can chime in with their opinion but I say get it ready for the repository.
can you share the preset? I want to see how it looks on my monitor!
Sure! You might achieve better results by tweaking colors and Gamma. I didn’t change many things.
Summary
shaders = "19"
feedback_pass = "0"
shader0 = "shaders_slang/edge-smoothing/xbr/shaders/support/linearize.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = "XbrSource"
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/edge-smoothing/xbr/shaders/super-xbr/super-xbr-pass0.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
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/edge-smoothing/xbr/shaders/super-xbr/super-xbr-pass1.slang"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "2.000000"
scale_type_y2 = "source"
scale_y2 = "2.000000"
shader3 = "shaders_slang/edge-smoothing/xbr/shaders/super-xbr/super-xbr-pass2.slang"
filter_linear3 = "false"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
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/edge-smoothing/xbr/shaders/support/spline16-x.slang"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
scale_type_x4 = "viewport"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/edge-smoothing/xbr/shaders/support/spline16-y.slang"
filter_linear5 = "false"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "viewport"
scale_x5 = "1.000000"
scale_type_y5 = "viewport"
scale_y5 = "1.000000"
shader6 = "shaders_slang/edge-smoothing/xbr/shaders/support/delinearize.slang"
filter_linear6 = "false"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
shader7 = "shaders_slang/crt/shaders/guest/hd/stock.slang"
filter_linear7 = "false"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/hd/stock.slang"
filter_linear8 = "false"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = "StockPass"
float_framebuffer8 = "false"
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/hd/afterglow0.slang"
filter_linear9 = "false"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = "AfterglowPass"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "1.000000"
scale_type_y9 = "source"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/guest/hd/pre-shaders-afterglow.slang"
filter_linear10 = "false"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "true"
alias10 = "PrePass"
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/guest/hd/linearize-hd.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "LinearizePass"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass1.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = "Pass1"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "viewport"
scale_x12 = "1.000000"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/guest/hd/gaussian_horizontal.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = ""
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "800"
scale_type_y13 = "source"
scale_y13 = "1.000000"
shader14 = "shaders_slang/crt/shaders/guest/hd/gaussian_vertical.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "GlowPass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "800"
scale_type_y14 = "absolute"
scale_y14 = "600"
shader15 = "shaders_slang/crt/shaders/guest/hd/bloom_horizontal.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = ""
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "absolute"
scale_x15 = "800"
scale_type_y15 = "source"
scale_y15 = "1.000000"
shader16 = "shaders_slang/crt/shaders/guest/hd/bloom_vertical.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = "BloomPass"
float_framebuffer16 = "true"
srgb_framebuffer16 = "false"
scale_type_x16 = "source"
scale_x16 = "1.000000"
scale_type_y16 = "absolute"
scale_y16 = "600"
shader17 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass2.slang"
filter_linear17 = "true"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
alias17 = ""
float_framebuffer17 = "true"
srgb_framebuffer17 = "false"
scale_type_x17 = "viewport"
scale_x17 = "1.000000"
scale_type_y17 = "viewport"
scale_y17 = "1.000000"
shader18 = "shaders_slang/crt/shaders/guest/hd/deconvergence-hd.slang"
filter_linear18 = "true"
wrap_mode18 = "clamp_to_border"
mipmap_input18 = "false"
alias18 = ""
float_framebuffer18 = "false"
srgb_framebuffer18 = "false"
scale_type_x18 = "viewport"
scale_x18 = "1.000000"
scale_type_y18 = "viewport"
scale_y18 = "1.000000"
TNTC = "4.000000"
glow = "0.000000"
halation = "-0.200000"
hmask1 = "1.000000"
gsl = "1.000000"
scanline1 = "0.000000"
scanline2 = "18.000000"
beam_min = "1.000000"
beam_max = "0.900000"
no_scanlines = "1.000000"
shadowMask = "6.000000"
maskstr = "0.500000"
mcut = "1.000000"
maskboost = "3.000000"
mask_layout = "1.000000"
slotmask = "0.500000"
slotmask1 = "0.500000"
double_slot = "1.000000"
gamma_c = "0.900000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
Hi everyone,
I received my new Steam Deck OLED a few days ago and on this occasion I thought, let’s update my Steam Deck shader post as things developed a bit over time like Retro Arch having Guest new CRT Adcanced shader included in the official shader repository etc.
I didn’t touch the whole shader topic for a while and after updating the shader database in Retro Arch and looking through the shader options I realized that some important things I played with are gone (or named differently?). I’m talking about things like “shadowmask” and so on. My custom shaders, which basically just reference the original shader and include some custom values, I thought look best for me, still work so I guess the parameters are now customizable just in a different place? Can someone give me a quick overlook what changed and where one do access these parameters this days.
Sorry if it’s obvious and pointed out at some place, I couldn’t find it
It looks awesome! I just lowered a little the gamma correction to
gamma_c = "0.900000"
and feels nice on my panel!
One thing, few weeks ago I “refreshed” my slang directory and noticed that something has moved around:
xbr directory, for example, is now located in shaders_slang/edge-smoothing/xbr/
from what I understand
I’m so sorry. I’m stupid. I just overlooked the “Shader parameters” entry. Ugh
Another question: As the new Steam Deck has an OLED screen, is there something special one has to consider regarding changing shader parameters when coming from the model with a LCD screen? Resolution didn’t change. I’ve read in various posts, while doing a quick research, that changing Mask Layout from RGB to BGR is somehow recommended? Is that true? I tried and I personally don’t see any difference.
Thanks.
I was about to write that, you could take a shoot of its subpixel layout and craft the mask accordingly, but i don’t think it is worth the hassle, as long as you haven’t a pair of eagle eyes ofc
Using:
mask_bloom = "0.200000"
It’s even better!
I have added a customized Super-xBR preset to my scaling presets folder, and games can look super nice!
Yes, these look Super Nice indeed @guest.r!
I might have just tried to sharpen the outlines/edges a little more but I really love the way these look as they are as well.
I see you’re really getting into this upscaling thing lol. I’ll have to give that a test sometime.