Bug 19991 - poor choice for device to activate on pipe b
Summary: poor choice for device to activate on pipe b
Status: RESOLVED DUPLICATE of bug 11455
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Gordon Jin
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2009-02-06 06:52 UTC by Martin Meyer
Modified: 2009-02-12 15:16 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg log (136.30 KB, text/x-log)
2009-02-09 06:24 UTC, Martin Meyer
no flags Details
the output of xrandr after login (1.46 KB, text/plain)
2009-02-09 06:28 UTC, Martin Meyer
no flags Details
xorg.conf (905 bytes, application/octet-stream)
2009-02-09 06:31 UTC, Martin Meyer
no flags Details
glxinfo output (7.21 KB, text/plain)
2009-02-09 06:32 UTC, Martin Meyer
no flags Details

Description Martin Meyer 2009-02-06 06:52:23 UTC
I have an HP nc6220 connected to a dock with both DVI- and VGA-attached monitors hooked up and a "virtual" setting large enough to use both. For me, when I boot the LVDS and TMDS-1 outputs are activated and not the VGA - even though the lid is shut. To make it even worse, the TMDS-1 output is at totally the wrong resolution. I end up with a login screen on one monitor that looks wrong and an unusable, non-visible area over to the left of TMDS-1 where my laptop screen should be. I have to run an xrandr command every time I login to make my display layout correct.

Has anyone looked at the logic for how the driver decides what gets connected to "pipe B" on startup? It seems like it should prefer external devices over the local flat panel pretty much always.

This may be related to bug 11455, since it may have to do with checking the lid switch on started before selecting which outputs to connect to the display pipelines.

I would *love* to not have to manually re-configure my display outputs each time my X server loads.
Comment 1 Michael Fu 2009-02-08 22:08:24 UTC
LVDS has to sit on pipe B. HW required.

You need a very new driver to test the lid detection patch that zhenyu is hesitate to push to a release branch. the xf86-video-intel master tip of today should have that patch.

please also compare your symptom with bug# 16777.

Please refer to http://intellinuxgraphics.org/how_to_report_bug.html for how to report bug and provide necessary logs and xorg.conf.
Comment 2 Martin Meyer 2009-02-09 06:23:18 UTC
I actually have the problem from bug 16777 as well I think, but that's not what I'm trying to report atm. I work around that be doing xrandr --output VGA --auto && xrandr --output VGA --off && xrandr --output VGA --auto. It seems to work fine on the second attempt for me.

Anyway, my real issue is that when X starts, it should have decided to activate TMDS-1 and VGA, rather than TMDS-1 and LVDS. I believe that if there is a monitor present on both external ports then the user probably intended to use those two monitors and *not* LVDS. Otherwise why would they have had two external monitors connected?

Hardware:
Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller rev 3, Mem @ 0xd0800000/0, 0xc0000000/0, 0xd0880000/0, I/O @ 0x00005000/0

Software:
libdrm-intel1                              2.4.4-0ubuntu6
libdrm2                                    2.4.4-0ubuntu6
libgl1-mesa-glx                            7.3-1ubuntu1
xserver-xorg-core                          2:1.5.99.902-0ubuntu3
xserver-xorg-video-intel                   2:2.6.1-1ubuntu1

Running Ubuntu Jaunty.

Attachments for Xorg log and xrandr output and glxinfo are coming in a moment.
Comment 3 Martin Meyer 2009-02-09 06:24:54 UTC
Created attachment 22709 [details]
xorg log

My Xorg.0.log file with "ModeDebug" set to "yes".
Comment 4 Martin Meyer 2009-02-09 06:28:00 UTC
Created attachment 22710 [details]
the output of xrandr after login

Here's what xrandr says right after I login, before I change my display configuration.

Notice that neither of the monitors that became active are at their highest resolution? I find that interesting. That seems to change around pretty often actually, it's only recently (< 2 weeks ago) started using the wrong resolutions.

Note that all three outputs are "connected", and all three have the correct list of available modes. My problem is that VGA should have been preferred over LVDS when deciding which to activate initially.
Comment 5 Martin Meyer 2009-02-09 06:31:24 UTC
Created attachment 22711 [details]
xorg.conf

Here's my xorg config. The only reason I really have one is that I need to extend the default virtual size to make it large enough to accommodate my two monitors.

Note that all the monitor sections are commented out. The is very close to nothing in this file - at least as close as I can get.
Comment 6 Martin Meyer 2009-02-09 06:32:48 UTC
Created attachment 22712 [details]
glxinfo output

output for glxinfo. I don't think this will be that interesting.

This is my last attachment for now, I'll look though the link again to see if I missed anything else that might be helpful.
Comment 7 Michael Fu 2009-02-09 21:19:30 UTC
(In reply to comment #2)
> I actually have the problem from bug 16777 as well I think, but that's not what
> I'm trying to report atm. I work around that be doing xrandr --output VGA
> --auto && xrandr --output VGA --off && xrandr --output VGA --auto. It seems to
> work fine on the second attempt for me.
> 
> Anyway, my real issue is that when X starts, it should have decided to activate
> TMDS-1 and VGA, rather than TMDS-1 and LVDS. I believe that if there is a
> monitor present on both external ports then the user probably intended to use
> those two monitors and *not* LVDS. Otherwise why would they have had two
> external monitors connected?
> 
> 
people's mind may vary, so you have to tell the system that you want to use TMDS-1 and VGA, not LVDS. Closing the lid is the indicator of your intention. :)

as I said. 2.6.1 doesn't include zhenyu's patch of LCD detection. are you able to grab a upstream tip to test?
Comment 8 Martin Meyer 2009-02-10 07:17:09 UTC
I've cloned the git repo but I'm afraid I'm lost from that point. ./autogen.sh ends with:

checking for mprotect... yes
./configure: line 12605: syntax error near unexpected token `XINERAMA,'
./configure: line 12605: `XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)'

I have the various -dev packages installed for xinerama, including x11proto-xinerama-dev which contains the pkgconfig file xineramaproto.pc. I'm willing to keep trying to get this working if anyone can give me a hand building the driver (maybe take this directly to my email so we don't spam everyone who is attached to this bug?), or I can just wait a few days and see if the ubuntu driver gets the patch applied (seems unlikely unless I request it).

Maybe the best option would be if I could get a raw copy of the patch and apply it to Ubuntu's 2.6.1-1ubuntu2 source. Which commit(s) should have fixed this issue? I should be able to pull out a patch from git if I can figure that out. The closest thing I see is fcd280b730f86ea54ecd89d3e037e71f8375b5f5, but it refers to a different bug (bug 19239).
Comment 9 Julien Cristau 2009-02-10 09:15:13 UTC
> --- Comment #8 from Martin Meyer <elreydetodo@gmail.com>  2009-02-10 07:17:09 PST ---
> I've cloned the git repo but I'm afraid I'm lost from that point. ./autogen.sh
> ends with:
> 
> checking for mprotect... yes
> ./configure: line 12605: syntax error near unexpected token `XINERAMA,'
> ./configure: line 12605: `XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)'

"apt-get build-dep xserver-xorg-video-intel" should get you going
(you're missing at least the xserver-xorg-dev package).
Comment 10 Martin Meyer 2009-02-10 10:28:20 UTC
Sweet! I wish I knew the various apt and dpkg commands as well as I know portage...

Anyway, a libdrm and xf86-video-intel install later, I've got some interesting results and observations:

At GDM, startup, both external heads are active showing the same output. I'd consider this an improvement. The Xorg.0.log now shows TMDS-1 and VGA as "connected", and LVDS is "disconnected". The proper resolution is used on both monitors.

Opening and closing my laptop lid has no effect whatsoever while at GDM.

Once I log in to GNOME, opening the lid initially has no effect, but closing it again turns off both external monitors. Re-opening the lid brings video back to its previous configuration.

So as for where this bug should go.. I think it can probably be closed as either a dup of bug 11455 or else maybe INVALID.

There is still one remaining bug IMO, which is what happens when I open and shut my lid. Should I open a new bug for that issue, or is it maybe already reported?

Why would it happen once logged in but not at the GDM login screen? That leads me to believe that something running in my session (gnome-power-manager?) is triggering a screen blanking.
Comment 11 Martin Meyer 2009-02-10 10:57:49 UTC
Here are some more observations:

If I start the laptop with the lid open instead of closed, LVDS and VGA are "connected", and VGA is running at the native (lower than optimal) resolution of *LVDS*. This is understandable, since I guess the other option would be to start VGA in its native resolution and have LVDS in a panning mode that doesn't show the entire virtual screen area. That'd be weird.

This next observation is more annoying:
It seems that my external monitors don't always show stuff upon arriving at the login screen. They appear to be "connected", but I have to open my laptop lid and press fn+f4 several times before they turn on. Once they do turn on they are mirrored as I indicated before.

In first round of testing the screens just turned on when GDM did; I don't think anything changed since then. I haven't been able to get to a state again where they just turn on at boot.

Are there any other packages I might need to build from git that might affect this behavior? So far I've only got the intel driver and libdrm. I'm willing to try building other things if you need help tracking down this behavior.
Comment 12 Michael Fu 2009-02-12 15:16:29 UTC
(In reply to comment #11)
> Here are some more observations:
> 
> If I start the laptop with the lid open instead of closed, LVDS and VGA are
> "connected", and VGA is running at the native (lower than optimal) resolution
> of *LVDS*. This is understandable, since I guess the other option would be to
> start VGA in its native resolution and have LVDS in a panning mode that doesn't
> show the entire virtual screen area. That'd be weird.
> 
> This next observation is more annoying:
> It seems that my external monitors don't always show stuff upon arriving at the
> login screen. They appear to be "connected", but I have to open my laptop lid
> and press fn+f4 several times before they turn on. Once they do turn on they
> are mirrored as I indicated before.
> 

did you get this during power-on, with lid closed all the time? this might be an bios acpi issue..

> In first round of testing the screens just turned on when GDM did; I don't
> think anything changed since then. I haven't been able to get to a state again
> where they just turn on at boot.
> 
> Are there any other packages I might need to build from git that might affect
> this behavior? So far I've only got the intel driver and libdrm. I'm willing to
> try building other things if you need help tracking down this behavior.
> 



*** This bug has been marked as a duplicate of bug 11455 ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.