Is there a catch-all means to ensure unfiltered point scaling?

I find in some cores (higan) I’m seeing point scaling (or “nearest neighbor”), but in others (Gambatte) I’m seeing bilinear scaling.

Is there some mix of settings that will fill my display in fullscreen, with the correct aspect ratio, and only use unfiltered scaling for all cores?

My deep appreciation to anyone who can help. :slight_smile:

The cores shouldn’t be affecting filtering in any way. That’s all in the frontend. If you’re getting different behavior with different cores, my guess is that you’re using core-specific configs or overrides and your filtering is set wrong in some of those configs.

If you don’t have integer scaling turned on, RetroArch defaults to filling the screen on the y-axis and the x-axis size is determined by your aspect ratio settings. Core-provided aspect is a good default, as it will give you 4:3 on most cores that were originally shown on TVs and 1:1 PAR on (most) handhelds.

Thank you for the reply! Using the “Core Provided” aspect ratio worked (I…think?).

Here are my pertinent settings for posterity:

Force Aspect Ratio: ON Auto Aspect Ratio: OFF Aspect Ratio Index: Core provided Integer Scale: OFF HW Bilinear Filtering: OFF

With integer scale off, I recommend using the pixellate shader so you get even sized pixels. Some pixels appear wider or longer than they should without integer scaling. Pixellate does a subtle sub-pixel blur that makes them all appear the same size. Megaman’s health bar is a good example to show the difference:

Scaled to 1080p without pixellate:

Scaled to 1080p with pixellate:

Very interesting, I’ll check it out. Thanks for the insight!

There are a couple of other shaders that do something similar. Try AANN (antialiased nearest-neighbor) and sharp-bilinear, as well, and see what works best for you.

Will try these as well! Thanks again hunterk for being a great help.