Guide: Handheld Screen Settings for RG351 Devices

Last updated: 04FEB2021 (see Changelog for details)

There is a lot of different options available to you when you play handheld systems like the Game Boy or Game Gear on the RG351P or RG351M. So in this guide I’ll walk you through how to set up overlays, shaders, colorization, and ghosting in order to accurately recreate those original handheld systems.

Note that these instructions are specifically for the ArkOS and 351ELEC custom firmwares. If you are using the stock firmware, you can generally just follow the ArkOS instructions, but I would recommend you check out my firmware comparison guide and make the switch to one of these.

Table of Contents
Download and install overlays
Turn on overlays
Combine overlays with LCD shaders
Add Game Boy colorization
Add Game Boy / Game Boy Color ghosting
Putting it all together

Changelog

Download and install overlays

To get started, you will need to download this file which contains assets made by Reddit user Jdan-S and discord user ByEthanFox. This pack includes overlays for Game Boy, Game Boy Color, Game Gear, and Neo Geo Pocket (Color). Unzip the package and place your RG351 SD card into your computer via USB card reader. In your SD card’s bios folder, create a folder named “Overlays”, and add the overlay files (.cfg and .png files). Next, we’re going to make this our default overlay directory in RetroArch. to that it’s easy to find.

  • Open up RetroArch without loading a game.
    • In ArkOS, simply go to the RetroArch section and start up the RetroArch (not RetroArch32) option.
    • In 351ELEC, in the main EmulationStation menu, go to Quit > Start RetroArch.
  • When in RetroArch, go to Settings > Directory > Overlay, then navigate to roms > bios > Overlays > Use This Directory.
  • Back out to the Main Menu, then select Configuration File > Save Current Configuration
  • You can now quit out of RetroArch and start up a game.

Turn on overlays

To turn on an overlay, follow these steps:

ArkOS

  • Open a handheld game, such as a Game Boy Color game
  • Press SELECT + X to bring up the RetroArch Quick Menu
  • Press B to back out to the Main Menu, then go to Settings > Video > Scaling, and make sure that Integer Scaling is ON and that the Aspect Ratio is set to 1:1 PAR.
  • Press B to go back to the Video settings, and make sure that Bilinear Filtering and RGA Scaling are OFF.
  • Go back to the Quick Menu, then select On-Screen Overlay > Overlay Preset. This should take you to your Overlay folder. Pick the overlay you want to use (GBC in this instance). Back out to the Quick Menu, then resume the game and verify that it is working and that you like it.
  • If the overlay is not appearing, go into Quick Menu > On-Screen Overlays > Hide Overlay when Gamepad is Connected > OFF
  • To set it as default, press SELECT + X again to bring up the Quick Menu, then go to Overrides > Save Content Directory Overrides.
  • Quit RetroArch manually (by going to the Quit RetroArch option in the Main Menu) to make sure the saves stick.

351ELEC

  • In the main EmulationStation menu, press START then go to Games Settings > Per System Advanced Configuration and select whichever system you want to work on (Game Boy Color, for example).
  • Make sure that the following settings are applied:
Game Ratio: Square pixel
Smooth games: Auto or OFF
Integer scale: ON
RGA Scale: Auto or OFF
  • Open a handheld game, such as a Game Boy Color game
  • Press SELECT + X to bring up the RetroArch Quick Menu, then select On-Screen Overlay > Overlay Preset. This should take you to your Overlay folder. Pick the overlay you want to use (GBC in this instance). Back out to the Quick Menu, then resume the game and verify that it is working and that you like it.
  • If the overlay is not appearing, go into Quick Menu > On-Screen Overlays > Hide Overlay when Gamepad is Connected > OFF
  • To set it as default, press SELECT + X again to bring up the Quick Menu, then go to Overrides > Save Content Directory Overrides. If the Overrides option is not available, see the note below.
  • Quit RetroArch manually (by going to the Quit RetroArch option in the Main Menu) to make sure the saves stick.

Note that in the most recent versions of 351ELEC, the ability to save overrides has been disabled. To bring them back, go intro RetroArch without a game loaded, then go to Settings > User Interface > Menu Item Visibility > Quick Menu > Show Save Core Overrides > ON. You can also set Save Game Overrides > ON too if you’d like to set per-game overlays and shaders. Finally, go to the Main Menu > Configuration File > Save Current Configuration. Now you should be able to save overrides, and you will only have to do this step one time.

image courtesy of Reddit user Jdan-S

Combine overlays with LCD shaders

If you’d like to combine the overlay with a nice LCD shader (such as lcd3x or bevel) as you see above, follow these steps:

ArkOS

  • Open up a game in RetroArch. While connected to the internet, press SELECT + X to open the Quick Menu, then press B to back out to the main menu. Go to Online Updater > Update GLSL Shaders, and run the update in case you don’t have the shaders installed. If you have the shaders installed already, you can skip this step.
  • In the RetroArch Quick Menu, go to Shaders > Video Shaders > On, then go to Load Shader Preset > shaders_glsl > handheld > bevel or lcd3x
  • If you want to adjust the shader, go to Shaders > Shader Parameters and adjust the scanlines or LCD to your tastes. For example, I like to use the lcd3x shader with a shader brightness of 6.0 instead of the standard 4.0 — this gives a very subtle grid effect.
  • To set it as default, go to Shaders > Save > Save Content Directory Preset.
  • Quick RetroArch manually (by going to the Quit RetroArch option in the Main Menu) to make sure the saves stick.

351ELEC

  • Open up a RetroArch. While connected to the internet, press SELECT + X to open the Quick Menu, then press B to back out to the main menu. Go to Online Updater > Update GLSL Shaders, and run the update. You only need to do this one time.
  • In the main EmulationStation menu, press START then go to Games Settings > Per System Advanced Configuration and select whichever system you want to work on (Game Boy Color, for example).
  • Under the Shaders Set setting, select Shaders_GLSL/handheld/lcd3x or Shaders_GLSL/handheld/bevel. It’ll take a while to navigate all the way down, but you can press R2 to jump down pretty quickly.
  • If you want to adjust the shader, you have to do it in RetroArch. Open up the game, then press SELECT + X to open the Quick Menu, then go to Shaders > Shader Parameters and adjust the scanlines or LCD to your tastes. For example, I like to use the lcd3x shader with a shader brightness of 6.0 instead of the standard 4.0 — this gives a very subtle grid effect.
  • To set it as default, go to Shaders > Save > Save Content Directory Preset.

Add Game Boy colorization

Game Boy colorization can be achieved either through shaders or through the Gambatte core’s colorization options. Let’s work on shaders first:

The following shaders produce some interesting green Game Boy effects (examples above): 

handheld/gameboy
handheld/gb-palette-dmg
handheld/sameboy-dmg-response-time

If you’d like to create green colorization through the colorization options, follow these steps:

ArkOS

  • Open a handheld game, such as a Game Boy Color game
  • Press SELECT + X to bring up the RetroArch Quick Menu, then go to Options > GB Colorization > Internal. Next, go to Internal Palette > Special 1 and make sure that GBC Colorization is set to GBC Only. This will produce a night light green colorization. For colorization that is more in line with the original DMG display, set it to Options > GB Colorization > DMG.
  • To set it as default, press SELECT + X again to bring up the Quick Menu, then go to Overrides > Save Content Directory Overrides.
  • Quick RetroArch manually (by going to the Quit RetroArch option in the Main Menu) to make sure the saves stick.

351ELEC

  • In the main EmulationStation menu, press START then go to Games Settings > Per System Advanced Configuration and select Game Boy.
  • Under the Colorization setting, set it to SPECIAL 1. This will produce a night light green colorization. For colorization that is more in line with the original DMG display, set it to DMG.
  • If you don’t see them, open up a game in RetroArch. While connected to the internet, press SELECT + X to open the Quick Menu, then press B to back out to the main menu. Go to Online Updater > Update GLSL Shaders, and run the update in case you don’t have the shaders installed.

You can also add Super Game Boy (SGB) colorization if you’d like to recreate that effect (examples above). There are a total of 32 palettes to choose from:

image courtesy of Libretro

If you really want to get into the rabbit hole of colorization and palettes, check out this Libretro Doc on creating custom palettes.

Add Game Boy / Game Boy Color ghosting

LCD ghosting effects will recreate the original screen on the Game Boy. Some shaders can create this effect, but if you use the Gambatte RetroArch core (which is default), you can add it via options.

  • Go to Quick Menu > Options > Interframe Blending. There you will see two LCD ghosting effects:
    • LCD Ghosting (Accurate)
    • LCD Ghosting (Fast)
  • To set it as default, go to Overrides > Save Content Directory Overrides.
  • Quick RetroArch manually (by going to the Quit RetroArch option in the Main Menu) to make sure the saves stick.

These ghosting effects will result in performance gains compared to using a shader that provides ghosting. So I suggest you use these instead of trying to figure out how to get a perfect shader working. So putting it all together, you can set your preferred Colorization effect (Special 1 or DMG), add an lcd3x or bevel LCD Shader, and add ghosting through Interframe Blending.

image courtesy of Libretro

Color Correction

In addition to ghosting, the Gambatte RetroArch core also provides an accurate color correction for Game Boy Color games. This setting is found in Quick Menu > Options > Color Correction Mode and should already be set to “Accurate” by default in both ArkOS and 351ELEC. You can also adjust the “frontlight position” options within Color Correction Mode to tone down any harsh contrast in your current configuration.

Putting it all together

Hopefully this guide has given you all the tools you need to make a personalized experience for your device. Here are the settings that I prefer. They are by no means the “best” settings available, but they are my favorite. For example, I prefer the Special 1 colorization because it is subtle but still reminds me of the original screen.

SystemAspect RatioOverlayShaderNotes
Game Boy1:1 (PAR)GBlcd3xSpecial 1 colorization
LCD Ghosting (accurate)
shader brightness 6.0
Game Boy Color1:1 (PAR)GBClcd3xLCD Ghosting (fast)
shader brightness 6.0
color correction (accurate)
Game Boy Advance3:2Nolcd3xshader brightness 8.0
Game Gear1:1 (PAR)GGbevel
Neo Geo Pocket/Color1:1 (PAR)NGPbevel
Wonderswan/ColorCore ProvidedNoNone
Atari LynxCore ProvidedNoNone

Changelog

04FEB2021
– added extra NGPC overlay

28JAN2021
– published guide

12 thoughts on “Guide: Handheld Screen Settings for RG351 Devices

  1. Cool, I have a GBA emulator for my phone that makes it look like the original GBA. I’ve been using a ROM hack to colorize my Metroid 2 game, but this looks much nicer. In all honesty, I like what Retroid did by rounding out the pixels and giving the games a more appealing look. I remember how the originals look, but when you can have better I’ll take the upgrade any day.

    Like

    1. Great guide, I’m gonna try it soon. So far I had set up GB and GBA with shaders and ghosting, but integer scaling and overlays will probably be way more accurate.

      Do you have some solution to enhance PSX aspect? Pcsx enhanced resolution is too demanding for the choosey, and I can’t find a shader that does a bit of anti-aliasing… So PSX games look kind of meh…

      Like

    1. Macca, you’re not the only one. Whether doing the correct scaling or scrolling through the different ratios none of mine fit either. I DO remember my old Game Gear having a small screen, and I really don’t want to play Game Gear games that small ever again. Between me, you, and the fencepost I’m only going to do this for the original GameBoy because it looks cool. I’m enjoying playing my favorite games on a bigger screen, we used to put these ugly magnifiers on our handhelds with big adapters and weak lights. It’s not something I look back on fondly. The GameBoy setup looks awesome, and I’m glad Russ showed us how to do it.

      Like

  2. Hey Russ,
    Woke up this fine Saturday morning itching to tweak these settings into my 351. They’re great, so much nostalgia from the increased display accuracy, almost just like I remember from that distant, oh so very cool childhood. As a reference point I started with your settings and along the way I’ll surely find out my personal preferences but your suggestions certainly come very close to mine. I managed to implement them just fine except for Game Gear. Somehow when selecting 1:1 PAR and integer scaling, the image shrinks to post stamp size, not scaling correctly to the overlay. It’s probably something very easy I’m overlooking but bugs the hell out of me now that the other systems display perfectly within their respective overlays. If you or anyone else here has any idea on what causes this and how I can fix it, let me know.

    Great content as always, you wouldn’t believe the amount of fun I’m having through your extensive guides, knowledge and love for retro gaming. Keep it up!
    Vince, the Netherlands

    Like

  3. Hey Russ,
    a quick question about the overlays. My GB overlay appears a lot darker than the one in your pictures, so I did a little bit of searching in the options in the quick menu: I found On-Screen Overlay >> Overlay Opacity. My default value was 0.15 – for whatever reasons – it’s almost invisible! Which setting do you use?

    Like

  4. Hey Russ, it’s me again and something went wrong: Now I’ve got the GBC overlay on every home computer and/or console that doesn’t fill the screen. Do you know how to solve the problem? Thank you in advance and have a nice weekend.

    Like

  5. Hi Russ
    Great guides thank you. I can’t seem to get the Atari Lynx ratios right though.. Whenever I open the Retroarch menu in game, it rotates the screen 90 degrees! Any idea what I’m doing wrong?
    Keep up the good work!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s