A Super Nintendo game outputs 256 × 224 pixels. On a 1920 × 1080 screen the emulator has to scale that image up: stretching it to fill the height means one source pixel covers 4.8 screen pixels — a non-integer number, so some pixels get duplicated and others do not. The result is a slightly uneven image, with some lines thicker than others.
The pixel perfect option (integer scale) fixes that: it only scales the image by a whole factor (2×, 3×, 4×…), the largest one that fits your resolution. Every source pixel becomes a perfect square of identical pixels.
START to open the MAIN MENU.IN-GAME SETTINGS.INTEGER SCALE (PIXEL PERFECT).The setting applies to every emulator that supports it, from the next game launch on.
In this mode the image no longer fills the whole screen: black borders appear around it. That is the price of sharpness. In the example above, a 256 × 224 image is scaled 4× (1024 × 896) rather than stretched to 1080 pixels tall.
SMOOTH GAMES, just above, applies bilinear filtering: it softens the image. If you are after the crisp, square look, turn it off — the two options fight each other.SHADERS SET (SCANLINES, RETRO, CRT CURVED) reproduces the look of a cathode-ray screen. It pairs very well with integer scaling, which gives it a regular grid to work on.GAME RATIO still matters: AUTO keeps the original aspect ratio of the game.On CRT outputs (Recalbox RGB Dual, RGB JAMMA) the question does not arise the same way: the output resolution already matches the game. Depending on the hardware, the option becomes HORIZONTAL INTEGER SCALE (scaling then only applies to the width) or disappears from the menu.
You can also enable pixel perfect for one system only, by adding a line to recalbox.conf — the system name prefixes the option and takes precedence over the global setting:
global.integerscale=0
snes.integerscale=1