Hi,
so as some of you probably know, the Steam Deck is out in the wild for about 3 months now and it happens to be a powerhouse for emulating. With EmuDeck, a nice script, you can even isntall RetroArch, its cores and other standalone emulators with a few clicks to get you going. I’m one of the lucky ones to own a Steam Deck and with it I’m into emulation again, reliving some of my childhood experiences. It’s fantastic but also new because my last emulation experience is Project64 (N64 for example) with a not so optimal performance many years ago. So RetroArch, cores, crt Shaders, it’s wild. But i did some homework, how things developed over the years, getting used to the RetroArch ui etc. Just to gove you a little picture.
Now, to get to the topic, crt shaders. People seem to be obsessed with a cool (and accurate) crt look. And i understand it. Having old games from the past to look just like the day back when we were first experiencing it on the old crt screens is a nice thing. Especially when games were taking advantages of the signals and properties you had back then on a crt. I didn’t really know any of this stuff until now. And after seeing it for myself, i can’t go back anymore. So, i wanted to have this look on the Steam Deck too. After reading a ton of stuff about crt shaders and their properties, well, I’m not really wiser than before. It’s all heavy wizardry in my eyes. And after encountering many statements that crt shaders only really shine on higher resolutions, like 1080p and upwards, I was ready to give up on this matter. The Steam Deck has a 7" screen with 1280 x 800 resolution. But then I thought… hell, screw it. Lets dive into this dark rabbit hole. And after some days of intensive testing I rise with a surprisingly long beard, indicating I was much longer down there than I thought. But still, I have no really clue what dark magic I have encountered down there besides some basic stuff.
But, luckily, I actually managed to achieve a nice crt look (in my eyes) with the things you would want from a crt shader. Yes, I’m looking at you Sonic and your damned waterfall. So, to cut this short, I’d like to share the stuff I managed to do, hoping it provides other people with a nice looking crt effect when playing retro games on the Steam Deck and maybe other systems with a low resolution. Beside that, I’m provding a list of shaders that come with RetroArch and look good out of the box on the Steam Deck. Sadly, as i don’t understand much of the stuff, I can not provide any meaningfull support for it. But at least I can give some tips from what i observed while testing.
So, first, shader presets i use that come with RetroArch. No customizing needed here.
Gameboy dmg-4x.slangp under “shaders_slang/handheld/console-border/dmg-4x.slangp”
Gameboy Coloy gbc-lcd-grid-v2-4x.slangp under “shaders_slang/handheld/console-border/gbc-lcd-grid-v2-4x.slangp”
Gameboy Advance gba-lcd-grid-v2-4x.slangp under “shaders_slang/handheld/console-border/gba-lcd-grid-v2-4x.slangp”
Nintendo DS lcd1x.slangp under “shaders_slang/handheld/lcd1x.slangp”
Second, I’ve got 3 Presets for the 16 Bit era (SNES / Mega Drive), 32 Bit era (N64 and Playstation) and 64(?) Bit era Sega Dreamcast.
Sadly no Gamecube as the Dolphin core in RetroArch is not working with Vulkan (for me) and with GL driver i get bad performance. So I’m using the standalone version which works fine (Vulkan). The presets use the awesome work of Guest as a base. It’s the Guest Advanced Shader Pack. All credits to him, I just changed some parameters which I don’t really understand :D. So be sure to downlad and copy the files to the right place. Here is the link:
SNES and Sega Mega Drive https://drive.google.com/file/d/11UrfZeXqLx8zzxE8igI-zQXLUby_DSPD/view?usp=sharing
Nintendo 64 and Playstation 1 https://drive.google.com/file/d/1ns-YyCTsxQ0bKcFIXBLMyfU8mjvn391a/view?usp=sharing
Sega Dreamcast https://drive.google.com/file/d/1m7jc2-_xlQngcVJx1D8Pi3Rgvqip7xcy/view?usp=sharing
Some notes:
-
It’s important to deactivate any kind of video / display enhancements in the core options or it will mess things up. So, for example, the ghosting thing in Gambette, the NTSC thing in Genesis and so on. The reason is because the shaders are providing all of these things and can be modified within the shader parameters.
-
The NTSC presets are set to S-Video. If you want to have a Composite or even RF look, just change the NTSC type to 1 for Composite and 2 for RF within the parameters.
-
The presets give you an aperture grill rgb Trinitron look (i think that’s what it’s called?). The kind of dotted thing. If you don’t like that and want to have more prominent horizontal scanlines, you change the mask typ from 6 to 5 or 0 within the parameters.
-
Strangely, on Dreamcast, I was getting a very blueish look. So i had to adjust some more things to get rid of it. That is why there is a unique preset for it. But beside that, it’s the same one as for Nintendo 64 and Playstation 1.
-
I’m using the awesome overlay pack from Duimon, though strangely the RetroArch screenhot function didn’t capture that!? Anyway, the overlays can be adjusted in the settings and it looks really cool. Here is the link: Duimon - HSM Mega Bezel Graphics and Presets - Feedback and Updates
-
I even tried the Mega Bezel Pack with the nice reflections. And while working well with the 16 Bit era, i get bad performance starting with 32 Bit era. I guess, the reflections are to much for the Steam Deck when playing with higher systems.
Some screenshots with comparison (without and with sahder and close ups):
Okay, that’s it. Feel free to change it to your likings or use it as an inspiration or base for your own thing or to develop it further.
You’re welcome!