People recommend to use DuckStation because it gets regular updates, has better accuracy and better perfomance.
I think you better ask for such support to Duckstation developers.
Which people? You don’t always have to be a blind follower. PSX Emulation has been mature for a very long time now. Performance hasn’t been an issue to talk about even among different emulators and cores. Name 5 important features that DuckStation can do but the other cores/emulators I mentioned can’t do.
Where’s the empirical evidence of this performance and compatibility advantage and if there is an advantage is it meaningful to your particular situation?
Lastly, I’m sure the other emulator cores I called also receive updates.
It sounds like you have a solution that’s looking for a problem rather than the other way around.
Rewind. Thats enough for me.
“beetle psx” can do it IIRC using retroarch build-in Rewind, I dont recommend SwanStation for now especially if you are using crt shaders
Beetle psx langs on x4, sometimes even on x2. Beetle psx HW freezes when I press fast forward.
A major issue with Duckstation is that it isn’t open source.
Beetle PSX HW is what I would recommend if you really want high res rendering (IMO native res + a good CRT shader will give superior results but to each his own).
It sounds like the problems you’re having with Beetle are caused by performance issues and may be fixed by changing settings. If you make a new thread about it we can offer some guidance.
Hey there,
I dont know about SteamOS, I avoid Steam nowadays, but I use Duckstation on Debian and Arch distros with Lutris, VKBasalt, GOverlay and Gamescope. This is an alternative to reshade and allows the use of Retroarch’s CRT shaders ported to reshade fxs, like what’s available here. This way I use shaders on everything I want, including also PCSX2 and a lot of abandonwares, and some indie games with pixel graphics like AM2R.
AFAIK There’s no GUI except the options you’d find in Lutris, so reading the github install and config section helps. Once VKBasalt is installed, you can use the environment variable ENABLE_VKBASALT=1 (in lutris advanced options) and vkbasalt.conf files (that you’ll edit manually). In these you’ll specify the shader chain you want to use by writing the .fx files and their paths.
You mays also have to edit the fx files themselves to fit your resolution and match the Retroarch settings you’re used to, or those from Kokoko3k’s you want to reproduce.
To set all that up is not as user friendly as using Retroarch, if you’re not comfortable with all that tinkering on linux, I’d advise to take things slow. Maybe also give a spin of your game on Swanstation or Beetle PSX / HW before judging them too hastily. So far they’ve played almost everything I tried just fine.
Oh, thanks for such a detailed answer. But it requires a lot of tinkering, and that is not what i am willing to do. So i decided to use uborder-bezel-reflections shaders with increased besels. Maybe ill give a try to beetle psx hw with my next game.
Sorry, it’s still unrelated to the thread, but I had this same issue today on linux pop!_OS with Wayland, Vulkan and Beetle PSX HW, playing Dino Crisis with PGXP and upscaled graphics.
Reading about the issue, I tweaked the “Fast-Forward frameskip” parameter (in menu Settings > Frame Throttle) and set it to OFF, and now fast forward works fine without hanging Retroarch.
I was pretty reluctant to use Wayland all the time but it seems a lot of the issues I encountered last year are now fixed. It’s really cool. Now I just need to find a remote desktop solution working well for all my boxes, Rustdesk working on Wayland still seems a bit rough around the edges here.
Hi everyone,
I’m using RetroArch with Integer Scale enabled on the Y-axis and I also enable Integer Scale Y within the UBorder shader. Additionally, I set RetroArch to fullscreen mode.
I always use Integer Scale because, together with my double scanline shader, I get the best possible visual quality.
Despite this, I still see black bars (sidebars) around the game image on all sides.
I have tried all Aspect Ratio settings, including custom ones, but none eliminate the bars when using fullscreen with Integer Scale.
My questions are: 1. Is there any way to configure RetroArch or UBorder to eliminate these bars while keeping Integer Scale and fullscreen enabled? 2. Are there UBorder presets recommended for better edge filling in this situation?
Thanks in advance for your help.
With border shaders you need to set RetroArch Video–»Scaling settings to Integer Scale Off and Full Screen. This is to allow the border to fill the entire screen and for the shader to control the scaling, aspect ratio and Integer Scale mode of the viewport.
So look for Integer Scale settings in the shader parameters instead.
Thanks for the explanation, that makes sense from a border shader point of view.
The issue in my case is that relying only on the shader’s Integer Scale is not equivalent to RetroArch’s Integer Scale when using double scanline CRT shaders. If I disable Integer Scale in RetroArch and keep it only inside the shader, I lose vertical alignment precision: double scanlines start to show uneven spacing / “wobbling”, similar to what happens when Integer Scale is completely disabled.
That which you described can be caused by a number of factors, especially when trying to align slotmasks and shadow (dot) masks with the scanline gaps. It could be that the scanlines or the entire mask grid needs to be shifted upward or downward for better alignment, or the minimum and maximum height of the scanlines need to be adjusted so that the horizontal slots or partial phosphors in a dot mask can be ocluded or it could be that because you’re using a border shader which is in itself utilizing precious vertical resolution, that you’re lacking resolution for the type of mask and scanline dynamics that your preset is trying to deliver.
One easy trick to get around this besides the above adjustment considerations is to simply use a higher TVL mask.
Thanks for the explanation.
Just to clarify, in my case I’m using Guest Advanced with the mask disabled, so there’s no slotmask, dot mask or TVL involved. Even with the mask off, I still notice uneven double scanlines when Integer Scale is disabled at the RetroArch level.
That’s why, for my setup, enabling Integer Scale in RetroArch is important for image quality, and using only the shader’s Integer Scale doesn’t fully solve it.
‘Integer scale’ in RA only applies an integer scale based on the original framebuffer size. It doesn’t account for intermediate scaling done by the shaders. This makes it worthless when used with shaders that scale themselves. If your shader has scaling, it’s going to mess with RA’s integer scaling
Okay, you can try increasing the size/scale of the viewport (or even decreasing it until you see the uneven scanlines disappear. . It’s also good to include screenshots/photos of the screen showing the issue.
I’ve battled uneven scanlines, “runt” scanlines and more patterns in different shaders and those are some of the things I have had to resort to.
I remember reading on @guest.r’s thread about certain scale factors not looking as good depending on certain variables. For example in some cases odd scale factors might not provide even scanlines, while even scale factors would.
As I mentioned in my previous post, it’s also possible that the effective resolution after accounting for the Bezel might not be enough to render the scanlines in the way that the scanline dynamics and scanline type might require.
I’ve been doing some more testing and wanted to share an additional finding.
By increasing Guest Advanced → “Overscan Y (original pixels)” to 32 , I can noticeably mitigate the uneven scanlines and artifacts. However, this comes at the cost of cropping part of the image at the top and bottom , which is expected behavior but not ideal.
So far, the only way I’ve found to get perfectly even scanlines without cropping is to enable Integer Scale from RetroArch’s scaling settings . The downside is that this reduces the usable screen size when using a border shader.
I’ve attached two screenshots :
- one showing the scanline artifacts
- another without them, with Integer Scale enabled
The screenshots don’t fully capture the severity of the issue as seen in motion or in person, but the difference is still somewhat visible.
This seems to confirm that the problem is closely related to the effective vertical resolution when using CRT presets with scanlines.
I’ve done several tests following the advice given, but so far I haven’t been able to get a decent result. If I manage to find something interesting, I’ll be sure to share it here.
Many thanks for the help, especially to Cyber .

