HDMI/VGA connection cuts borders of screen or creates blurry text
Solution 1
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:
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 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.
-
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 (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:
The following image is from a 1920x1080 resolution:
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:
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
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).
Solution 2
Executive summary: xrandr --output HDMI-0 --set underscan on
did the trick for me.
None of the answers here worked for my configuration. I have a Panasonic TH-42PX80U and an ATI Radeon HD5770 graphics card. (Yeah, it's an old rig.)
The proprietary AMD fglrx driver did not have this problem, but it also cannot run Broken Age. This problem is particularly annoying for that game, since some of the text winds up off the screen.
I tried every setting in the television's menu, and every option for its "format" (wide, full, zoom, etc.). Nothing helped.
Running xrandr --verbose
showed that my HDMI output is named "HDMI-0" and that it supports the underscan setting. After running either one of these, I can finally see the whole image:
xrandr --output HDMI-0 --set underscan on
or
xrandr --output HDMI-0 --set underscan auto
Solution 3
I had exactly the same problem today. I am using a Samsung LCD. The problem was super easy to fix, I just found the remote for the TV, went into options and on Picture Options, I set it to fit to screen. I know you are not using a Samsung but I am pretty sure your TV will have similar options.
Solution 4
I was having similar issue with my Sony TV. I'm using it as extended 2nd monitor via HDMI - feed goes through my Onkyo amplifier first.
Anyways, I confirmed that my 'wide mode' on the TV was set to Full only (not Wide Zoom or H Stretch or anything else) but I still had a few pixels off the edge of the screen like in your screenshot. I also turned off the 'Auto Wide feature' - still no change.
I then noticed an option under the 'Screen' menu of the TV called 'Display Area'. I changed the setting from 'Normal' (which was set by default) to 'Full Pixel' and this immediately fixed my issue.
Solution 5
I had some similar issues today, but it turned out it was the settings on the TV that had to be tuned. If you haven't already, try adjusting the monitor settings (ie. size).
Related videos on Youtube
Luis Alvarado
System Engineer Social Engineer Master in Pedagogy Master in Open Source CCNA Certified Linux Foundation Certified Former Askubuntu Moderator Stack Careers | Linkedin | Launchpad | Ubuntu Wiki - Random SE Stuff - Latin American Members | JC Race Award | Human Robot Award 74
Updated on September 18, 2022Comments
-
Luis Alvarado over 1 year
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:
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.
-
Luis Alvarado over 12 yearsI will add this to the question as a method for samsung but since you can not still add this as comment, delete the answer and I will comment you on it.
-
Gadou over 10 yearsWorked for me the TV way on my Sony Bravia LCD screen. In the TV screen setting, I set the Display area to "+1"
-
Luis Alvarado over 10 years+1 for the effort and answer. Thanks nemo. Great work.
-
A.B. about 9 yearsPlease upgrade your answer. Describe your approach.
-
Pushpak Dagade over 8 yearsI have a Micromax TV but your solution worked perfect! I think this is a TV issue and nothing to do with Ubuntu. There is a "Aspect" button on my remote where I have to select "Nature" mode instead of "16:9" for this problem to go away :-)
-
skia.heliou over 6 yearsThis ended up making the desktop a little smaller than the screen for me, but that's so much better than cutting parts off
-
Manuel Jordan over 2 yearsIt seems
--set underscan
is not valid anymore - it arises an error in Ubuntu Desktop 20.04