crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come)
-
@Nataq i see some problems with your cfgs. you should put
auto_overrides_enable="true"
as the first line in both to be sure.also what game are you running, from which directory and using which emulator?
-
Spent another few hours on this this morning and found a few interesting things although still not working.
I did realized the .cfg files located in /opt/retropie/configs/all/retroarch/config/MAME 2003/ are actually doing something : When I load a game, like Aliens, the screen is now more squished vertically with smaller black bars on the left and right of the screen. If I remove the aliens.cfg from that folder then the screen is back to normal or unaltered format with bigger black bars on the sides. Seems like the config files are taken into account finally BUT, and this is where I really scratch my head now, whatever shader I specify from those game config files isn't loaded properly thus explaining why vertical games are not showing the vertical shader.
So my only focus now is to figure out why I can't specify a shader in those config files.
For example, the command line for an horizontal game as per your game cfg files is this :
video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp"If I change it for video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi-curvature.glslp" its should be pretty obvious if working by seeing the curved screen. But it isn't showing. Whatever shader I specify there has no effect (still show the crt-pi shader) although the other format settings related to the format are taken into account.
I can see all the shaders in the folder located here: /opt/retropie/configs/all/retroarch/shaders so its not like they are not present.
I am wondering if MAME somehow has more privilege over the per game cfg files (as for the button mapping for example) and is not taking control of the shader... if that make sense...
My MAME roms are located in : \retropie\roms\mame-libretro and as far as I know I am using MAME2003. I would like to confirm this but somehow my retroarch menu binding isn't working in MAME (that is another story).
I appreciate your help and wouldn't mind opening another thread for that "can't change shader" issue since I understand it might not be totally related to the solution you offer here.
Thank you again very much.
-
ok i have a 1080p override file for nes that i'm playing around with. name it
Nestopia.cfg
:# Auto-generated crt-pi.glslp .cfg # Place in /opt/retropie/configs/all/retroarch/config/Nestopia video_shader_enable = "true" video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp" custom_viewport_width = "1536" custom_viewport_height = "1120" custom_viewport_x = "192" custom_viewport_y = "-20" aspect_ratio_index = "22"
it requires lr-nestopia as your default nes emulator (it's lr-fceumm by default i think). this is because fceumm seems to have some dropped frames at 1080p. plus it handles resolutions slightly differently.
i need to try it with more games but it seems to work quite nicely. you lose a bit of the extreme top and bottom of the image but this doesn't seem to cut off anything relevant to gameplay so far. plus with these settings it's properly integer scaled, and pretty close to 4:3 resolution :)
-
I have created another thread not to pollute this one with my issue above but since I have found a solution I will put it here too.
In short, the path to the shader was the issue. I don't know why since I can find the shaders in the folder but using the Retroarch GUI to save a shader change, I have found it created this path to get to the shader :
video_shader = "~/.config/retroarch/shaders/crt-pi-vertical.glslp"
If I use that same line in any .cfg files I have, it works fine.
I am wondering why your path isn't working though but I can now easily adjust.
I hope that can help others getting this to work.
Thanks for the help again !
Edit: My issue might have something to do with this : https://github.com/libretro/RetroArch/issues/349
-
Back to the topic,
I can see the scanlines are working great with your cfgs but the aspect ratio bugs me. I find it considerably squished the screen vertically for horizontal games (maybe more so because of my lower 1366x768 resolution ?).
On the good part, it does result in more screen space used which is good for my 28" monitor in my arcade cabinet.
Didn't tried tons of games yet but some games seems totally off as far as aspect ratio. For example, Toobin resulted in a very slim vertical screen.
-
@Nataq said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):
Back to the topic,
I can see the scanlines are working great with your cfgs but the aspect ratio bugs me. I find it considerably squished the screen vertically for horizontal games (maybe more so because of my lower 1366x768 resolution ?).
On the good part, it does result in more screen space used which is good for my 28" monitor in my arcade cabinet.
Didn't tried tons of games yet but some games seems totally off as far as aspect ratio. For example, Toobin resulted in a very slim vertical screen.
toobin cfg in mame2003:
# Auto-generated crt-pi-vertical.glslp .cfg # Place in /opt/retropie/configs/all/retroarch/config/MAME 2003/ video_shader_enable = "true" video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi-vertical.glslp" # To avoid horizontal rainbow artefacts, use integer scaling for the width aspect_ratio_index = "22" custom_viewport_width = "384" custom_viewport_height = "768" custom_viewport_x = "491" custom_viewport_y = "0"
the native gamewidth is 384. so you've basically got the choice between 384 or 768 (1x or 2x horizontal scale). as it stands, 384 / 768 (the current height) is an aspect ratio of 0.5, vs the 0.75 (3:4) it would be usually (so slimmer than usual). if you used 768 as the width, the aspect ratio is 1.0, which is a square image (fatter than usual).
they're both out by the same amount so it's a matter of preference. the algorithm should actually default to the fatter image.. i've just fixed that and re-uploaded all the configs.
it might be you don't like the fat version either :) if so let me know and maybe i'll also generate a set without any scaling changes, with just the vertical/regular crt-pi shaders. smaller screens probably suffer from this sort of thing regularly. but you'll get scaling artifacts...
-
i have updated the top post to include cfgs for lr-nestopia :)
-
In some games the fatter version is OK and i some other it bugs me more. Both options are viable I guess. I don't want to take more of your time but would it be feasible to genarate configs with my shader path ? What works for me is this :
video_shader = "~/.config/retroarch/shaders/crt-pi-vertical.glslp"
And like if its not enough, how about a little windows GUI instead of a python script where you could input your shaders path, screen resolution and hit "Generate" to start the magic ? ;) You could always chose to include the scaling parameter or not or just generate cfgs for vertical games only. Why not add a blank space too so to add any other custom command lines... That would be fantastic ! And probably not so hard to code. You may already have the code for that actually.
Makes me think if there is other sort of "config generators" already... That could really be helpful instead of editing cfg one by one.
Thanks again for your work !
-
I tested out a couple games with the newer shader, both a vertical and horizontal game, and the games were "fatter" than the regular shader I used before (with the vertical fix for banding). I don't like how that looks, was that a part of the fix to make the shader fit right?
-
@Nataq said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
In some games the fatter version is OK and i some other it bugs me more. Both options are viable I guess. I don't want to take more of your time but would it be feasible to genarate configs with my shader path ? What works for me is this :
video_shader = "~/.config/retroarch/shaders/crt-pi-vertical.glslp"
i'm not generating configs for your busted install :P the scripts are all public if you want to edit them.
And like if its not enough, how about a little windows GUI instead of a python script where you could input your shaders path, screen resolution and hit "Generate" to start the magic ? ;) You could always chose to include the scaling parameter or not or just generate cfgs for vertical games only. Why not add a blank space too so to add any other custom command lines... That would be fantastic ! And probably not so hard to code. You may already have the code for that actually.
"not so hard" :) someone else can code that haha.
-
@GreenHawk84 said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
I tested out a couple games with the newer shader, both a vertical and horizontal game, and the games were "fatter" than the regular shader I used before (with the vertical fix for banding). I don't like how that looks, was that a part of the fix to make the shader fit right?
i haven't created a new shader. these are just configs. and yeah, the aspect ratio change is intentional. you can't remove the scaling artifacts AND not have top/bottom borders without changing the aspect ratio. on a 1080p setup it should be hardly noticeable though.
-
@dankcushions, I understand now. Well yes I noticed it right away. But if it must be this way then I'll have to get use to it. I prefer as much screen fill as possible while maintaining as much of the proper X and Y as possible, which I think you've done here.
-
Can these config files be used for the Arcade folder using a rom set that is a mix of Mame2003, FBA, and Mame2010? Or, would it be possible to build a config for the Arcade folder? I currently have the config file working great using Mame2003 outside of the Arcade folder and would love to get this working for the new rom set I will be using out of the Arcade folder. Any help would be much appreciated.
Also, thank you for the hard work on the shaders and config files.
-
@KillerContusion said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
Can these config files be used for the Arcade folder using a rom set that is a mix of Mame2003, FBA, and Mame2010? Or, would it be possible to build a config for the Arcade folder? I currently have the config file working great using Mame2003 outside of the Arcade folder and would love to get this working for the new rom set I will be using out of the Arcade folder. Any help would be much appreciated.
they only work for the lr-fbalpha, lr-mame2003 and lr-nestopia emulators, but it doesn't matter where you launch games from (arcade, mame-libretro, etc). these configs will apply to the emulators regardless.
no plans to make a mame2010 set as yet.
-
@dankcushions great thanks for the info! Just so I am clear I should just be able to create a folder for FBA the same as I did for Mame2003, as you instructed?
/opt/retropie/configs/all/retroarch/config/MAME 2003/
/opt/retropie/configs/all/retroarch/config/FB Alpha/
Load your config files in there, then put my rom set into the Arcade folder, and when they launch using those emulators should look to your config files in the above directories?I am not too much worried about Mame2010. If needed I can create rom specific config files for anything out of there that might be needed.
Thanks! -
@KillerContusion said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
@dankcushions great thanks for the info! Just so I am clear I should just be able to create a folder for FBA the same as I did for Mame2003, as you instructed?
/opt/retropie/configs/all/retroarch/config/MAME 2003/
/opt/retropie/configs/all/retroarch/config/FB Alpha/
Load your config files in there, then put my rom set into the Arcade folder, and when they launch using those emulators should look to your config files in the above directories?yes :)
-
@dankcushions said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
@Nataq said in crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come):
In some games the fatter version is OK and i some other it bugs me more. Both options are viable I guess. I don't want to take more of your time but would it be feasible to genarate configs with my shader path ? What works for me is this :
video_shader = "~/.config/retroarch/shaders/crt-pi-vertical.glslp"
i'm not generating configs for your busted install :P the scripts are all public if you want to edit them.
And like if its not enough, how about a little windows GUI instead of a python script where you could input your shaders path, screen resolution and hit "Generate" to start the magic ? ;) You could always chose to include the scaling parameter or not or just generate cfgs for vertical games only. Why not add a blank space too so to add any other custom command lines... That would be fantastic ! And probably not so hard to code. You may already have the code for that actually.
"not so hard" :) someone else can code that haha.
Well, I totally understand. Turns out, I was wrong and even the alternate path isn't working. Enough of that problem here though. Thank you for trying to help anyway.
-
i thank you for your work
have: 1920x1200 16:10
i use the script but It leaves the screen off-center# Place in /opt/retropie/configs/all/retroarch/config/FB Alpha/ video_shader_enable = "true" video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp" # To avoid horizontal rainbow artefacts, use integer scaling for the height aspect_ratio_index = "22" custom_viewport_width = "1920" custom_viewport_height = "1792" custom_viewport_x = "0" custom_viewport_y = "-296"
Manually changing this by this looks good, but would have to change it in thousands of cfg's ..
# Place in /opt/retropie/configs/all/retroarch/config/FB Alpha/ video_shader_enable = "true" video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp" # To avoid horizontal rainbow artefacts, use integer scaling for the height aspect_ratio_index = "22" custom_viewport_width = "1920" custom_viewport_height = "1200" custom_viewport_x = "0" custom_viewport_y = "0"
Other friends have happened the same with the script and other resolutions.
If you have any solutions, thank you, your work is good
-
@pirossi you beat me for it :-)
I'm sure @dankcushions can help us.
It's strange because DB should be ok because 1920x1080 works so it should be the script. -
@pirossi what game is this cfg for? i just rang the script locally:
crt-pi-configs>python crt_pi_configs.py fbalpha 1920 1200
and it seemed to generate file with the custom_viewport_height as 1200. eg, sf2.cfg:
# Auto-generated crt-pi.glslp .cfg # Place in /opt/retropie/configs/all/retroarch/config/FB Alpha/ video_shader_enable = "true" video_shader = "/opt/retropie/configs/all/retroarch/shaders/crt-pi.glslp" # To avoid horizontal rainbow artefacts, use integer scaling for the width aspect_ratio_index = "22" custom_viewport_width = "1920" custom_viewport_height = "1200" custom_viewport_x = "0" custom_viewport_y = "0"
if you're running the script please give full details of your os, the command you ran, and the game your .cfg is for.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.