I am using Lubuntu 17.04 wiht i3 window manager and trying to connect it to an old flat-screen TV that has an HDMI port. The TV remote is long gone and the only control buttons on the TV are volume and channels. It works fine as a monitor replacement but the problem is that it overscans. In other words, the edges of the screen are cut off, so there is no task bar, title bars, etc.. visible.

Is there a way to deal with the problem at a PC level? For example, somehow shrinking the output scope so that the entire output is seen on the TV screen?

Update:

Here is the part of the xrandr --verbose output that concerns the TV:

HDMI-1 connected 1920x1080+1280+0 (0x53) normal (normal left inverted right x axis y axis) 1616mm x 909mm
    Identifier: 0x42
    Timestamp:  23966
    Subpixel:   unknown
    Gamma:      1.0:1.0:1.0
    Brightness: 1.0
    Clones:    
    CRTC:       1
    CRTCs:      0 1
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
    EDID: 
        00ffffffffffff0034acc83101010101
        0d13010380a25b782a2471ae4c47aa26
        105054210800d1c08bc0818081c066c0
        4bc001000100023a801871382d40582c
        4500508d6300001e011d801871382d40
        582c4500508d6300001e000000fd003b
        3d0f4411000a202020202020000000fc
        004d45555350545631310a202020016e
        020328f1479022200504030123097f07
        834f00006c030c002100a82d00000000
        00e3050301e2007f011d803e73382d40
        7e2c4580508d6300001e011d8018711c
        1620582c2500508d6300009e011d0072
        51d01e206e285500508d6300001e8c0a
        d08a20e02d10103e9600508d63000018
        00000000000000000000000000000018
    aspect ratio: Automatic 
        supported: Automatic, 4:3, 16:9
    Broadcast RGB: Automatic 
        supported: Automatic, Full, Limited 16:235
    audio: auto 
        supported: force-dvi, off, auto, on
  1920x1080 (0x53) 148.500MHz +HSync +VSync *current +preferred
        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 (0x54) 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 (0x55) 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
  1920x1080 (0x56) 74.250MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.75KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  30.00Hz
  1920x1080 (0x57) 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 (0x58) 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 (0x59) 74.176MHz +HSync +VSync
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock  33.72KHz
        v: height 1080 start 1084 end 1089 total 1125           clock  29.97Hz
  1920x1080 (0x5a) 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
  1280x1024 (0x45) 108.000MHz +HSync +VSync
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock  63.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  60.02Hz
  1360x768 (0x5b) 84.963MHz -HSync +VSync
        h: width  1366 start 1431 end 1567 total 1776 skew    0 clock  47.84KHz
        v: height  768 start  771 end  781 total  798           clock  59.95Hz
  1280x720 (0x5c) 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 (0x5d) 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 (0x4a) 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
  1064x598 (0x5e) 50.843MHz -HSync +VSync
        h: width  1064 start 1104 end 1216 total 1368 skew    0 clock  37.17KHz
        v: height  598 start  599 end  602 total  619           clock  60.04Hz
  800x600 (0x4e) 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
  848x477 (0x5f) 31.318MHz -HSync +VSync
        h: width   848 start  864 end  952 total 1056 skew    0 clock  29.66KHz
        v: height  477 start  478 end  481 total  494           clock  60.03Hz
  720x480 (0x60) 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 (0x61) 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
  640x480 (0x62) 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 (0x51) 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
DP-1 disconnected (normal left inverted right x axis y axis)
    Identifier: 0x43
    Timestamp:  23966
    Subpixel:   unknown
    Clones:    
    CRTCs:      0 1
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
    Broadcast RGB: Automatic 
        supported: Automatic, Full, Limited 16:235
    audio: auto 
  • If you do xrandr --verbose, are there overscan related properties for the TV HDMI output? – dirkt Jun 26 '17 at 9:38
  • @dirkt nothing I can pinpoint to, but I updated the original post above to include the output of xrandr --verbose – Oposum Jun 27 '17 at 0:06
up vote 1 down vote accepted

While it is comparatively easy to change the border size for analog outputs with a custom modeline, due to the way HDMI works it will always transfer the complete framebuffer at the given resolution, and if the TV decides to only render part of it, then that's that.

You can have virtual screen solutions for a framebuffer which is bigger than the visible part, but that doesn't work for a framebuffer which is supposed to be smaller.

So there's no easy way.

Options:

You can try to switch to a different sreolution with xrandr, and hope the TV won't do overscan for this resolution.

The cleanest way to avoid the border would be to somehow configure the window manager to restrict windows to the center, ignoring a border of definable size. But I don't know any WM that can do this.

You can try to use a xrandr transformation, as your graphic card supports it:

xrandr --output HDMI-1 --transform 1.3,0,-100,0,1.3,-90,0,0,1

will scale by 1.3 in both x and y, and move 100 pixels to the left, and 90 pixels down. Play around with the number until it works for your overscan. However, this will still transfer pixels in the original resolution over HDMI, only the pixels are distorted and filtered, so this will reduce the quality of the output, and make text harder to read.

A completely different option is to try to find a universal remote that supports your TV brand and model, because often it's possible to disable the overscan in the TV menus.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.