acm-cfw / acm-cfw.github.io

ACM custom firmware documentation
https://acm-cfw.github.io
MIT License
58 stars 3 forks source link

v0.2 Scaling options not working anymore #8

Open drapos opened 1 year ago

drapos commented 1 year ago

Hi!

I have just dropped into the v0.1 USB the updated files, and found this issue.

Batocera started with screen rotated 90º anticlockwise.

I corrected that manually, but now no scaling option works anymore.

I was using Core defined scaling+Integer scaling to get the best scaling option in my opinion, but now no setting there makes any difference neither on built in screen or hdmi external output.

HDMI output is working fine if you plug out and in after the system is already booted up.

Thanks for your efforts!

neocvera commented 1 year ago

If you don’t force the screen orientation (manually) - do the scaling options remain?

I’ve found the system to autocorrect it’s orientation by simply unplugging and plugging the hdmi cable

drapos commented 1 year ago

I have doing some more testings:

Inbuilt screen: 90º rotation mandatory. Can't get proper integer scaling, resulting image is smaller and cropped. Filters/scaling apply more or less from start > Game settings, but some others from Select > Advanced System Options.

Neither filter work fine because they are not being properly scaled to the screen resolution. Performance is a tad better than on HDMI out, because of the lower resolution, I guess.

In the end, you are forced to play on streched mode, so there is shimmering.

HDMI output: Auto works fine for proper image orientation. Select > Advanced System Options override any other Filters/scaling option. Most of the filters work. Only Zfast is looking and performing properly with small artifacts here and there, though. Curved is not properly aligned to screen resolution and turns the image into a slide show. Other scanline options are not aligned neither. Some other filters do nothing at all, and the glow and enhanced ones work fine, but are ugly.

Default settings are mostly fine.

If I can test anything that could be helpful for you, please let me know.

drapos commented 1 year ago

Something more to add:

Dreamcast.

Flycast (the one without Libretro) is rendering 90º anticlockwise. If you enable rotate screen 90 degrees, it adds another 90º anticlockwise, so it renders upsidedown instead.

This one is better than Libreto: Flycast since it performs better, doesn't crash and allows you to select Vulkan to gain some extra FPS.

Surprisingly, MvC2 is almost there. Playable but with frame drops.

Cheers!

loganknecht commented 1 year ago

Hello 👋

I have been experiencing some inconsistencies with rotation and HDMI input as well.


When I start with an HDMI input connected I will have to unplug it and re-plug it back in order to output it to the HDMI connection.


By default in the Alpha 0.2 version the screen is rotated counter-clockwise 90 degress, so I have to set it to be rotated 90 degrees clockwise in order for the Sega Astro City Mini to appear normal.

However, when I connect the HDMI input it shows the screen now rotated incorrectly by that 90 degrees clockwise setting. So then I have to go back and undo the rotation setting to set it to 0 degrees for the HDMI input to look correct.


I'm not sure what to do about this other than fiddle with the settings and disconnect/reconnect the HDMI input after starting up.

acmeplus commented 1 year ago

At this point unplug/plug the HDMI is the best solution. Just try to avoid doing it too quickly because the board may not detect it on time and get confused.

There is already an issue to set the default orientation automatically during the first boot, but won't be fixed until the main repo is synchronized again with batocera upstream. So while that happens (don't expected it soon) just use the ES menu to set the orientation, or use the unplug/plug method.

acmeplus commented 1 year ago

For the scaling there may be a regression in the retroarch patches that I'll need to review. There may be some inconsistent rotation code in the shaders management code in retroarch. That may explain why v0.1 had it working scaling/shaders and 0.2 seems to fail.

loganknecht commented 1 year ago

Hello 👋

I'm following up on this. I believe I'm incredibly close to being able to use the ACM as an emulation device.

This appears to be my last issue.

If I start the device it will load up correctly. Then if I connect an HDMI cable the system menus will look correct. However when I start the Outrun ROM in FBNeo the game starts half screen with the contents shown on the left half and a black screen on the right half. Additionally the screen is also rotated 90 degrees.

I can use the retro arch menu to rotate it to the correcly, but then it's stuck half-width and it doesn't look correctly offset. I'm not sure what to do to fix this. It's been a bit of a headache.

Do you have any suggestions or configurations on what to do for this situation?

See images below 20230605_230639 20230605_230707