Comment 22 for bug 556253

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 556253] Re: [2.6.32-19 regression] Does not check lid status any more, external screen powered off

Bryce Harrington [2010-04-07 23:46 -0000]:
> Martin, to isolate g-s-d, remove your monitors.xml file (in .config
> somewhere). If that is not present, AFAIK g-s-d will not attempt to do
> any changes to your system. If that makes the problem go away, then
> this bug should focus on g-s-d.

It's quite the other way around: The gdm account doesn't have a
monitors.xml, and thus X decides for a "compromise" resolution between
LVDS and DVI (1024x768) and enables both. This has been like that for
several releases, and while it looks ugly and distorted, it at least
works "good enough" for gdm. The regression is that DVI now gets
powered off (which the kernel DRM/X logs have no evidence off, they
claim that it's on) -- we haven't figured out yet why that happens.

Once I log into my user account (blindly type password), my custom
monitors.xml kicks in, and g-s-d disables LVDS and sets DVI to
1280x1024, and things work perfectly again.

> Otherwise, perhaps reverse-quirks in the kernel are needed. I might
> even suggest backing out the upstream patch, and sticking with
> individual quirks. Quirking individual systems means a lot of work, but
> at least it's well understood how to recognize the problem and
> incorporate the quirk.

Like a "known works" whitelist? This sounds like an interesting case.
I'd expect vendors like Dell to at least get this right on their
business laptops, where they sell good docking stations for, and have
trouble with paying support if it fails..

Bryce Harrington [2010-04-08 2:21 -0000]:
> Can you explain in further detail how you think the kernel logic that
> handled this previously could be moved to the xserver?

This was an initial idea, but we have to discard it. The reason for
removing it from the kernel wasn't something like "we do not want the
kernel to have policy and decide which port to favor", but "initial
lid status detection is just plain broken on too many BIOSes". Thus if
we'd move that logic into X, we'd get the exact same problems back.

Now, without the initial lid state I see use cases in both directions
when you have multiple monitors -- if you attach a beamer, you usually
want both on, if you attach an external monitor (with a higher
resolution), you usually want only the external monitor).

So the root problem here (apart from the "doesn't work as perfectly as
before in lucid") is why the DVI powers off. Getting back the better
behavior of previous lucid versions with driving DVI in native
resolution is certainly a bonus, but I don't see how to achieve that
easily at this point of the release.

--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)