HDMI video connection cuts top and bottom borders of screen
- by Luis Alvarado
Ok this is an extension of another problem I had with a VGA connection and an Nvidia Geforce GT 440 card. Here is goes the explanation of this particular problem:
I have a Soneview 32' TV. This TV has many connections including VGA (First reason I bought it), HDMI (Second reason but did not have a HDMI cable at that time) and DVI.
I have had this TV for little over a month now, actually I had it to celebrate the release of Ubuntu 11.10 and started using it exactly on that date (I know too much fan there but hey, I like geek stuff). I started using it with the VGA cable. After 2 weeks I bought an Nvidia GT440 card. The previous 9500GT was working correctly with no problems whatsoever.
I installed the GT440 and the first problem that I encountered using this latest card is mentioned here: Nvidia GT 440 black screen problem when loading lightdm greeter. The solution to this problem was to actually disconnect then connect again the VGA cable. This would result in the screen showing me the lightdm screen for my login. If I did not disconnect then connect the cable I could be there forever thinking that there is no video signal.
I got tired of looking for answers that did not work and for solutions that made me literally have to install Ubuntu again. I just went and bought a HDMI cable and changed the VGA one for that one. It worked and I did not have to disconnect/connect the cable but now I have this problem when using any resolution. My normal resolution is 1920x1080 (This TV is 1080HD) so in VGA I could use this resolution with no problem, but on HDMI am getting the borders cut out. Here is a pic:
As you can see from the PIC, the Launcher icons only show less than 50% of their witdh. Forget about the top and bottom parts, I can access them with the mouse but I can not visualize them in the screen. It is like it's outside of the TVs view. Basically there is like 20 to 30 pixels gone from all sides.
I searched around and came to running xrand --verbose to see what it could detect from the TV. I got this:
cyrex@cyrex:~$ xrandr --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 320 x 175, current 1920 x 1080, maximum 1920 x 1080
default connected 1920x1080+0+0 (0x164) normal (normal) 0mm x 0mm
Identifier: 0x163
Timestamp: 465485
Subpixel: unknown
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:
1920x1080 (0x164) 103.7MHz *current
h: width 1920 start 0 end 0 total 1920 skew 0 clock 54.0KHz
v: height 1080 start 0 end 0 total 1080 clock 50.0Hz
1920x1080 (0x165) 105.8MHz
h: width 1920 start 0 end 0 total 1920 skew 0 clock 55.1KHz
v: height 1080 start 0 end 0 total 1080 clock 51.0Hz
1920x1080 (0x166) 107.8MHz
h: width 1920 start 0 end 0 total 1920 skew 0 clock 56.2KHz
v: height 1080 start 0 end 0 total 1080 clock 52.0Hz
1920x1080 (0x167) 109.9MHz
h: width 1920 start 0 end 0 total 1920 skew 0 clock 57.2KHz
v: height 1080 start 0 end 0 total 1080 clock 53.0Hz
1920x1080 (0x168) 112.0MHz
h: width 1920 start 0 end 0 total 1920 skew 0 clock 58.3KHz
v: height 1080 start 0 end 0 total 1080 clock 54.0Hz
1920x1080 (0x169) 114.0MHz
h: width 1920 start 0 end 0 total 1920 skew 0 clock 59.4KHz
v: height 1080 start 0 end 0 total 1080 clock 55.0Hz
1680x1050 (0x16a) 98.8MHz
h: width 1680 start 0 end 0 total 1680 skew 0 clock 58.8KHz
v: height 1050 start 0 end 0 total 1050 clock 56.0Hz
1680x1050 (0x16b) 100.5MHz
h: width 1680 start 0 end 0 total 1680 skew 0 clock 59.9KHz
v: height 1050 start 0 end 0 total 1050 clock 57.0Hz
1600x1024 (0x16c) 95.0MHz
h: width 1600 start 0 end 0 total 1600 skew 0 clock 59.4KHz
v: height 1024 start 0 end 0 total 1024 clock 58.0Hz
1440x900 (0x16d) 76.5MHz
h: width 1440 start 0 end 0 total 1440 skew 0 clock 53.1KHz
v: height 900 start 0 end 0 total 900 clock 59.0Hz
1360x768 (0x171) 65.8MHz
h: width 1360 start 0 end 0 total 1360 skew 0 clock 48.4KHz
v: height 768 start 0 end 0 total 768 clock 63.0Hz
1360x768 (0x172) 66.8MHz
h: width 1360 start 0 end 0 total 1360 skew 0 clock 49.2KHz
v: height 768 start 0 end 0 total 768 clock 64.0Hz
1280x1024 (0x173) 85.2MHz
h: width 1280 start 0 end 0 total 1280 skew 0 clock 66.6KHz
v: height 1024 start 0 end 0 total 1024 clock 65.0Hz
1280x960 (0x176) 83.6MHz
h: width 1280 start 0 end 0 total 1280 skew 0 clock 65.3KHz
v: height 960 start 0 end 0 total 960 clock 68.0Hz
1280x960 (0x177) 84.8MHz
h: width 1280 start 0 end 0 total 1280 skew 0 clock 66.2KHz
v: height 960 start 0 end 0 total 960 clock 69.0Hz
1280x720 (0x178) 64.5MHz
h: width 1280 start 0 end 0 total 1280 skew 0 clock 50.4KHz
v: height 720 start 0 end 0 total 720 clock 70.0Hz
1280x720 (0x179) 65.4MHz
h: width 1280 start 0 end 0 total 1280 skew 0 clock 51.1KHz
v: height 720 start 0 end 0 total 720 clock 71.0Hz
1280x720 (0x17a) 66.4MHz
h: width 1280 start 0 end 0 total 1280 skew 0 clock 51.8KHz
v: height 720 start 0 end 0 total 720 clock 72.0Hz
1152x864 (0x17b) 72.7MHz
h: width 1152 start 0 end 0 total 1152 skew 0 clock 63.1KHz
v: height 864 start 0 end 0 total 864 clock 73.0Hz
1152x864 (0x17c) 73.7MHz
h: width 1152 start 0 end 0 total 1152 skew 0 clock 63.9KHz
v: height 864 start 0 end 0 total 864 clock 74.0Hz
....Many Resolutions later...
320x200 (0x1d1) 10.2MHz
h: width 320 start 0 end 0 total 320 skew 0 clock 31.8KHz
v: height 200 start 0 end 0 total 200 clock 159.0Hz
320x175 (0x1d2) 9.0MHz
h: width 320 start 0 end 0 total 320 skew 0 clock 28.0KHz
v: height 175 start 0 end 0 total 175 clock 160.0Hz
1920x1080 (0x1dd) 333.8MHz
h: width 1920 start 0 end 0 total 1920 skew 0 clock 173.9KHz
v: height 1080 start 0 end 0 total 1080 clock 161.0Hz
If it helps, the Refresh Rate at 1920x1080 is 60. There is a flickering effect at this resolution using HDMI but not VGA which I imagine is related to the borders cut off issue am asking here.
I have also done the following but this will only solve the problem on lower resolutions than 1920x1080 or on others TV (My father has a Sony TV where this problem is also solved):
NVIDIA WAY
Go to Nvidia-Settings and there will be an option that will have more features if a HDMI cable is connected. In the next pic the option is DFP-1 (CNDLCD) but this name changes depending on what device the PC is connected to:
Uncheck Force Full GPU Scaling
What this will do for resolutions LOWER than 1920x1080 (At least in my case) is solve the flickering problem and fix the borders cut by the monitor.
Save to Xorg.conf file the changes made after changing to a resolution acceptable to your eyes.
TV WAY
If you TV has OSD Menu and this menu has options for scanning the screen resolution or auto adjusting to it, disable them. Specifically the option about SCAN.
If you have an option for AV Mode disable it.
Basically disable any option that needs to scan and scale the resolution. Test one by one. In the case of my father's TV this did it. In my case, the Nvidia solved it for lower resolutions.
NOTE: In the case this is not solved in the next couple of weeks I will add this as the answer but take into consideration that the issue is still active with 1920x1080 resolutions.