Red Hat Bugzilla – Bug 520029
ThinkPad T400s undock/dock fail to resync external monitor
Last modified: 2010-05-20 14:46:17 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>
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\*
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.
The external monitor remains black.
The external monitor displays the screen.
Created attachment 358990 [details]
screenshot of Power Management Preferences on AC Power
Created attachment 358991 [details]
screenshot of Power Management Preferences on Battery Power
I think this is solved by commit e08c6a0752772745f35f7afcf6c2b1c927b91cc0 in upstream xserver. Do you see this with F12?
@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?
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.
@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.
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.
FWIW - The Intel video chipset info is
Mobile Intel(R) 4 Series Express Chipset Family [Lenovo]
running the i915 kernel driver.
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.
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.
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.
That was unclear: 945 and above _do_ get VGA hotplug events; 915 and below do not, because the hardware just can't do it.
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.
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...
sorry, wrong bug. Hit the escape button too late. :-( It was for bug #525325.