Hi, in my experience, the libretro rotation option behaves identically to the FBNeo way, which is good for creating presets for both cores
Yes, it seems the default MAME ‘current’ behaviour is changed in favour of the post-rotation, which incidentally is a good thing for koko-aio, but seems to cause unexpected issues with wildcards.
Yes, the MAME core was standardized to work the same as all other arcade cores handling vertical games : other mame cores, all finalburn cores, flycast, kronos.
I believe MAME2016 is now the only exception to the rotation behavior, it should just be a matter of backporting @sonninnos’s work from MAME for anyone who cares about it.
The “internal rotation mode” core option was added for backward compatibility with shaders that were specifically written to work exclusively with MAME/MAME2016 and their internal rotation. Hopefully every shaders will be standardized to work with the libretro rotation over time and that backward compatibility setting will become useless. Rotation index being passed to shaders will also simplify detection.
Yeah, the issue is that if you have Allow Rotation set to off it passes the rotation index as it is supposed to, but it is also does the rotation internally which for our uses results in an extra rotation in the shader.
It will probably be adjusted sometime soon to work the same as FBNeo to only do internal rotation if it is set to internal, even if allow rotation is off.
Hello kokoko3k just wanted to say I really love your work. I can use your shader on a t618 Android device with the ambi lights on. That’s really crazy. I have one question though, is it possible to make the tv-slotmask shader a little sharper?
Yes of course, if you know how to edit params, here are the ones that affect blurriness (given that you’re using koko-aio shipped with retroarch):
fxaa, glow/blur sharpness, halo sharpness.
For details, see docs.md linked in the first post.
I’m gonna give it a go. Thanks
“Grid Core Level Mask - Core Level Slot Mask” on small screens I think is the ideal solution. The sample screen is with FXAA enabled, but it looks great without it too. Thank’s for your job.
The fact that the HMask and Slotmask scale to the native resolution is really fascinating.
Pretty sure that would look nice with psp games
Looks nice indeed, and I guess bigger masks make sense on higher dpi screens like smartphones.
Just one thing, when you disable curvature and use a straight bezel, you have also to adjust the inner zoom, or the game content would go under the bezel and the reflections would be messed up.
Thanks for the advice, very kind as always. I use everything on a smartphone, but on this model, by testing, I found the best results with this combination. Surely with a computer screen it would be different and it would probably be better to keep only the Slotmask on core level. As soon as I can I have to do some tests.
I have a Retroid Pocket 3+ on which Mega Bezels doesn’t work, despite the instructions and very kind help of their team.
Out of curiosity, I tried this famous “Koko-aio” file, and was pleasantly surprised!
I use the clean-scanlines-classic_take.slangp
shader, then remove the curvature option and get a window that fills the top and bottom, while ambient LED lights decorate the left and right of the image.
But I have 2 problems:
- the CPU/GPU load is high (the handheld heats up quite a bit, regardless of the core used to play 8-bit, 16-bits, etc.)
- there’s a kind of ghosting that I can’t get rid of, which is very noticeable on games like Sonic on Megadrive.
Would it be possible to find a solution to the above 2 problems? Many thanks for your help.
For the heat, you could try to edit the shader and set the pass that scales to 2x to 1x, it will reduce the hw requirement, but some effects will not work; clean-scanlines should have no problems.
As for the ghosting effect, i fear i don’t know what is the issue, could you explain it better?
Sorry for not being more helping, but i’m on Holiday for 2 weeks now.
The ghosting is because of the panel they choose. It has really good colors and contrast but the pixel response time is really bad. Just scroll through websites fast and you see it how bad it is
@kokoko3k & @ComfyTsu : Thank you very much for your kind help !
- Fortunately, I could decrease 1 shader passes from 2x to 1x : this slightly reduce GPU consumption !
- About the ghosting effect, by searching the git repo, I’ve found a commit about gameboy motion blur : I understood that Dot matrix emulation parameter has a
Refresh inertia
: if this one is set to0
, the ghosting effect disappear completely ! - Last but not least, some square artefacts was present, and by reading the doc, it was said that when a shader requires a
Full
aspect ratio in Retroarch Video settings, the shader option namedAspect ratio
has to be corrected according to the documentation (ex: for Magadrive, I had to set it up to-4
), and the artefact disappear too.
I hope to find tweaks to reduce again the power consumption because I really like the effect, but the heat is not nice to feel. Thank you again !
About the ghosting effect, it is intended, but only on gameboy presets, not on scanlines-clean one. So either you’re victim of some placebo effect, or something weird is going on
Further reducing power consumption on scanlines-clean is possible by putting halo sharpness and/or glow sharpness (both horizontal and vertical / X, Y) to the max: 7.0.
I doubt that on small screens you would notice big differences, also those effects work bad anyway when you switch the previous pass to 1x as you already did, so do it safely.
So on sharpness, the higher the number, the less sharp it is?
Nope, the higher, the sharpness.
Halo and glow sliders are inverted and control the blur radius (they won’t sharp anything) 7.0 means no blur (original untouched sharpness, thus reduced gpu requirement), but color effects are still applied, so that glow still acts like a mere input gamma correction, while halo still helps in restoring lost brightness by lessen the mask and scanline gaps effect by the configured amount and depending on its defined gamma.
Understood - thanks
K