batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.96k stars 512 forks source link

Enabling Decorations for some EMUs skew video in "window" #10209

Closed cdaters closed 8 months ago

cdaters commented 11 months ago

I think I may have found a bug in the "decorations" part of Batocera/EmulationStation. I am creating a custom set of decorations for a build I am working on. Do "Decorations" not work for pico8 when using the official Lexaloffle version of PICO-8? I ask because I made a system bezel with an area set aside of 700px by 700px (1:1 aspect ratio) for the emulator in the center.

My pico8.info file in /userdata/decorations/mybezels/systems/ looks like this:

{
"width":1920,
"height":1080,
"top":242,
"left":610,
"bottom":138,
"right":610,
"opacity":1.0000000,
"messagex":0.220000,
"messagey":0.120000
}

But nothing (my bezel that is…) displays... I just get the 1:1 Pico8 emulator centered in the screen surrounded by black borders. Could the reason be that I am using the official Lexaloffle PICO-8 files and not the libretro version?

In one instance, I had made a change to the info file and its accompanying png (like renaming these to something NOT pico8.) After refreshing things, my default bezel (4:3 aspect ratio) showed up instead and the screen for Pico8 was stretched/skewed diagonally from the upper-left corner to the lower-right inside the default bezel's "window." When I put my pico8 "info" and "png" file back into /decorations//system/ and select that decoration set, again the black (as if no decorations are selected) around the emulator...

In other emulator instances, like scummvm for example, I get the scummvm decoration/bezel, but the game-screen is also skewed from left to right. I am able to duplicate this with the default decorations as well...

I was told in the discord server that this was a Batocera issue and not an ES issue. So I was not sure if I should report this here, or in the batocera-bezel repository...

lbrpdx commented 11 months ago

The reason is, as you hinted, that you are using the official Lexaloffle PICO-8 engine. Defining a constrained viewport for a window where the emulator/core runs can only be done through libretro emulators, not with standalone emulators. We have a way to display a bezel as full screen through mangohud, but we can't resize the viewport/window where the emulator runs, it will always be centered. If you switch to libretro/fake-08 for pico8, this should work as expected.

cdaters commented 11 months ago

I was thinking it was something like that with respect to pico8, but I was hoping that the Batocera Decorations somehow worked in spite of RetroArch/Libretro

But what about the others, such as the scummvm that I mentioned?

dmanlfc commented 11 months ago

i added a fix @cdaters as per Discord, I need you to test it

n2qz commented 9 months ago

@cdaters any feedback on the fix?

cdaters commented 9 months ago

That fix had not worked for me, but I'll revisit and see where things are at now that the holiday hoopla is behind us...

On Mon, Jan 1, 2024 at 4:01 PM Nicholas S. Castellano < @.***> wrote:

@cdaters https://github.com/cdaters any feedback on the fix?

— Reply to this email directly, view it on GitHub https://github.com/batocera-linux/batocera.linux/issues/10209#issuecomment-1873515708, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHX42SJAWQZBV4YRNHNIQDYMM55JAVCNFSM6AAAAAA6EQM6FSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZTGUYTKNZQHA . You are receiving this because you were mentioned.Message ID: @.***>