Bug 2444 - Switch from laptop LCD to monitor fails
Summary: Switch from laptop LCD to monitor fails
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 6.8.1
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Alan Hourihane
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-01 09:32 UTC by David Kaplan
Modified: 2005-04-06 18:00 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
New driver (181.51 KB, application/octet-stream)
2005-02-07 07:10 UTC, Alan Hourihane
no flags Details
Xorg.log when using the new driver (76.20 KB, text/plain)
2005-02-07 12:04 UTC, David Kaplan
no flags Details
Another test driver (181.48 KB, application/octet-stream)
2005-02-07 15:21 UTC, Alan Hourihane
no flags Details
Another driver (181.46 KB, application/octet-stream)
2005-02-07 15:22 UTC, Alan Hourihane
no flags Details
Latest version of Alan's driver with CRT+LCD working (181.94 KB, application/octet-stream)
2005-02-09 12:30 UTC, David Kaplan
no flags Details

Description David Kaplan 2005-02-01 09:32:14 UTC
Fn-F8 switches from the laptop LCD to an external monitor on my computer (Dell
Inspiron 1150).  When I used Fedora Core 2 (xorg-x11-6.7.0-11.i386.rpm), this
worked reasonably well - it would switch, but there would be strange lines at 
the top of the screen, but ctrl-alt-backspace fixed things nicely.  In Fedora
Core 3, this fails completely.  It tries to start up the monitor (i.e. the led
on the monitor goes green), but then it fails after a bit.  

Switching does work, however, from a virtual terminal.  And I can start the
machine and immediately switch to the external monitor during grub and it will
boot fine in the external monitor, but then I cannot switch back to the LCD.

Fedora Core 3 uses xorg-x11-6.8.1-12.FC3.21.

I have also found a userspace program that can turn the external monitor on and
off - perhaps this will be useful in fixing the problem.  The program is called
i810switch (http://vorlon.cwru.edu/~ames/i810switch/).  RPMs for this program
have been accepted into Fedora Extras (in case any developer uses that).
Comment 1 Alex Deucher 2005-02-01 14:30:55 UTC
you may need the monitorlayout option to force on the outputs.
Option "MonitorLayout" "LFP, CRT"
or
Option "MonitorLayout" "CRT, LFP"
depending on how your bios sets up the displays.  see the i810 man page.
Comment 2 David Kaplan 2005-02-01 17:18:09 UTC
Thanks.  Adding:

Option "MonitorLayout" "CRT, LFP"

to my xorg.conf helped quite a bit.  Now, Fn+F8 will switch from Laptop LCD to
CRT.  Pressing Fn+F8 again switches back to LCD, but it also places a screwed up
version of the screen on the CRT (funny lines at the top and the rest of the
screen is shifted down).  Pressing Fn+F8 a third time brings me back to CRT
only.  There is no way to get both working at the same time correctly or get
back to just LCD.

i810switch continues to be able to turn CRT on and off, but the CRT only appears
correctly if I have not pressed Fn+F8 previously.

Also, X functions independently of the virtual terminals, but they interfere
with each other.  If I am using CRT and then I switch to a virtual terminal, it
will appear on the LCD (pressing Fn+F8 will bring the virtual terminal to the
CRT, however).  If I then return to X, X will always appear on the CRT, forcing
me to press Fn+F8 again, which is a pain as I also use an external keyboard that
does not have an Fn key.

While the combination of i810switch and the extra option in xorg.conf makes for
a useable system, it would be nice not to have these minor annoyances.  Is there
any way to make it so that:

1) Fn+F8 cycles normally through LCD,CRT,LCD+CRT,LCD...?
2) Virtual terminals and X appear on the same screen and switching from one to
the other does not affect where they appear?

Thanks again.    
Comment 3 David Kaplan 2005-02-01 17:20:47 UTC
> If I then return to X, X will always appear on the CRT, forcing

I meant to say LCD here.
Comment 4 Alan Hourihane 2005-02-07 07:10:34 UTC
Created attachment 1845 [details]
New driver

David, try this new driver and post a new log file if things still aren't quite
right.
Comment 5 David Kaplan 2005-02-07 12:02:36 UTC
I tried the new driver and it had, as far as I can tell, the same behavior as
the original driver I had installed.  I also noticed that sometimes the mouse
pointer will disappear from one or the other screen, but switching back and
forth appears to fix that.

I will attach my x logs shortly.
  
Comment 6 David Kaplan 2005-02-07 12:04:32 UTC
Created attachment 1852 [details]
Xorg.log when using the new driver
Comment 7 Alan Hourihane 2005-02-07 14:47:35 UTC
I'm a little confused here.

Are you running dual head, or just single head and switching with Fn-F8 ??

It certainly seems to say that you are running the latter with the output I've seen.

I'm also surprised that using MonitorLayout has affected things the way they
have, it shouldn't.
Comment 8 Alan Hourihane 2005-02-07 14:50:01 UTC
Actually, scratch that about MonitorLayout, I need to re-read my own code ;-)
Comment 9 Alan Hourihane 2005-02-07 15:21:18 UTC
Created attachment 1856 [details]
Another test driver

Another driver to try. Can you post a new log with this too ?
Comment 10 Alan Hourihane 2005-02-07 15:21:59 UTC
Comment on attachment 1856 [details]
Another test driver

Wrong one - deleting.
Comment 11 Alan Hourihane 2005-02-07 15:22:36 UTC
Created attachment 1857 [details]
Another driver

Another driver to try, that last one didn't upload correctly.
Comment 12 David Kaplan 2005-02-07 15:50:06 UTC
OK, the last driver was an improvement.  Fn+F8 now switches cleanly between
external monitor and LCD and back.

Some problems still persist.  There is no Fn+F8 way to get both monitors working
at the same time.  i810switch can do this for me, though.

Also, switching to a virtual terminal moves back to the LCD.  If I then switch
back to X (i.e. ctrl-alt-F7), it will go to the LCD regardless of what it was on
before.  While the virtual terminals aren't running X, and therefore, it isn't
an X problem necessarily, it is strange that it forgets what monitor it was on.

I will attach a log soon.

And thanks for your speedy help.
Comment 13 Alan Hourihane 2005-02-07 15:53:45 UTC
I actually thought of the forgetfulness after I sent the driver. I can fix that.

But I'd like a log of you switching between the LCD, CRT and CRT+LCD to capture
that in the logfile.
Comment 14 David Kaplan 2005-02-07 15:57:19 UTC
I am having trouble with attachments - it keeps giving me an error.

Instead, the log file is at the following web site:

http://erizo.ucdavis.edu/~dmk/Xorg.0.log

I did a number of different switches in that log, at least one of each type. 
The CRT+LCD were done with i810switch.
Comment 15 Alan Hourihane 2005-02-07 16:01:58 UTC
Mmm, from that log file it's telling me that your machine is only trying to
switch between LCD and CRT and never tries to set both at once when pressing Fn-F8.

Is there something in the BIOS that might change this ?

Have you checked your running the latest BIOS ?
Comment 16 David Kaplan 2005-02-07 16:06:34 UTC
Yes, I am running the latest bios and there does not appear to be anything in
the bios directly related to the video card.  In windows, I believe I gave it a
shot and it did do both, but it has been a while.

Oh, and the latest driver fixes the forgetfullness problem.  Virtual terminals
still appear in the LCD (but can easily be switched), but X will always appear
where it was set to.

I also noticed that logging out makes the screen go back to the LCD.  As logging
out kills X, it might be hard to fix this though.  Not that big a deal as FnF8
gets me back to the CRT.

Comment 17 Alan Hourihane 2005-02-07 16:12:17 UTC
The Xserver will always restore what it was set to. So it's going to back to the
console from how it started. Not much I can do about that without adding an
option to the driver to force that behaviour.

At the moment, I'm not sure what I can do about Fn-F8 to get both displays for
you as the machine isn't doing the right thing to do it. There might be, again,
some specific option I could add to force this kind of behaviour though.
Comment 18 David Kaplan 2005-02-07 16:19:20 UTC
Well, the current behavior is a definite improvement.  Perhaps in windows they
are somehow taking over Fn+F8 and forcing it to do the appropriate thing, but
checking that is probably out of my league.  I will check in windows that it
does actually do both - if it doesn't then at least we can be pretty sure it is
not a linux problem.

Now I want to go back to redhat and ask them to update their display
configuration software.  I have a couple of questions though.  One is how
important the MonitorLayout option was to this working?  I can see configuration
problems with this in that any configuration software will have to automatically
to determine how many pipes there are and what order they should be in.  What
are your thoughts?

The other question is when the improvements to i810_drv will be available in the
standard X distribution?

Thanks again.
Comment 19 Alan Hourihane 2005-02-07 16:22:31 UTC
MonitorLayout was a requirement before, but you should find that you can remove
it now with the new driver and it should still work.

The driver improvements will definately be put back into the X CVS.
Comment 20 David Kaplan 2005-02-07 16:32:53 UTC
I confirmed that switching works without the monitorlayout option.  

Wow, a bug that actually got fixed.  I am almost teary eyed.  Perhaps I should
find more X bugs and fewer Fedora bugs :)

Thanks again.
Comment 21 David Kaplan 2005-02-07 17:41:36 UTC
By the way, redhat recommended that I:

> You may also want to consider recommending X.Org to
> backport the fix to 6.8.x also, and suggest it as a candidate for
> XORG-6_8-branch for future stable updates.

Is this the correct place to recommend that backport, or should I go somewhere
else?  Thanks.
Comment 22 David Kaplan 2005-02-09 12:30:38 UTC
Created attachment 1880 [details]
Latest version of Alan's driver with CRT+LCD working

This is the latest version of Alan's driver that has LCD,CRT, and LCD+CRT
working great on my machine.
Comment 23 Alan Hourihane 2005-02-10 16:25:53 UTC
There are many other fixes that are on the trunk that should certainly make 6.8.3.

This bug was only opened because I thought it could be included in 6.8.2 and
stop people from suffering.
Comment 24 Alan Hourihane 2005-02-10 16:27:16 UTC
Ignore that last comment. Wrong bug.

Comment 25 Alan Hourihane 2005-03-31 05:48:41 UTC
Can you try downloading the latest driver from

http://www.fairlite.demon.co.uk/intel.html

and see if everything still works for you ?

If so, I'll close this bug.
Comment 26 David Kaplan 2005-04-07 11:00:59 UTC
Works like a charm.  Thanks for all your hard work - now I can make
presentations with my laptop with Linux.


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.