How to adjust overscan on Le Patato running Raspbian?

I’m running Raspbian Buster by use of the portability script on Le Potato (AML-S905X-CC). Some settings in the /boot/config.txt control scan geometry. Specifically, the monitor overscans and has no means of turning that off. Where are the image geometry controls located in Raspbian Le Potato?

Try the standard Linux way with xrandr because Raspbian runs on X11:

Raspbian instructions involving config.txt will not work anywhere other than a Raspberry Pi.

Thanks for the link, but it’s not helpful. I visited it before asking the question and have been searching without success. As I said, my displays do not have a means of turning off overscan. The bulk of that link talks about how to turn off overscan on your monitor. Might work on yours, but not on mine. Actually, I have little control over what actual display monitor will be plugged in.

The closes I’ve come is with xrandr, but have found no combination of settings that fix the problem. Using the online modeline calculator (https://arachnoid.com/modelines/index.html) I got the compensated screen geometry,

Modeline “1920x1080_60.00” 185.49 1920 2048 2264 2672 1080 1081 1084 1157 -HSync +Vsync

Then I did…

xrandr --newmode “oscan” 185.49 1920 2048 2264 2672 1080 1081 1084 1157 -HSync +Vsync
xrandr --addmode HDMI-1 “oscan”
xrandr --output HDMI-1 --mode “oscan”

This did not make a visible change to the overscan. I don’t know what Raspberry Pi settings do to fix it, but they fix it perfectly.

Wrong link. This one.

Yes, I tried this a while ago because it looked like the silver bullet.

xrandr --output HDMI-1 --set underscan on

Here’s what I get…

pi@raspberrypi:~ $ xrandr --output HDMI-1 --set underscan on
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 11 (RRQueryOutputProperty)
Serial number of failed request: 24
Current serial number in output stream: 24

So xrandr on Le Potato doesn’t like the underscan property. It is not supported. So next I tried using transform with,

xrandr --output HDMI-1 --transform 0.80,0,-42,0,1.04,-19,0,0,1

I played with the scale and offset values, but couldn’t come up with anything that fits the screen and makes the display look right.

To fix the overscan, the scan lines have to pad the image with blank pixels on all sides. This probably means more effective pixels, but I don’t know how to make xrandr do that.

To be clear, do you have underscan or overscan? Is there a black border around your image on the monitor or is the sides and corners cut off?

I have overscan on the monitor. A black border wouldn’t be so bad. In my case, edges of the desktop are off the screen. All of the back/front horizontal/vertical porches are too small.

So I booted my Pi, and got its current xrandr mode – the one that works. I copied all the numbers and entered them as a modeline into xrandr on Le Potato. The screen goes black for a moment, and then returns. Monitor reports the mode as 1920 x 1080, but even though the Hn Vn numbers are different, the image is the same. It’s as if the driver simply doesn’t like the numbers its getting and ignores them.

One more note. I had some other video driver weirdness from the portability script. Namely little garbage dots were appearing on some window palettes. So I installed a stock Raspbian distro from the Libre website. This is what I’m working with now. The garbage dots went away and the video is working well.

Just tried Ambian, and it behaves the same. The modelines that are supposed to pad the active area don’t seem to work.

You should also mention what your display make and model is along with a dump of the edid.

So I did a xrandr --verbose on the Pi when the compensation was ON and again OFF. I saved the output in a text file and compared them. There is no difference in the “current” xrandr setting, but in the beginning, a margin of 48 is shown all around the image. I don’t know how to set that in xrandr. Here are the outputs of xrandr --verbose. They include the EDID dumps.

------------ OVERSCAN COMPENSATION TURNED OFF ---------------
pi@raspberrypi:~ $ xrandr --verbose
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 7680 x 7680
HDMI-1 connected primary 1920x1080+0+0 (0x49) normal (normal left inverted right x axis y axis) 760mm x 450mm
	Identifier: 0x45
	Timestamp:  36689
	Subpixel:   unknown
	Gamma:      1.0:1.0:1.0
	Brightness: 1.0
	Clones:    
	CRTC:       0
	CRTCs:      0
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	EDID: 
		00ffffffffffff006318000001010101
		06160103800000780ad7a5a2594a9624
		145054adce0001010101010101010101
		010101010101662150b051001b304070
		3600f8c22100001e0e1f008051001e30
		40803700f8c22100001c000000fc0057
		5847412054560a2020202020000000fd
		00324c1e410b000a2020202020200114
		020326f1509005040203060711121314
		15161f01202309070783010000e2000f
		65030c002000023a801871382d40582c
		450070ea3100001e011d8018711c1620
		582c2500f4191100009e8c0ad08a20e0
		2d10103e960058c2210000188c0ad08a
		20e02d10103e960020c2310000180000
		00000000000000000000000000000017
	max bpc: 8 
		range: (8, 12)
	bottom margin: 0 
		range: (0, 100)
	top margin: 0 
		range: (0, 100)
	right margin: 0 
		range: (0, 100)
	left margin: 0 
		range: (0, 100)
	Colorspace: Default 
		supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
	link-status: Good 
		supported: Good, Bad
	CONNECTOR_ID: 32 
		supported: 32
	non-desktop: 0 
		range: (0, 1)
  1360x768 (0x48) 85.500MHz +HSync +VSync +preferred
        h: width  1360 start 1424 end 1536 total 1792 skew    0 clock  47.71KHz
        v: height  768 start  771 end  777 total  795           clock  60.02Hz
  1920x1080 (0x49) 148.500MHz +HSync +VSync *current
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  60.00Hz
  1920x1080 (0x4a) 148.500MHz +HSync +VSync
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  56.25KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  50.00Hz
  1920x1080 (0x4b) 148.352MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.43KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  59.94Hz
  1920x1080i (0x4c) 74.250MHz +HSync +VSync Interlace
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.75KHz
        v: height 1080 start 1084 end 1094 total 1125           clock  60.00Hz
  1920x1080i (0x4d) 74.250MHz +HSync +VSync Interlace
        h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  28.12KHz
        v: height 1080 start 1084 end 1094 total 1125           clock  50.00Hz
  1920x1080 (0x4e) 74.250MHz +HSync +VSync
        h: width  1920 start 2558 end 2602 total 2750 skew    0 clock  27.00KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  24.00Hz
  1920x1080i (0x4f) 74.176MHz +HSync +VSync Interlace
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.72KHz
        v: height 1080 start 1084 end 1094 total 1125           clock  59.94Hz
  1920x1080 (0x50) 74.176MHz +HSync +VSync
        h: width  1920 start 2558 end 2602 total 2750 skew    0 clock  26.97KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  23.98Hz
  1280x768 (0x51) 79.500MHz -HSync +VSync
        h: width  1280 start 1344 end 1472 total 1664 skew    0 clock  47.78KHz
        v: height  768 start  771 end  778 total  798           clock  59.87Hz
  1280x720 (0x52) 74.250MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  45.00KHz
        v: height  720 start  725 end  730 total  750           clock  60.00Hz
  1280x720 (0x53) 74.250MHz +HSync +VSync
        h: width  1280 start 1720 end 1760 total 1980 skew    0 clock  37.50KHz
        v: height  720 start  725 end  730 total  750           clock  50.00Hz
  1280x720 (0x54) 74.176MHz +HSync +VSync
        h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  44.96KHz
        v: height  720 start  725 end  730 total  750           clock  59.94Hz
  1024x768 (0x55) 78.750MHz +HSync +VSync
        h: width  1024 start 1040 end 1136 total 1312 skew    0 clock  60.02KHz
        v: height  768 start  769 end  772 total  800           clock  75.03Hz
  1024x768 (0x56) 75.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1328 skew    0 clock  56.48KHz
        v: height  768 start  771 end  777 total  806           clock  70.07Hz
  1024x768 (0x57) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  800x600 (0x58) 50.000MHz +HSync +VSync
        h: width   800 start  856 end  976 total 1040 skew    0 clock  48.08KHz
        v: height  600 start  637 end  643 total  666           clock  72.19Hz
  800x600 (0x59) 49.500MHz +HSync +VSync
        h: width   800 start  816 end  896 total 1056 skew    0 clock  46.88KHz
        v: height  600 start  601 end  604 total  625           clock  75.00Hz
  800x600 (0x5a) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  720x576 (0x5b) 27.000MHz -HSync -VSync
        h: width   720 start  732 end  796 total  864 skew    0 clock  31.25KHz
        v: height  576 start  581 end  586 total  625           clock  50.00Hz
  720x576i (0x5c) 13.500MHz -HSync -VSync Interlace
        h: width   720 start  732 end  795 total  864 skew    0 clock  15.62KHz
        v: height  576 start  580 end  586 total  625           clock  50.00Hz
  720x480 (0x5d) 27.027MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.50KHz
        v: height  480 start  489 end  495 total  525           clock  60.00Hz
  720x480 (0x5e) 27.000MHz -HSync -VSync
        h: width   720 start  736 end  798 total  858 skew    0 clock  31.47KHz
        v: height  480 start  489 end  495 total  525           clock  59.94Hz
  720x480i (0x5f) 13.514MHz -HSync -VSync Interlace
        h: width   720 start  739 end  801 total  858 skew    0 clock  15.75KHz
        v: height  480 start  488 end  494 total  525           clock  60.00Hz
  720x480i (0x60) 13.500MHz -HSync -VSync Interlace
        h: width   720 start  739 end  801 total  858 skew    0 clock  15.73KHz
        v: height  480 start  488 end  494 total  525           clock  59.94Hz
  640x480 (0x61) 31.500MHz -HSync -VSync
        h: width   640 start  656 end  720 total  840 skew    0 clock  37.50KHz
        v: height  480 start  481 end  484 total  500           clock  75.00Hz
  640x480 (0x62) 31.500MHz -HSync -VSync
        h: width   640 start  664 end  704 total  832 skew    0 clock  37.86KHz
        v: height  480 start  489 end  492 total  520           clock  72.81Hz
  640x480 (0x63) 25.200MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.50KHz
        v: height  480 start  490 end  492 total  525           clock  60.00Hz
  640x480 (0x64) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz
  720x400 (0x65) 28.320MHz -HSync +VSync
        h: width   720 start  738 end  846 total  900 skew    0 clock  31.47KHz
        v: height  400 start  412 end  414 total  449           clock  70.08Hz
HDMI-2 disconnected (normal left inverted right x axis y axis)
	Identifier: 0x46
	Timestamp:  36689
	Subpixel:   unknown
	Clones:    
	CRTCs:      4
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	max bpc: 8 
		range: (8, 12)
	bottom margin: 0 
		range: (0, 100)
	top margin: 0 
		range: (0, 100)
	right margin: 0 
		range: (0, 100)
	left margin: 0 
		range: (0, 100)
	Colorspace: Default 
		supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
	link-status: Good 
		supported: Good, Bad
	CONNECTOR_ID: 40 
		supported: 40
	non-desktop: 0 
		range: (0, 1)
pi@raspberrypi:~ $
> ------------ OVERSCAN COMPENSATION TURNED ON ---------------
> pi@raspberrypi:~ $ xrandr --verbose
> Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 7680 x 7680
> HDMI-1 connected primary 1920x1080+0+0 (0x49) normal (normal left inverted right x axis y axis) 760mm x 450mm
> 	Identifier: 0x45
> 	Timestamp:  37224
> 	Subpixel:   unknown
> 	Gamma:      1.0:1.0:1.0
> 	Brightness: 1.0
> 	Clones:    
> 	CRTC:       0
> 	CRTCs:      0
> 	Transform:  1.000000 0.000000 0.000000
> 	            0.000000 1.000000 0.000000
> 	            0.000000 0.000000 1.000000
> 	           filter: 
> 	EDID: 
> 		00ffffffffffff006318000001010101
> 		06160103800000780ad7a5a2594a9624
> 		145054adce0001010101010101010101
> 		010101010101662150b051001b304070
> 		3600f8c22100001e0e1f008051001e30
> 		40803700f8c22100001c000000fc0057
> 		5847412054560a2020202020000000fd
> 		00324c1e410b000a2020202020200114
> 		020326f1509005040203060711121314
> 		15161f01202309070783010000e2000f
> 		65030c002000023a801871382d40582c
> 		450070ea3100001e011d8018711c1620
> 		582c2500f4191100009e8c0ad08a20e0
> 		2d10103e960058c2210000188c0ad08a
> 		20e02d10103e960020c2310000180000
> 		00000000000000000000000000000017
> 	max bpc: 8 
> 		range: (8, 12)
> 	bottom margin: 48 
> 		range: (0, 100)
> 	top margin: 48 
> 		range: (0, 100)
> 	right margin: 48 
> 		range: (0, 100)
> 	left margin: 48 
> 		range: (0, 100)
> 	Colorspace: Default 
> 		supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
> 	link-status: Good 
> 		supported: Good, Bad
> 	CONNECTOR_ID: 32 
> 		supported: 32
> 	non-desktop: 0 
> 		range: (0, 1)
>   1360x768 (0x48) 85.500MHz +HSync +VSync +preferred
>         h: width  1360 start 1424 end 1536 total 1792 skew    0 clock  47.71KHz
>         v: height  768 start  771 end  777 total  795           clock  60.02Hz
>   1920x1080 (0x49) 148.500MHz +HSync +VSync *current
>         h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.50KHz
>         v: height 1080 start 1084 end 1089 total 1125           clock  60.00Hz
>   1920x1080 (0x4a) 148.500MHz +HSync +VSync
>         h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  56.25KHz
>         v: height 1080 start 1084 end 1089 total 1125           clock  50.00Hz
>   1920x1080 (0x4b) 148.352MHz +HSync +VSync
>         h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  67.43KHz
>         v: height 1080 start 1084 end 1089 total 1125           clock  59.94Hz
>   1920x1080i (0x4c) 74.250MHz +HSync +VSync Interlace
>         h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.75KHz
>         v: height 1080 start 1084 end 1094 total 1125           clock  60.00Hz
>   1920x1080i (0x4d) 74.250MHz +HSync +VSync Interlace
>         h: width  1920 start 2448 end 2492 total 2640 skew    0 clock  28.12KHz
>         v: height 1080 start 1084 end 1094 total 1125           clock  50.00Hz
>   1920x1080 (0x4e) 74.250MHz +HSync +VSync
>         h: width  1920 start 2558 end 2602 total 2750 skew    0 clock  27.00KHz
>         v: height 1080 start 1084 end 1089 total 1125           clock  24.00Hz
>   1920x1080i (0x4f) 74.176MHz +HSync +VSync Interlace
>         h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.72KHz
>         v: height 1080 start 1084 end 1094 total 1125           clock  59.94Hz
>   1920x1080 (0x50) 74.176MHz +HSync +VSync
>         h: width  1920 start 2558 end 2602 total 2750 skew    0 clock  26.97KHz
>         v: height 1080 start 1084 end 1089 total 1125           clock  23.98Hz
>   1280x768 (0x51) 79.500MHz -HSync +VSync
>         h: width  1280 start 1344 end 1472 total 1664 skew    0 clock  47.78KHz
>         v: height  768 start  771 end  778 total  798           clock  59.87Hz
>   1280x720 (0x52) 74.250MHz +HSync +VSync
>         h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  45.00KHz
>         v: height  720 start  725 end  730 total  750           clock  60.00Hz
>   1280x720 (0x53) 74.250MHz +HSync +VSync
>         h: width  1280 start 1720 end 1760 total 1980 skew    0 clock  37.50KHz
>         v: height  720 start  725 end  730 total  750           clock  50.00Hz
>   1280x720 (0x54) 74.176MHz +HSync +VSync
>         h: width  1280 start 1390 end 1430 total 1650 skew    0 clock  44.96KHz
>         v: height  720 start  725 end  730 total  750           clock  59.94Hz
>   1024x768 (0x55) 78.750MHz +HSync +VSync
>         h: width  1024 start 1040 end 1136 total 1312 skew    0 clock  60.02KHz
>         v: height  768 start  769 end  772 total  800           clock  75.03Hz
>   1024x768 (0x56) 75.000MHz -HSync -VSync
>         h: width  1024 start 1048 end 1184 total 1328 skew    0 clock  56.48KHz
>         v: height  768 start  771 end  777 total  806           clock  70.07Hz
>   1024x768 (0x57) 65.000MHz -HSync -VSync
>         h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
>         v: height  768 start  771 end  777 total  806           clock  60.00Hz
>   800x600 (0x58) 50.000MHz +HSync +VSync
>         h: width   800 start  856 end  976 total 1040 skew    0 clock  48.08KHz
>         v: height  600 start  637 end  643 total  666           clock  72.19Hz
>   800x600 (0x59) 49.500MHz +HSync +VSync
>         h: width   800 start  816 end  896 total 1056 skew    0 clock  46.88KHz
>         v: height  600 start  601 end  604 total  625           clock  75.00Hz
>   800x600 (0x5a) 40.000MHz +HSync +VSync
>         h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
>         v: height  600 start  601 end  605 total  628           clock  60.32Hz
>   720x576 (0x5b) 27.000MHz -HSync -VSync
>         h: width   720 start  732 end  796 total  864 skew    0 clock  31.25KHz
>         v: height  576 start  581 end  586 total  625           clock  50.00Hz
>   720x576i (0x5c) 13.500MHz -HSync -VSync Interlace
>         h: width   720 start  732 end  795 total  864 skew    0 clock  15.62KHz
>         v: height  576 start  580 end  586 total  625           clock  50.00Hz
>   720x480 (0x5d) 27.027MHz -HSync -VSync
>         h: width   720 start  736 end  798 total  858 skew    0 clock  31.50KHz
>         v: height  480 start  489 end  495 total  525           clock  60.00Hz
>   720x480 (0x5e) 27.000MHz -HSync -VSync
>         h: width   720 start  736 end  798 total  858 skew    0 clock  31.47KHz
>         v: height  480 start  489 end  495 total  525           clock  59.94Hz
>   720x480i (0x5f) 13.514MHz -HSync -VSync Interlace
>         h: width   720 start  739 end  801 total  858 skew    0 clock  15.75KHz
>         v: height  480 start  488 end  494 total  525           clock  60.00Hz
>   720x480i (0x60) 13.500MHz -HSync -VSync Interlace
>         h: width   720 start  739 end  801 total  858 skew    0 clock  15.73KHz
>         v: height  480 start  488 end  494 total  525           clock  59.94Hz
>   640x480 (0x61) 31.500MHz -HSync -VSync
>         h: width   640 start  656 end  720 total  840 skew    0 clock  37.50KHz
>         v: height  480 start  481 end  484 total  500           clock  75.00Hz
>   640x480 (0x62) 31.500MHz -HSync -VSync
>         h: width   640 start  664 end  704 total  832 skew    0 clock  37.86KHz
>         v: height  480 start  489 end  492 total  520           clock  72.81Hz
>   640x480 (0x63) 25.200MHz -HSync -VSync
>         h: width   640 start  656 end  752 total  800 skew    0 clock  31.50KHz
>         v: height  480 start  490 end  492 total  525           clock  60.00Hz
>   640x480 (0x64) 25.175MHz -HSync -VSync
>         h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
>         v: height  480 start  490 end  492 total  525           clock  59.94Hz
>   720x400 (0x65) 28.320MHz -HSync +VSync
>         h: width   720 start  738 end  846 total  900 skew    0 clock  31.47KHz
>         v: height  400 start  412 end  414 total  449           clock  70.08Hz
> HDMI-2 disconnected (normal left inverted right x axis y axis)
> 	Identifier: 0x46
> 	Timestamp:  37224
> 	Subpixel:   unknown
> 	Clones:    
> 	CRTCs:      4
> 	Transform:  1.000000 0.000000 0.000000
> 	            0.000000 1.000000 0.000000
> 	            0.000000 0.000000 1.000000
> 	           filter: 
> 	max bpc: 8 
> 		range: (8, 12)
> 	bottom margin: 0 
> 		range: (0, 100)
> 	top margin: 0 
> 		range: (0, 100)
> 	right margin: 0 
> 		range: (0, 100)
> 	left margin: 0 
> 		range: (0, 100)
> 	Colorspace: Default 
> 		supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
> 	link-status: Good 
> 		supported: Good, Bad
> 	CONNECTOR_ID: 40 
> 		supported: 40
> 	non-desktop: 0 
> 		range: (0, 1)
> pi@raspberrypi:~ $

Here’s the diff file…

1c1
< ------------ OVERSCAN COMPENSATION TURNED OFF ---------------
---
> ------------ OVERSCAN COMPENSATION TURNED ON ---------------
6c6
< 	Timestamp:  36689
---
> 	Timestamp:  37224
36c36
< 	bottom margin: 0 
---
> 	bottom margin: 48 
38c38
< 	top margin: 0 
---
> 	top margin: 48 
40c40
< 	right margin: 0 
---
> 	right margin: 48 
42c42
< 	left margin: 0 
---
> 	left margin: 48 
144c144
< 	Timestamp:  36689
---
> 	Timestamp:  37224

I couln’t find anything in “fbset -i”. Both Pi outputs show the same info.

Changing margins in fbset does nothing.

Boot the Ubuntu desktop images and try to compensate for the overscan in Gnome display settings to see if it’s a fixable issue or it’s a timing availability issue.

I looked and couldn’t find anything relevant there.

There’s a couple of things to understand first.

You have fbcon which is the framebuffer console or you have X11 which is what all the pretty stuff runs in or you have wayland which is the other system in which all the pretty stuff runs in.

For fbcon, this is non-fixable. Get another monitor that properly doesn’t underscan.
For X11, you can use transforms via xrandr to scale the image down to the window that the monitor scans. This is what you were attempting before.

xrandr --output HDMI-1 --transform 1.3,0,-100,0,1.3,-90,0,0,1
xrandr --output HDMI-1 --set underscan on --set "underscan vborder" 20 --set "underscan hborder" 35

Also your monitor’s preferred EDID is 1360x768 (0x48) 85.500MHz +HSync +VSync +preferred

What exactly is the make and model of the monitor?

Thank you for taking the time to help me with this.

Make and model of the monitor is Proscan PLEDV1945A-C. This is not relevant because I have no control over what monitors will be connected in a larger distribution system. I need to be able to compensate for overscan monitors that will likely show up.

The “underscan” property is not supported in either Armbian or Raspbian on the AML-S905X-CC. I tried that. It returns an error and does nothing. From what I read, the availability of this feature depends on the video driver.

I was able to fix my problem but it’s not a pretty fix. From Dan Henderson, Output video to overscanning TV with Intel graphics - Unix & Linux Stack Exchange

I used these two commands to compensate for my monitor’s overscan perfectly.

xrandr --output HDMI-1 --transform 1,0,-40,0,1,-25,0,0,1 --panning 1920x1080+40+20
xrandr --output HDMI-1 --fb 1815x1015 --transform 1,0,-50,0,1,-25,0,0,1 --panning 1920x1080+55+40

Dan is right. You would think all you need is the second command, but that doesn’t work by itself.

The reason this is not a pretty fix is because it throws and error, but goes ahead and does it anyway. Here’s the error,

xrandr: specified screen 1815x1015 not large enough for output HDMI-1 (1920x1080+-50+-25)
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  29 (RRSetPanning)
  Serial number of failed request:  27
  Current serial number in output stream:  27

It’s possible to adjust the margins by adjusting the frame buffer size and the offsets in the transform and panning parameters.

It’s fixed for now, but it’s likely some future release will refuse to comply with this hack panning setting.

We have ongoing work with our consultancy to improve upstream video modes support for AML-S905X-CC. Hopefully it bears fruit in the future.

These SoCs need to be able to generate proper clocks to synchronize the video with a display and certain frequencies require certain hacks while others will not work at all. Your current best bet is scaling video within a known and supported frequency.

The kernel driver is what determines the video mode support so it doesn’t really matter whether you are using Raspbian or Ubuntu or Debian. The only time you may see a difference is against vendor SDK kernels in projects like CoreELEC.

1 Like

I read this whole thread. I too have the same issue. I even tried to implement xandr, but I get an error when I try using that.

I was dumbfounded when I read that OPs monitor was a Proscan! I have the same trouble and my monitor is a Proscan PLEDV2488a…so before you get to excited about helping me, I am going to try a grid monitor first.

I will note that this scanning issue only cropped up with Buster and Bullseye. Wheezy, Jessie, and Stretch all worked fine on the PLEDV2488a. I originally thought it was the pi4 that caused the scanning problem, but when I installed the 64bit Bullseye on my pi3b+, the scanning problem popped up.
The real issue is that I like the monitor because it’s a 12v model and I live off grid, so it’s very convenient when I get an idea and don’t want to start the generator to power the larger computers.

Yay! I switched to a Phillips 19PFL3504D/F7, and was rewarded with immediate success.

I can now read the screen enough to make adjustments.
I will probably see about learning xrandr now.