If it's using GLES as a backend, there's no need to add any software scaling, because a device with OpenGL drivers automatically works as a hardware scaler. You keep your viewport set at 320x240, and as long as you're setting your projection matrix correctly, it will downscale any conceivable resolution to whatever your viewport is. In this case, it is likely using an orthographic projection matrix. So, if it is not displaying correctly when the resoluton is set to 320x240 (only displaying one quadrant of the screen), that means something is wrong in the values its using setting up the projection matrix. It's probably somehow assuming you're still at a 640x480 viewport.