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



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!

Temporary work around:

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

put in file:

Emulators tested with OS v0.3 + lima driver

I have the same issue with beetle ngp


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"


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


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!


(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:


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

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/ that will work well with this method.



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.


only when you use the lima driver on 0.3


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


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


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


I edited my original post. You can try.


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"


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


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?