Thursday, May 18, 2017

nvidia - HDMI/VGA connection cuts borders of screen or creates blurry text


Ok this is an extension of another problem I had with a VGA connection and an Nvidia Geforce GT 440 card. The question has been updated to include other problems related to HDMI Video and also since I have confirmed that it also affects ATI video cards. The explanation is the following:


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 which was using the VGA connection 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: Black screen on latest Nvidia/Ati Cards when starting LightDM/Ubuntu. 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. The black screen problem was solved in a later update for 12.04 and already solved using the default 12.10. So using 12.04 and updating or using 12.10 solved the black screen with HDMI problem.


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 an 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:


enter image description here


As you can see from the image, the Launcher icons only show less than 50% of their width. 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.



The following solves the problem on lower resolutions than 1920x1080 or on other TVs (My father has a Sony TV where this problem is also solved) because the problem lies in the TVs themselves. Some TVs that are used for Computers offer 1920x1080 for VGA only but not for HDMI. Others need configuration in the TV monitor and lastly in some rare cases some have incompatible resolutions between the video card (what the video card can do) and the TV (What the TV resolution can show). The following solutions try to fix problems like black borders, space left in the sides or top and bottom and graphic corruption when using 1920 on a TV and letters look weird:



  1. 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:


enter image description here



  1. 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.



  1. Save to Xorg.conf file the changes made after changing to a resolution acceptable to your eyes.



  1. If your 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.


  2. If you have an option for AV Mode disable it.


  3. 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 (Comment made by User James - https://askubuntu.com/users/39762/james): For some Samsung LCD TVs. Using the TV Remote Control go to Options -> Picture Options and set the Picture Option to "Fit to Screen".


VIDEO QUALITY


If you happen to have a 1080p TV and have lower quality on 1920x1080 like the following 2 images then it is recommended that you actually lower the resolution to 1680x1050 to still have enough space for everything but avoid the lower quality that appears on the highest resolution (I have tested and this affects 16:9 and 16:10 resolutions with 50 or 60 refresh rate in the max resolution. It depends in some part with the TV and if it supports 16:9, 16:10 or both. The other part responsible is the driver.):


The following image is from a 1680x1050 resolution:
enter image description here


The following image is from a 1920x1080 resolution:
enter image description here


As you can see from both images, 1920 cuts the sides and the text looks blurry and something that came from a over compress JPG file. In the case of 1680, the quality is excellent and everything can be read without going blind.


In VGA or HDMI my text looks blurry (While browsing with Firefox/Chrome, Using Nautilus, etc..)


One reason might be that the FXAA option was activated, this is only available on later Nvidia drivers and cards that support the Antialiasing FXAA feature:


enter image description here


Do NOT activate this feature if the result is a blurry text that appears to stay blurry for a couple of seconds every time an window is moved or changed, making vision tough when trying to read anything. Just deactivate the feature and logout or reboot.


MANUALLY ADJUSTING THE RESOLUTION


If you happen to have one of the newest Nvidia Drivers, then some of the above points will not work. For this cases, Open the nvidia-settings app and go to X Server Display Configuration. Click on Advanced... and change the following options to a resolution slightly lower than the one you are using:



  • Video Port In

  • Video Port Out

  • Panning


enter image description here


Note that the TV I am using does not support 1680x1040. Instead I selected 1920x1080 ad then edited the 3 mentioned options to a slightly lower resolution so I could "move" the X/Y coordinates to see the Launcher Icons and Top Pane. In the Video Port Out option,
The 2 values after the resolution are the X and Y coordinates. They will normally appear like 1680x1040+0+0 but after you edit the values and Save the changes you will see the Launcher and Top panel appear. In my case I put 48 for X and 30 for Y. This made the panel and Launcher correctly show in TV (Viewport).


No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...