I am connecting my server to my HDTV so that I can conveniently display it there. My VIZIO HDTV cuts off all 4 edges. I already realize it is not optimal to be running a GUI on a server; this server will not have much external traffic so I prefer it for convenience.

I have already spent countless hours searching for a fix, but all I could find required an ATI or NVIDIA graphics card, or didn’t work. In Windows, the Intel driver has a setting for underscan, though it seems only to be available by a glitch.

Here’s my specs:

  • Ubuntu Linux (Quantal 12.10) (Likely to switch to Arch)
  • This is a home server computer, with KDE for managing(for now, at least)
  • Graphics: Intel HD Graphics 4000 from Ivy Bridge
  • Motherboard: ASRock Z77 Extreme4
  • CPU: Intel Core i5-3450

My monitors:

  1. Dell LCD monitor
  2. Vizio VX37L_HDTV10A 37" on HDMI input

I have tried all of the following from both HDMI⇨HDMI and DVI⇨HDMI cables connected to the ports on my motherboard:

  1. Setting properties in xrandr
  2. Making sure drivers are all up to date
  3. Trying several different modes

The TV was “cheap”; max resolution 1080i. I am able to get a 1920x1080 modeline, in both GNU/Linux and Windows, without difficulty. There is no setting in the menu to fix the overscan (I have tried all of them, I realize it’s not always called overscan). I have been in the service menu for the TV, which still does not contain an option to fix it. No aspect ratio settings, etc. The TV has a VGA connector but I am unsure if it would fix it, as I don’t have a VGA cable long enough, and am not sure it would get me the 1920x1080 resolution which I want. Using another resolution does not fix the problem.

I tried custom modelines with the dimensions of my screen’s viewable area, but it wouldn’t let me use them.

Ubuntu apparently doesn’t automatically generate an xorg.conf file for use. I read somewhere that modifying it may help solve it. I tried X -configure several times(with reboots, etc.) but it consistently gave the following error messages:

In log file:

(WW) Falling back to old probe method for vesa
Number of created screens does not match number of detected devices.
Configuration failed.

In output:

(++) Using config file: "/root/xorg.conf.new"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Number of created screens does not match number of detected devices.
Configuration failed.
Server terminated with error (2).
Closing log file.

Tried using 'overscan' prop in xrandr:

root@xxx:/home/xxx# xrandr --output HDMI1 --set overscan off
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: 42
Current serial number in output stream: 42

'overscan on', 'underscan off', 'underscan on' were all also tried.

Originally tried with Ubuntu 12.04, but failed and so updated to 12.10 when it was released. All software is up to date.

Update: I just bought a new TV and the new one has plenty of options for fixing this, so for me it's resolved. Still interested to know of a solution for this absurd problem that shouldn't be though.

  • It looks like Ironlake and above Intel graphics cards have an overscan compensation (accessed on Linux by intel_panel_fitter) - so if you have a TV new enough to allow disabling overscan, or a processor new enough to compensate for a poorly designed TV, you're good. (But if you're like me and have an obsolete processor AND a problematic TV, you're out of luck...) Feb 14, 2015 at 0:17

6 Answers 6


I have the same problem, this trick works for me on an Intel HD 3000 with a cheap 720p Akira TV:

xrandr --output HDMI1 --set audio force-dvi --mode 1280x720
  • this works but break the audio output for me
    – Francesco
    Mar 19, 2017 at 14:40
  • Spent 20 minutes searching! This worked for me
    – michael
    Sep 22, 2017 at 19:36

First, install latest Intel driver.

Add the following to /etc/rc.local:

intel_panel_fitter -p A -x 1200 -y 670

and in the users .xprofile:

xrandr --output HDMI1 --transform 1.0,0,+1,0,1.0,+2,0,0,1

Now the picture goes through DVI -> HDMIAdapter -> Samsung TV.

Xrandrs transform option alone did not help.


It may be that your Intel graphics do not support the xrandr underscan - you can check this by trying:

xrandr --prop

...this should list the properties available, and report the status of things like underscan, if it exists.

Our Intel Celeron J1900 (SoC with graphics on chip) appears to be using the i915 kernel module and does not have many features on offer at all, according to xrandr. Not underscan, anyway. (sigh)

About to try 'xvidtune', but it comes with dire warnings of potential hardware damage...

Hope you find a solution!

  • xvidtune is not the answer, it seems. Have excercised it pretty thoroughly but to no avail. Ditto the xrandr --transform option. It may be that I've missed something, of course...
    – Flymo
    Jun 25, 2014 at 12:15

I've been having the exact same issue with my laptop with an Intel 4000 / NVidia GTX 680M setup. Due to this issue, I was booting to my windows drive just for watching movies and whatnot. Recently installed updates on my Windows side, and POOF!, couldn't adjust it there either...

I'm glad I fixed it at last: There was one particular setting on my TV that needed to be changed from it's default. It was buried pretty well in the menus and didn't know it was there until I was reading through my TV's manual to see if I could find more information to tune my graphics with.

There was an option in there that trimmed my display down to a perfect fit, and now everything looks perfect for me all around.

Just wanted to mention it in case you haven't gone through your TV settings thoroughly (I thought I had... THREE TIMES.) I feel really dumb for having LEARNED something from the manual for my TV, but I'm happy it's at least working properly now.


If you google overscan Vizio, you will see quite a few articles with help on this. I have an E260MV. The solution is in the TV settings.

On my model to disable overscan:

Menu - Wide - Normal



FWIW, I have a 2008-vintage Vizio 32" plasma VP322 (VP322HDTV10A), which did not have any usable option in the TV menus, did not expose an overscan property in xrandr --props, and only advertised a few modes in its EDID (either low-resolution 4:3 modes such as 800x600, or 16:9 higher-res modes with either 720 or 1080 lines).

After a bit of experimentation it turns out that the Vizio unconditionally overscanned when it saw one of the 720 or 1080 modes (labeling the output as e.g. 720p or 1080p), and it would NOT overscan for other modes (which it labeled as e.g .PC W x H), moreover it would easily recognize most modes (including e.g. 1280x768 and eve funky ones like 1200x700), as PC no-overscan modes, even if they were not advertised in its EDID.

So the following reuse of a mode that my laptop's LCD panel output already had (you can also define your own custom mode using cvt and xrandr --newmode) did the trick nicely, no overscan:

xrandr --addmode HDMI1 1366x768
xrandr --output HDMI1 --setmode 1366x768

Other people elsewhere had luck with different TVs by creating modes with non-standard pixel clocks (scan frequencies), but the principle was the same: circumvent "automatic" overscan decision logic in the TV that is not otherwise exposed via HDMI or TV menus.

Convincing the TV not to overscan should result in a much better image quality than xrandr --transform, which can cause visible aliasing and loss of effective resolution.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .