Bug 520029

Summary: ThinkPad T400s undock/dock fail to resync external monitor
Product: [Fedora] Fedora Reporter: John Walicki <walicki>
Component: xorg-x11-serverAssignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: grant_williamson, mail, wtogami, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-08 18:16:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 473303    
Description Flags
screenshot of Power Management Preferences on AC Power
screenshot of Power Management Preferences on Battery Power none

Description John Walicki 2009-08-28 04:35:40 UTC
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>

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\*

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 04:36:43 UTC
Created attachment 358990 [details]
screenshot of Power Management Preferences on AC Power

Comment 2 John Walicki 2009-08-28 04:37:12 UTC
Created attachment 358991 [details]
screenshot of Power Management Preferences on Battery Power

Comment 3 Adam Jackson 2009-08-28 15:38:19 UTC
I think this is solved by commit e08c6a0752772745f35f7afcf6c2b1c927b91cc0 in upstream xserver.  Do you see this with F12?

Comment 4 John Walicki 2009-08-28 18:00:21 UTC
@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 18:25:15 UTC
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.


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 19:01:37 UTC
@myself - I read through the proposed patch at

@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.


What else can I do to help?  I can get Lenovo support involved too.

Comment 7 John Walicki 2009-08-28 19:16:05 UTC
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 19:32:50 UTC
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 17:49:10 UTC
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 21:58:39 UTC
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 18:16:59 UTC
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 18:18:02 UTC
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 04:14:03 UTC
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.

Comment 14 Felix Möller 2010-05-20 18:44:46 UTC
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 18:46:17 UTC
sorry, wrong bug. Hit the escape button too late. :-( It was for bug #525325.