As of https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2d7105db755928fd908..., the image side can access native pixels only for "native Retina" scale factors as the platform code only considers the `backingScaleFactor`. Currently, this will only change between "1.0" and "2.0" depending on your display. Maybe at some day, there will be displays with "3.0". Who knows.
It would be nice if we could also support that other/older scaling, which mimicks other resolutions.
One small comment is that factors others than 1.0 or 2.0 are not an "older" form of scaling, but what latest MacOS does today on the latest apple hardware.
Anyway It seems it can not be done. See https://stackoverflow.com/questions/53551692/how-to-render-each-pixel-of-a-b... . Metal insists on an internal 2x buffer and resampling everything.
So, having a higher resolution in Smalltalk's Display than physical screen will waste some RAM and create slight downscaling artifacts, but it is indeed better than using lower resolution Smalltalk Display and have worse upscaling artifacts.
Besides, knowledgeable users can set their MacOS display to "half resolution" (actually the default) or use EasyRes or the like to set MacOS display to full retina resolution. Both this options give a Smalltalk display with true LCD physical resolution.
In short, I think the current behavior is the best we can have on MacOS.