Gambatte-libretro aspect error with lima driver in v0.3 OS

feedback
#1


gambatte-libretro GBC emulator has a wrong crop when use lima driver sdl2.
You can’t set any “keep aspect” aka “core provided” config, because it will only do the wrong crop.
You can just use “stretch to full screen” aka “4:3” config which would drive me crazy.

clockworkOS v0.3 with GPU driver is available!
#2

Temporary work around:

aspect_ratio_index = "23"
video_fullscreen = "false"
video_scale = "1.6666"

put in file:
/home/cpi/.config/retroarch/config/Gambatte/Gambatte.cfg

2 Likes
Emulators tested with OS v0.3 + lima driver
#3

I have the same issue with beetle ngp

1 Like
#4

It says “custom_viewport_width” twice. Shouldn’t one of those two lines be “custom_viewport_height”? Which one?

EDIT 3: Please see a better solution below!


EDIT 2: This stretches the image horizontally.
EDIT: In my case the error was fixed by putting the following in my retroarch.cfg.

aspect_ratio_index = "23"
custom_viewport_height = "240"
custom_viewport_width = "320"
custom_viewport_x = "0"
custom_viewport_y = "0"
1 Like
#5

forgive my typo, I edited it.
Your config didn’t keep the aspect, yours stretch it. try mine.

#6

True. I didn’t notice. Silly me.
But still, It’s not centered and that bothers me. There has to be a way to fix this.

This is happening to me with every emulator, not just Game Boy.

EDIT: I got it!

adventureisland

(I took the screenshot through SSH with xwd -out screenshot.xwd -root -display :0.0 then got it from the GS through FTP and opened with GIMP for converting to JPEG)

The values I put in ~/.config/retroarch/config/Gambatte/Gambatte.cfg are:

 aspect_ratio_index = "5" # This is needed for Game Boy.
 video_scale = "1.6666"

And then in ~/.config/retroarch/retroarch.cfg:

aspect_ratio_index = "0"
custom_viewport_height = "0"
custom_viewport_width = "0"
custom_viewport_x = "0"
custom_viewport_y = "0"
video_fullscreen = "false"

The only quirk with this is that the surrounding space will be grey instead of black (this can be fixed by editing the “Loading” image of the GS, see below). Also, different consoles may need different scaling values, so you need to use the appropriate configuration file for each core you have. For example:

filestructure

In case somebody wants to do this, these are some scaling values I calculated:

Game Boy: 1.666 (also use aspect_ratio_index = "5")
Game Gear: 1.666
NES/SNES: 1.1

In order to calculate the scale for other consoles, use this formula:

1 / (realconsoleheight / 240)

So for the Game Boy, which has a real height in pixels of 144 px: 1 / (144 / 240) = 1.666....

And here is an image for placing in /home/cpi/launcher/sys.py/gameshell/wallpaper/loading.png that will work well with this method.

loading

#7

Did this issue occur in the previous images? I am curious to see if there was a config change in retroarch for this to occur.

#8

only when you use the lima driver on 0.3

1 Like
#9

I get this behavior on 0.3 on both lima and fbturbo drivers.

1 Like
#10

I recommend use this aspect_ratio_index. 1:1 is wrong for GameBoy.

#11

I tried 23, but then the screen is cropped again. :disappointed_relieved:

#12

I edited my original post. You can try.

#13

Simply setting the aspect ratio to 6:5 solves the issue too. Sure, it’s a little bit stretched from 1.11 to 1.2 to 1, but not too noticeable. This works for the Gameboy Color as well as the Neo Geo Pocket, which suffer from the same issue.

aspect_ratio_index = "12"
#14

Hope it could be solved easier in all emulator. I really want the aspect ratio 1:1 PAR. THANKS TO THE DEVELOPER!

#15

To solve the aspect ratio problem of emulators … should we do it one by one? Or is there any configuration in RetroArch “Universal” to solve this?

#16

Just adding to this.

I also experienced this after writing the newest os image to a new 128mb sd card so I could expand my storage.

It appears to be a retroarch issue. I am still doing research and may try to install an older version of retroarch to see if it fixes the issues.

PREINSTALLED_CLOCKWORKOS (Works without issue or need for any configuration changes)
ClockworkOS Image: Linux clockworkpi 4.14.2-clockworkpi-cpi3-g638f2a7 #1 SMP Mon Dec 10 07:46:56 UTC 2018 armv7l GNU/Linux
RetroArch: Frontend for libretro – v1.7.0 – 71b423c572 – Compiler: GCC (6.3.0) 32-bitBuilt: Feb 13 2018

CLOCKWORKOS_v0.3.IMG.BZ2 (Cannot fix using any of the various suggestions)
ClockworkOS Image: Linux clockworkpi 4.20.0-clockworkpi-cpi3-00001-ga2b7682c5366 #2 SMP Wed Jan 2 05:56:21 UTC 2019 armv7l GNU/Linux
RetroArch: Frontend for libretro – v1.7.5 Compiler: GCC (6.3.0) 32-bitBuilt: Jan 10 2019

#17

I find it incredible that with the problems that GameShell has in version 0.3 with RetroArch (which really is the soul of this machine), keep this version for too long without an official solution or without simply updating the system.
Much publicity gives them the websites with the Reviews but when it comes to the truth, end users can feel really abandoned.

#18

Okay so possibly not entirely a retroarch issue. I tried older versions of retroarch on OS v0.3 and still same issue. It ONLY happens after switching to lima, so something with the latest lima on v0.3 messing something up, and switching off of lima after the fact doesn’t seem to fix it either (it works fine on 0.3 before switching to lima). In v0.21 when you switch to lima this is not an issue.

I’ve rarely had any issues using v0.21 for anything, so looks like sticking with that is the best idea for now.

#19

lima in v0.21 doesn’t take effect. even if you enable lima, retroarch will use fbturbo to render graphic in v0.21. so you can always experience heat, graphic tearing, glitch, etc.