Fix overscan in Linux with Intel graphics Vizio HDTV

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.


Solution 1:

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

Solution 2:

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.

Solution 3:

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!