Bug 20142

Summary: enabling underscan by default behaves badly with so many monitors.
Product: Drivers Reporter: Luca Niccoli (lultimouomo)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, alexdeucher, contact+kernel, jlayton, john.ettedgui+kernel, philipp.zabel, zajec5
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.36-rc6 Subsystem:
Regression: No Bisected commit-id:

Description Luca Niccoli 2010-10-12 10:34:40 UTC
commit 039ed2d9a24b3c4e272439b1551762fcb77c188a enables underscan if the mode is a typical TV one. But almost every widescreen monitor in the 22"-24" range uses 1080p, and most of them support HDMI. It seems really strange to me that the most common case of a 1080p display is a TV, so the commit should be reverted or limited to non-1080p modes.
Comment 1 Rafał Miłecki 2010-10-12 10:48:07 UTC
I totally agree after testing that newer kernels with SONY BRAVIA 52'' 1080p (firmware: 2.14.581). Driver enables underscan when using "auto" on this TV.

1) In default mode "Wide" I get black borders
2) In "Zoom max." I get black border on bottom and top, left, right are cut
3) In "14:9" left and right black border, top and bottom cut
4) In "Smart" overzoomed (all sides cut)
5) In "4:3" huge black border and scaled without proportions
Comment 2 Alex Deucher 2010-10-12 15:10:14 UTC
Unfortunately, there's no way for the driver to know whether the TV has overscan enabled or not or if the TV is in some special scaling mode enabled.  Lots of TV's have no option to disable overscan.  As such, the driver underscans the image to compensate for the overscan; this is limited to the common HD modes.  Unfortunately, there's no good answer.  Before I added underscan support to the driver, I got bug reports from people with TV's where the image was cut off on the edges due to the TV overscanning.  You can disable underscan in the driver with:
xrandr --output <output> --set underscan off
Comment 3 Luca Niccoli 2010-10-13 00:05:10 UTC
I know, but my point is that there are too many displays that use 1080p to choose underscan by default.
Also, TVs that show the "HD Ready 1080p" logo are required to support a mode that doesn't overscan ([0], p. 13).
Besides, if I understand it correctly, underscanning is really just a workaround that produces blurred images.
Underscan support is fine, but I don't think it should be enabled by default with such a (necessarily) approximative euristic.

[0]
http://www.digitaleurope.org/fileadmin/user_upload/document/HD_ready_1080p_1188470475.pdf
Comment 4 Alex Deucher 2010-10-13 00:39:49 UTC
(In reply to comment #3)
> I know, but my point is that there are too many displays that use 1080p to
> choose underscan by default.

There are a lot of 1080P TVs too and most of them overscan by default.  In fact, I would say the vast majority of new TVs are 1080p.  Probably more TVs than monitors.

> Also, TVs that show the "HD Ready 1080p" logo are required to support a mode
> that doesn't overscan ([0], p. 13).

In practice that doesn't seem to be the case.  There seem to be quite a few vendors that do not provide a non-overscanned mode or they hide the mechanism to disable it well enough that most users can't find it.  Either way, overscan is always the default on TVs.
Comment 5 Luca Niccoli 2010-10-13 08:45:36 UTC
I tried a really tentative benchmarc looking for "LCD monitor" and "LCD monitor 1080 HDMI" among computer monitors on google products. 1080p HDMI monitors are 10000 out of 95000, more than any other resolution but 1280x1024 (13000, regardless of connection type)
I think this will do more harm than good, but I see how this is a judgement call.

Still, wouldn't it be better to have a way disable it via a proper setting (xorg.conf) instead of using Xsession?
Also, a way to disable underscanning even if X isn't running could be nice (though I guess someone using text only on a HDMI screen isn't really a common use case)
Comment 6 Alex Deucher 2010-10-13 15:18:51 UTC
It sucks for everyone ;)  It would be nice if there was an EDID flag for overscan.

I would be a good idea to expose connector properties via xorg.conf and additionally via sysfs, but it's a fair amount of work and I haven't had time to work on it unfortunately.
Comment 7 John 2010-10-27 04:00:08 UTC
Hmmm, even with what seems to be overscan (hdsize) on my tv, the image would not fit properly (but better than without it) and still be blury, whereas using the xrandr command you gave everything went back to normal.
Comment 8 Jeff Layton 2010-11-03 18:40:57 UTC
Just got a new radeon card today and got bitten by this. The display is connected via DVI too, so the new underscan default is not limited to HDMI.

Would it be feasible to add a module parameter that could be used to disable the default underscan? That way you could at least get a sane resolution before X is started...
Comment 10 Alan 2012-08-14 11:21:05 UTC
*** Bug 20982 has been marked as a duplicate of this bug. ***