Now I’m finding that the picture is substantially overscanned, the text at the bottom and top of the screen is significantly cut off, and in full screen situations the left and right are also cut off.
I’ve tried to read some posts about manually editing settings in the fb0 directory, such as this post here: EmuELEC 4.3 1280x800 overscan, but I can’t understand what they’re doing exactly, and therefore cannot modify exactly what they’re doing to work for my setup.
I guess I have two questions:
Is the current state of the picture really “640 x 480” exactly, and my TV is displaying it wrong, or
If the current picture is being stretched, how do I fix it so that it displays 1:1?
@Drambemu Hello again,
You have to do two things, since your tv operates in widescreen mode the internal resolution probably need to in WS mode as well. You can do this with the following command in SSH:
The TV isnt widescreen it receives the signal at 720x480 which is why you had to resize the screen to fit, what this does though is effectively squashes the aspect, so if you have an internal resolution in widescreen with the scaling it should (theoretically) make the ratio closer to 4:3 which is what you want.
You could even drop the native wide resolution to lower then 1080p say 480p but the ES text may appear quite big because it does not scale properly. You could try 720x480 and see if that works with:
By default if you havent changed it the internal resolution for cvbs is 1024x768:
Moving the borders with ee_videowindow effectively rescales the width and height, but does not keep uniformity unless it’s calculated into the adjustments manually. This should roughly keep the aspect ratio of 4:3 if you left the default res of 1024x768.
You can do that too. However, bear in mind when ES loads the font wont scale with the lower resolution so the text descriptions may appear quite large. 800x600 may be a little better for the ES display, up to you really. All the 4:3 resolutions (1024x768, 800x600, 640x480) all will use the same resizing values which is:
ee_videowindow does not simply transform the image by moving it across. it instead sqaushes the image. NTSC widescreen appears to the tv as 720x480 but your tv is only showing a portion of it (about 610x405 pixels), the ee_videowindow command the squashes it 55 pixels from the left and 13 from the top. It’s this function which disrupts the display ratio somewhat if you are not taking into account preserving the 4:3 aspect ratio.
If it did not squash the image and simply moved it, the 640x480 display would be off-screen still except to the right, like your left problem your having.
If you set the resolution to other than cvbs dont forget to disable with # at the start or remove the ee_videowindow option in your emuelec.conf.
I can confirm that setting internal and external resolutions to 640x480 did not fix the problem at all, and in fact appeared to have exactly the same result regardless of the presence of the ee_videowindow 10 5 command.
NTSC widescreen appears to the tv as 720x480 but your tv is only showing a portion of it (about 610x405 pixels
If I understand what you’re saying, the TV is actually “4:3” but due to the way it scans, the visible portion of the screen is 3:2, therefore rendering as 720x480, which is 3:2, is much closer to the actual shape of the visible screen?
I don’t understand why we are dealing with widescreen in any way, shape, or form, this is not a widescreen television and the original PSX content is certainly not widescreen either.
What is the point in rendering widescreen then squishing it into 4:3 when you can just render as 4:3 instead?
I suppose the options at this point are trying to find the exact render resolution that fits the TV, or squashing more accurately, as the previous sqaush was not enough and text at the bottom of the screen was visibly cut off still.
Is there any good reason not to render at very close to the visible resolution of the TV and just shift it into place without squishing?
check the /emuelec/configs/emuelec.conf file for lines that start with ee_videowindow, maybe you have another record which is overriding your other values you supply.
ee_videowindow you can transform the window without scaling by supplying 4 values. Hang on I just realized my values earlier were wrong, try:
echo “ee_videowindow=55 13 605 453” >> /emuelec/configs/emuelec.conf
These latest settings you gave me to try have catastrophic problems with these default settings mentioned in the picture. With the 640x480 settings it didn’t appear to do anything. I’ll try reverting though just to be sure.
I think the script you are using has a bug in the way it uses those values.
If you want to change the internal resolution you should add the numbers in /storage/.config/cvbs_resolution.txt for example: “640 480”
Then if you want to shift or scale the screen use the ee_videowindow variable with 2 numbers for uniform shift and scaling (X,Y), or 4 digits for (X, Y, Width, Height). In /emuelec/configs/emuelec.conf:
If you supplied say:
That should shift the image right and preserve ratios, but you will have the bottom cropped and left and right possibly be cropped too. So you have to resize it and to preserve the ratio 4:3 what you do to the X-dimension you have to apply the same ratio to Y-dimension.
If I have done the math correct that should shift and preserve ratio, It is numerically impossible to shift the screen and have it fit exact in the screen and preserving ratio at the same time. Your welcome to adjust the values in ee_videowindow to try but I’m quite sure some stretching will occur or black borders to fit within the screen.
Dont change the values in setres.sh unless you know what your are doing.
Shouldn’t these two files directly contradict each other then? I don’t see why I shouldn’t just delete setres.sh if it is dictating contradictory settings. There’s no way it’s a good idea for setres.sh to be indicating internal res of 1280x960, scaled res of 720x480, and the other file to 640x480, then another scaling with videowindow.
Resetting setres.sh to default values, then putting 640 480 in the cvbs_resolution.txt file, with the ee_videowindow command you recommended, caused similar corruption seen above.
When you put setres.sh in /emuelec/bin it overrides the one provided by the system. You should change anything in setres.sh, it’s not designed to be editable to end users.
You should only be using cvbs_resolution.txt to change the internal resolution and ee_videowindow to make display adjustments and that is all.
I have no idea what you are doing or have done but if your getting a corrupt picture its the wrong thing.