Bug 520029 - ThinkPad T400s undock/dock fail to resync external monitor
ThinkPad T400s undock/dock fail to resync external monitor
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: xorg-x11-server (Show other bugs)
11
All Linux
low Severity medium
: ---
: ---
Assigned To: X/OpenGL Maintenance List
Fedora Extras Quality Assurance
:
Depends On:
Blocks: F12Blocker/F12FinalBlocker
  Show dependency treegraph
 
Reported: 2009-08-28 00:35 EDT by John Walicki
Modified: 2010-05-20 14:46 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-09-08 14:16:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
screenshot of Power Management Preferences on AC Power (32.78 KB, image/png)
2009-08-28 00:36 EDT, John Walicki
no flags Details
screenshot of Power Management Preferences on Battery Power (36.69 KB, image/png)
2009-08-28 00:37 EDT, John Walicki
no flags Details

  None (edit)
Description John Walicki 2009-08-28 00:35:40 EDT
Description of problem:
I have been testing Fedora 11 on a T400s and a docking station.

We created 5 test cases and found that the most common use case (#3 below) is failing.

Power Management Preferences
Uncheck the screensaver when computer is idle
uncheck the lock screen when screensaver is active
Power management button params
AC : <screenshot attached>
Battery: <screenshot attached>

Scenerio
1. system in dock, lid closed, power up, keep lid closed, external monitor works
2. system in dock, lid closed, undock system, keep lid closed, redock, the external monitor will resync
3. system in dock, lid closed, undock system, open lid, close lid, redock, the external monitor will not resync
4. system in dock, lid open, (both monitors are active), undock system with lid still open, the external monitor will resync
5. system in dock, lid open, (both monitors are active), undock system with lid still open, close lid, redock, the external monitor will resync


Version-Release number of selected component (if applicable):
$ rpm -qa \*xorg-x11-server\*
xorg-x11-server-common-1.6.3-4.fc11.i586
xorg-x11-server-Xnest-1.6.3-4.fc11.i586
xorg-x11-server-utils-7.4-7.fc11.i586
xorg-x11-server-Xorg-1.6.3-4.fc11.i586

How reproducible:
Always repeatable.

Steps to Reproduce:
1. ThinkPad T400s system is powered up in the dock with the lid closed
2. Undock system, open lid, close lid, redock 
(This simulates the behavior of a normal person undocking, taking the system to a conference with the lid closed, opening the lid - taking notes, closing the lid, returning to their office, and redocking the system.)
3. the external monitor will not resync.

Actual results:
The external monitor remains black.

Expected results:
The external monitor displays the screen.

Additional info:
Comment 1 John Walicki 2009-08-28 00:36:43 EDT
Created attachment 358990 [details]
screenshot of Power Management Preferences on AC Power
Comment 2 John Walicki 2009-08-28 00:37:12 EDT
Created attachment 358991 [details]
screenshot of Power Management Preferences on Battery Power
Comment 3 Adam Jackson 2009-08-28 11:38:19 EDT
I think this is solved by commit e08c6a0752772745f35f7afcf6c2b1c927b91cc0 in upstream xserver.  Do you see this with F12?
Comment 4 John Walicki 2009-08-28 14:00:21 EDT
@Adam - Thanks for looking into the bug report and proposing that patch.  Hard to test F12 Alpha on a production system.  I will download an F12 Alpha Live image and boot it to test the scenerios.

Will also look at the dependency tree to determine if we can grab the upstream xserver RPMs and install those on F11.  What type of mess will I get into?  Not too keen on a hybrid F11/F12 Alpha mix.  Ok for technies, not good for a production environment.

How much work would be required to backport the patch to the F11 xserver xorg-x11-server-common-1.6.3 ?

Ok I'm lazy, can you post a git link to that commit?
Comment 5 Warren Togami 2009-08-28 14:25:15 EDT
I tested this with Fedora 12 Alpha.  It is setup in the RH Westford office with this exact laptop plugged into a dock with a monitor plugged into the dock.

kernel-2.6.31-0.125.4.2.rc5.git2.fc12
xorg-x11-server-1.6.99-33.20090807.fc12
xorg-x11-drv-intel-2.8.0-3.fc12

Both in spanning and mirror mode, the external monitor fails to resync automatically when you do Comment #1 step #3.

Spanning mode fails to turn the external monitor on until you run gnome-display-properties again.

Mirror mode will turn the external monitor on when you open the lid of the laptop, but it forgets about mirror mode and puts itself into spanning.
Comment 6 John Walicki 2009-08-28 15:01:37 EDT
@myself - I read through the proposed patch at
http://article.gmane.org/gmane.comp.freedesktop.xorg.cvs/13916

@Warren - thanks for the confirmation of the (unsuccessful) test scenerio.  Bummer that its not fixed in F12 Alpha.

We're using an external monitor in mirror mode.   The T400s is running at 1440x900 and the external monitor (ThinkVision L1940p 19-inch Wide Flat Panel LCD Monitor) supports the same resolution.

http://www-307.ibm.com/pc/support/site.wss/quickPath.do?quickPathEntry=4424HB6

What else can I do to help?  I can get Lenovo support involved too.
Comment 7 John Walicki 2009-08-28 15:16:05 EDT
New information - rules out the dock as a culprit.

We performed the scenerio #3 without the dock.

0. Power off
1. Plug the external monitor and external keyboard in the back/side of the T400s.
2. Press the Power button on, close lid before the BIOS post. 
3. Fedora 11 starts with the external monitor/keyboard - login.
4. Remember the lid is still closed.
5. Unplug the external video from the back, unplug the keyboard from the side.
6. Open lid, do some work
7. Close lid
8. Plug in the external monitor and the external keyboard.
9. The external monitor does not resync.

Since the (bad) behavior is still observed, this rules out the Lenovo dock as a culprit.

I don't think Lenovo support can offer much help.
Comment 8 John Walicki 2009-08-28 15:32:50 EDT
FWIW - The Intel video chipset info is
8086:2a42   20e4
Mobile Intel(R) 4 Series Express Chipset Family [Lenovo]
running the i915 kernel driver.
Comment 9 John Walicki 2009-08-31 13:49:10 EDT
I'm trying to determine if the T400s hardware is a possible cause of the external video sync issue we're experiencing.   I'm wondering if it could be a BIOS issue.  If Windows also exhibits the same behavior, I can escalate it to my Lenovo BIOS Development contacts.

Today we followed the test procedure above oh a T400s WinXP system.

Similar results BUT not exact.  The problem scenario is:  
1) undock with lid closed  
2) open lid and work 
3) close lid and redock.   

On Linux, nothing can be done other than reboot to resync the external monitor.
On WinXP, same scenario - video doesn't come back automatically on the redock and you can't use the external keybrd to Fn+F7 it.  BUT you can lift the lid on the thinkpad and Fn+F7 from there.  Then close the lid. So a reboot is not necessary

In all other scenarios on Win and Fedora, the video goes back to the external automatically without a forced Fn+F7.

Net: There are two paths I want to take...

- Have the Red Hat team work with the xorg community to probe the external monitor port via Fn-F7 after the user opens the lid, so it operates like Windows.
- I will report it to Lenovo BIOS Development.
Comment 10 Adam Jackson 2009-08-31 17:58:39 EDT
Okay, so the problem here is just that we don't get any event when the VGA is plugged in while the lid is closed (or at all).  There's infrastructure in the kernel for this, and it may even be generating the events we want, but it's certainly not hooked up to userland yet.

There's a tradeoff here for VGA connectors in that it requires more power to do connection sense, unlike digital connectors where you have a real hotplug pin.  Meh.  We can tune for that later.
Comment 11 Adam Jackson 2009-09-08 14:16:59 EDT
As of -intel 2.8.0-9, we catch uevents for output hotplug and turn them into RANDR rescans, so this is pretty much fixed.  We only get VGA hotplug events for 945 and above due to hardware limitations, and we don't get plug events for s-video or composite at all (as far as I know), but digital outputs should be sorted.
Comment 12 Adam Jackson 2009-09-08 14:18:02 EDT
That was unclear: 945 and above _do_ get VGA hotplug events; 915 and below do not, because the hardware just can't do it.
Comment 13 John Walicki 2009-09-09 00:14:03 EDT
Excellent - Thanks Adam!

$ sudo yum --enablerepo=rawhide info xorg-x11-drv-intel
Name       : xorg-x11-drv-intel
Arch       : i686
Version    : 2.8.0
Release    : 9.fc12
Size       : 247 k
Repo       : rawhide
Summary    : Xorg X11 Intel video driver
URL        : http://www.x.org
License    : MIT
Description: X.Org X11 Intel video driver.

I'll give a Fedora 12 nightly ISO a test on the ThinkPad T400s hardware.
http://alt.fedoraproject.org/pub/alt/nightly-composes/desktop/
Comment 14 Felix Möller 2010-05-20 14:44:46 EDT
I guess bug #586373 might just be a little related, mentioning it here for others to find. My display just goes black on plugging monitors while allowing me to move the mouse cursor. Changing to tty2 is possible and killing Xorg allows me to relogin. I am on F13...
Comment 15 Felix Möller 2010-05-20 14:46:17 EDT
sorry, wrong bug. Hit the escape button too late. :-( It was for bug #525325.

Note You need to log in before you can comment on or make changes to this bug.