Bug 3015

Summary: dual-head startup shouldn't depend on BIOS "boot display" choice
Product: xorg Reporter: Andrew D. Stadler <stadler>
Component: Driver/RadeonAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high CC: alexdeucher, freedesktop, lroland, osos
Version: 6.8.2   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
This is my working dual-head config file
none
log while BIOS properly configured
none
log while BIOS settings are wrong
none
Log of startup
none
X configuration none

Description Andrew D. Stadler 2005-04-13 12:57:43 UTC
In the thinkpad T30 laptop, the BIOS includes an option for selecting the boot
display device.  This is supposed to affect booting time only, and it even says
in the little BIOS help text, "...until the OS is loaded".  

In the "Brand W XP" OS, this is true;  No matter what this is set to, once the
OS itself starts up, the screens are initialized properly.

In X under Linux, unfortunately, improper setting of this value messes up the
display manager and can put it into an unuseable state.

This has been tested in FC2 with IBM BIOS 2.06, and FC3 with IBM BIOS 2.06 and
2.08, with same behavior seen in all combinations.  I am running X 6.8.2
currently and still seeing the problem.

Again, the specific bug I'm filing is that X should be ignoring this setting and
starting up correctly in all conditions.

I would call this a minor annoyance, except for two issues:
1.  The BIOS "helpfully" resets this value to "both" when you go back onto a
dock.  So even if you configure it properly once, you have to go back and fix it.
2.  To a user who hasn't faced this issue, it is very easy to get the machine in
a state where it appears to be broken - blank screens after boot, with no
obvious error messages or UI for restarting.  This shouldn't happen, obviously....

How reproducible:
Always

Steps to Reproduce:
1.   Boot FC3, plug in 2nd monitor, and configure dual head mode.
2.   Reboot.  F1 to enter BIOS.  Confirm setting "LCD".  Finish boot.  
3.   Confirm proper dual-head operation.
4.   Reboot.  F1 to enter BIOS.  Change boot display device to "CRT" or "BOTH"
(2.06) or 
"Analog VGA" or "VGA+LCD" (2.08 - new names for same settings)
5.   Finish booting into FC3
    

Actual Results:  Primary display:  backlight on, but no image (all black)
Secondary display:  plain blue background (it's the extended unused area of the
graphical login page)

Expected Results:  Primary display:  graphical login page
Secondary display:  plain blue background

I originally filed this bug as redhat/fedora bug # 140596
<https://bugzilla.redhat.com/bugzilla-old/show_bug.cgi?id=140596>
Comment 1 Alex Deucher 2005-05-04 06:22:54 UTC
please attach your log and config.  Also, you may have to add the monitorlayout
option to force proper detection if the bios is in a weird state.  See the
radeon man page.
Comment 2 T. Hood 2005-09-23 07:11:04 UTC
Compare #1559.
Comment 3 Andrew D. Stadler 2005-09-23 13:14:13 UTC
Created attachment 3383 [details]
This is my working dual-head config file
Comment 4 Andrew D. Stadler 2005-09-23 13:14:56 UTC
Created attachment 3384 [details]
log while BIOS properly configured
Comment 5 Andrew D. Stadler 2005-09-23 13:15:24 UTC
Created attachment 3385 [details]
log while BIOS settings are wrong
Comment 6 Andrew D. Stadler 2005-09-23 13:20:19 UTC
I have added three attachments.

This first is the config file.  This was generated by system-config-display
using normal dual-head settings.  I did make one slight manual change to the
file, changing the 2nd monitor to the left side of the laptop display (it
defaults to the right) but this change does not affect the problem I am
submitting as this bug.

Also, I did check the radeon man page and found the section on the MonitorLayout
 option, and it appears that the xorg.conf file was in fact built with this
option set up.

The 2nd is a log file after a successful startup (two screens working properly).
The 3rd is a log file after an unsuccessful startup - as described below, the
main monitor powers up (backlight) but it's all black;  The 2nd monitor is up
and functioning normally, and it's all blue (login screen background), and I can
move the mouse onto it.  But the primary login stuff is on the dead 1st monitor
so you can't see any of it.  
Comment 7 Christian Boltz 2005-09-24 13:10:09 UTC
> [...] the main monitor powers up (backlight) but it's all black; The  
> 2nd monitor is up and functioning normally,  
 
What happens if you start with the second monitor *disconnected* (remove the 
cable!) and connect if after X startup? It's an (annoying) workaround on my 
system. 
 
Maybe https://bugzilla.novell.com/show_bug.cgi?id=104640 is also interesting 
for you... 
Comment 8 Andrew D. Stadler 2005-09-24 14:00:09 UTC
I have gone the route you mentioned (startup w/o 2nd monitor) many times, because this is what 
happens if I go on a trip, and start up linux (with nothing connected).  The result is that it works as 
properly as you would expect - the login screen comes up on the main monitor.  However, detection is 
still broken, because in this case the 2nd screen seems to be active - the cursor can move offscreen.  
So in this situation, I have to do this:
(1) start up as described
(2) log in
(3) sudo system-config-display
(4) switch off dual-head
(5) log out
(6) log in
At this point I am in proper single-head mode.

What this points to is (perhaps) a separate bug:  X is not correctly notified that a 2nd monitor is *not* 
present and it sets up the 2nd monitor driver (and dual-head, xinerama, etc) anyway.

Again, using "brand W" OS as the bar, display setup detection should work no matter what screens are 
configured and what BIOS startup settings there are....

I looked at the Novell bug you mentioned.  It seemed that the folks there are having more serious 
problems than mine;  My workaround is to simply go into the BIOS and fix the screen setup, and I only 
have to do this once in a while (specifically, when I re-dock, the BIOS flips to the 'wrong' setting).  It 
seemed that the folks in that bug are having to unplug the 2nd monitor and they are having to do it 
every time.
Comment 9 Lars Roland 2005-10-01 06:21:27 UTC
I have a IBM T42 (Radeon 9600 (Mobility M10)), running Gentoo using
Xorg-6.8.99-15 and linux kernel 2.6.14rc1. I am experiencing the same problem as
the original poster: 

If I am using a external display it only works if I boot the laptop into X and
then plugs it in after X is started - if the laptop was booted with the external
display, then only the external display is avalibel in X - the internal LCD gets
switched off. If I switch to console then the internal LCD gets used (as
expected), when I jump back into X again then it is tunred off.

As before fn+f7 only have any effect in console - I have tried switching off IBM
acpi, using APM and none of it works. I have attached my xorg.conf and startup
output:

It should be noted that if I use the non-free ati drivers then I do not have
this problem.
Comment 10 Lars Roland 2005-10-01 06:23:28 UTC
Created attachment 3455 [details]
Log of startup

Log of startup when internal display does NOT get used correctly
Comment 11 Lars Roland 2005-10-01 06:26:49 UTC
Created attachment 3456 [details]
X configuration
Comment 12 T. Hood 2005-10-04 05:42:08 UTC
I have the same problem on my T30.  The only way I can get dual head MergedFB to
work is by having the boot display set to LCD in the BIOS setup program.  If the
setting is DVI+LCD or anything else then when X is started the laptop LCD is black.
Comment 13 Alex Deucher 2005-10-04 05:59:47 UTC
Just a note, to those of you having problems with the LCD+external monitor, only
the LCD and the vga port can be used together.  LCD+DVI is currently not
supported by the radeon driver.  if you try and use that combination, only one
or the other will work since the current driver hardcodes both the LVDS (LCD)
and the internal TMDS (DVI) controllers to crtc1.  At the moment you can only
use one or the other.  I've been attempting to fix this limitation, but I don't
have the hardware to test, so it's tough to get it working by myself.
Comment 14 Lars Roland 2005-10-04 06:08:15 UTC
(In reply to comment #13)
> Just a note, to those of you having problems with the LCD+external monitor, only
> the LCD and the vga port can be used together.  LCD+DVI is currently not
> supported by the radeon driver.  if you try and use that combination, only one
> or the other will work since the current driver hardcodes both the LVDS (LCD)
> and the internal TMDS (DVI) controllers to crtc1.  At the moment you can only
> use one or the other.  I've been attempting to fix this limitation, but I don't
> have the hardware to test, so it's tough to get it working by myself.
> 

For my part it is LCD+VGA that is causing the trouble. If the Xorg developrs are
missing hardware to test, then perhaps it would be a good idea if there was a
list of hardware that the Xorg project would like to get donated. I for one
would be more than happy to have some Radeon driver developer running on a
thinkpad with a external VGA display.
Comment 15 Timo Jyrinki 2007-02-22 03:36:22 UTC
I had a Debian etch installation on T41 which worked without such problems regardless of the BIOS setting if I recall correctly. Have you checked with Fedora Core 6?
Comment 16 Andrew D. Stadler 2007-02-22 12:10:34 UTC
OK, haven't looked at this one in a while, so trying.

FC6 (latest), kernel 2.6.19-1.2911.fc6, X 7.1.1, ati driver 6.6.3

Reboot.  Enter BIOS.
Set display to LCD+VGA.
Grub comes up on the external monitor.
Boot into Linux.
Screens go blank.

The LCD is blank.  If I move the mouse onto the external screen, I can see it, and it has the spinning "working" dots while the system is booting up.

Eventually there is a "beep" when the login screen appears.

So the problem appears to still exist.
Comment 17 Daniel Stone 2007-02-27 01:26:17 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 18 Alex Deucher 2007-08-31 07:10:40 UTC
please try ati git master.  if you still have problems reopen.

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.