Bug 1666 - Second monitor is initially dpms-off
Summary: Second monitor is initially dpms-off
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 6.8.0
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact:
URL:
Whiteboard:
Keywords:
: 2873 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-10-18 09:16 UTC by Daniel Zappala
Modified: 2006-05-31 07:15 UTC (History)
6 users (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg.conf using mergedfb (2.13 KB, text/plain)
2004-10-18 09:18 UTC, Daniel Zappala
no flags Details
patch (777 bytes, patch)
2004-12-19 12:46 UTC, Alex Deucher
no flags Details | Splinter Review

Description Daniel Zappala 2004-10-18 09:16:05 UTC
I am using mergedfb with the radeon driver supplied by Xorg 6.8.0 (radeon driver
4.0.1).  My system has a Radeon X300, dual-monitor card, both using DVI outputs.
I followed the basic instructions and got a blank screen on my second LCD. 
While the screen is blank, the monitor thinks it is getting a signal, because
the power LED is green.  X even thinks there are two screens, because windows
are placed on the second screen, the pager shows a stretched double screen, etc.
I let the system sit for a bit, and when the 10 minute "OffTime" timer expired,
both screens powered off.  When I moved the mouse to turn them back on, BOTH
screens came back on, and I was able to see everything as normal on screen 2.
Comment 1 Daniel Zappala 2004-10-18 09:18:48 UTC
Created attachment 1125 [details]
xorg.conf using mergedfb

xorg.conf using mergedfb and radeon driver -- second display stays blank until
OffTime expires
Comment 2 Alex Deucher 2004-10-18 20:54:54 UTC
this happens with xinerama as well. see xfree86 bugzilla #276
Comment 3 Alex Deucher 2004-10-18 20:55:47 UTC
can you try the patch in bug 1559 and see if it helps?
Comment 4 Alex Deucher 2004-10-18 20:57:35 UTC
can you also attach your xorg log?
Comment 5 Jez Humble 2004-11-24 02:48:16 UTC
I have exactly the same problem.

The fix, as suggested by Alex Deucher, is to type "xset dpms force off" once X
comes up. This puts both the monitors into powersave. When they come on again,
they should both be working. As he says, "something must not be initialized
properly on the initial mode set, but then gets properly set on a dpms on event."
Comment 6 Alex Deucher 2004-12-19 12:46:35 UTC
Created attachment 1571 [details] [review]
patch

can you give this patch a try?
Comment 7 Daniel Stone 2005-01-04 07:51:37 UTC
Thanks, I'm going to throw this into the Ubuntu packages and see if this fixes it.
Comment 8 Daniel Stone 2005-02-08 05:57:48 UTC
Didn't fix it.

Daniel, could you please try editing
xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c, and at the same
point (grep for 'save->fp2_gen_cntl |= RADEON_FP2_SRC_SEL_CRTC2;'), add the
following lines afterwards:
save->fp2_gen_cntl &= ~(RADEON_FP2_BLANK_EN);
save->fp2_gen_cntl |= RADEON_FP2_ON;

and recompile and see if this works for you.
Comment 9 Alex Deucher 2005-04-01 06:30:48 UTC
*** Bug 2873 has been marked as a duplicate of this bug. ***
Comment 10 Wolfram Schlich 2005-08-17 06:56:52 UTC
Any news on this?
I have exactly the same problem with my new HIS Excalibur Radeon 9600 Dual DVI card.
Comment 11 Wolfram Schlich 2005-08-17 08:50:48 UTC
currently I'm using a fugly hack. I created the file
/etc/X11/xinit/xinitrc.d/99xset, as all executable bash scripts below
/etc/X11/xinit/xinitrc.d/ get sourced by my Gnome XSession:
--8<--[ /etc/X11/xinit/xinitrc.d/99xset ]--8<--
#!/bin/bash
xset dpms force off
xset dpms force on
--8<--
this works for me -- it takes a second and then both screens show up correctly.
howevery, this is just a temporary workaround. any schedule or chance on getting
a fix into Xorg?!
Comment 12 Wolfram Schlich 2005-08-18 05:02:17 UTC
I tried the patch from comment #8 and it works for me.
Here's the diff I used:

http://dev.gentoo.org/~wschlich/src/X11R6.8.2-src.radeon_fp2-enable.diff

Note it didn't work when I placed the lines into the block above right below
'save->fp2_gen_cntl |= RADEON_FP2_SRC_SEL_CRTC2;', I guess because my R9600 is
an R300 variant (RV350 AP) :-) So, I could have placed it into the above block
(CHIP_FAMILY_R200 || IS_R300_VARIANT), but I didn't...
Comment 13 Alex Deucher 2005-08-18 07:05:27 UTC
(In reply to comment #12)
> I tried the patch from comment #8 and it works for me.
> Here's the diff I used:
> 
> http://dev.gentoo.org/~wschlich/src/X11R6.8.2-src.radeon_fp2-enable.diff
> 
> Note it didn't work when I placed the lines into the block above right below
> 'save->fp2_gen_cntl |= RADEON_FP2_SRC_SEL_CRTC2;', I guess because my R9600 is
> an R300 variant (RV350 AP) :-) So, I could have placed it into the above block
> (CHIP_FAMILY_R200 || IS_R300_VARIANT), but I didn't...

I don't see why this patch would make a difference since those bits are set and
cleared at the start of the if block:


    if ((info->DisplayType == MT_DFP && info->IsSecondary) || 
	info->MergeType == MT_DFP) {
	save->crtc2_gen_cntl      = (RADEON_CRTC2_EN | (format << 8));
	save->fp2_h_sync_strt_wid = save->crtc2_h_sync_strt_wid;
	save->fp2_v_sync_strt_wid = save->crtc2_v_sync_strt_wid;
	save->fp2_gen_cntl        = info->SavedReg.fp2_gen_cntl | RADEON_FP2_ON;
	save->fp2_gen_cntl	  &= ~(RADEON_FP2_BLANK_EN);
Comment 14 Wolfram Schlich 2005-09-23 06:34:58 UTC
I can only say that it works with and doesn't work without the patch.
Comment 15 T. Hood 2005-09-29 04:29:00 UTC
Reported fixed in Ubuntu:

    https://bugzilla.ubuntu.com/show_bug.cgi?id=4343
Comment 16 Paul Stewart 2005-11-15 16:42:19 UTC
I've encountered the exact same problem with xorg-x11-6.8.2-62 on Fedora Core 4.
 The "xset dpms force off" command works exactly the same for me, as does the
patch to radeon_driver.c.  Call it crazy, but it works.  

Actually my setup differs a little from the first poster.  MergedFB isn't
working well for me.  This is a Dell PCI-E Radeon X300 card, currently setup
using dual-screen Xinerama instead of MergedFB.  I might not be excerpting the
right section of the Xorg.0.log; let me know if you want the entire output:

(II) Primary Device is: PCI 01:00:0
(WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1) found
(--) Chipset ATI Radeon X300 (RV370) 5B60 (PCIE) found
(--) Chipset ATI Radeon X300 (RV370) 5B60 (PCIE) found
[...]
((--) RADEON(0): Chipset: "ATI Radeon X300 (RV370) 5B60 (PCIE)" (ChipID = 0x5b60)
[...]
II) RADEON(0): I2C bus "DDC" initialized.
(II) RADEON(0): Legacy BIOS detected
(II) RADEON(0): Connector0: DDCType-2, DACType-1, TMDSType-0, ConnectorType-3
(II) RADEON(0): Connector1: DDCType-3, DACType-0, TMDSType-1, ConnectorType-3


EDID information including modes is correctly gathered for each of the displays:

(II) RADEON(0): EDID data from the display on port 1 ----------------------
(II) RADEON(0): Manufacturer: DEL  Model: e009  Serial#: 843268428
[...]
(II) RADEON(0): EDID data from the display on port 2-----------------------
(II) RADEON(0): Manufacturer: DEL  Model: e001  Serial#: 808927833
[...]

Connector information looks correct:

(II) RADEON(0): Primary:
 Monitor   -- TMDS
 Connector -- DVI-I
 DAC Type  -- TVDAC/ExtDAC
 TMDS Type -- Internal
 DDC Type  -- DVI_DDC
(II) RADEON(0): Secondary:
 Monitor   -- TMDS
 Connector -- DVI-I
 DAC Type  -- Primary
 TMDS Type -- External
 DDC Type  -- VGA_DDC
[...]

However it decides MergedFB is a no-go:

(WW) RADEON(0): Failed to detect secondary monitor, MergedFB/Clone mode disabled


If I switch to a single screen setup with 'Option "MergedFB" "true"', however
with Xinerama still set "on" in the ServerLayout, I get two operational
displays, and the messages:

(II) RADEON(0): MergedFB mode forced on.
[...]
(II) RADEON(0): Xinerama active, not initializing Radeon Pseudo-Xinerama

As a result of the issue reported in the latter message, apps treat the display
as one big screen which is inconvenient.  So, I turned off Xinerama, and to my
surprise, my second monitor went blank and the "xset dpms force off" had no
effect in trying to revive it.  Backing out to any of the previous setups
brought the monitor back.  Therefore the best setup I have so far is to use a
multi-screen Xinerama setup.
Comment 17 Paul Stewart 2005-11-16 15:02:25 UTC
Well, I've largely alleviated all my problems.  Firstly, the current CVS
snapshot works correctly out of the box in Xinerama mode.  Secondly, the
MergedFB problem I was having was that I hadn't setup a "MetaModes" line, so the
X server was using the modeline from the primary monitor, which the secondary
couldn't handle.  It seems a little strange that it would override the DDC
parameters so quietly.  However, as far as my issues are concerned I don't think
there are any critical actions left in the current development version of Xorg.
Comment 18 Daniel Zappala 2005-11-17 01:45:13 UTC
This is working fine for me now.  I am using Xorg 6.8.2-r6 with mergedfb (the
same xorg.conf that I originally submitted) and the radeon driver.
Comment 19 Erik Andren 2006-04-07 16:25:00 UTC
Are someone listed on this bug still experiencing this problem using a current
version of xorg?
Comment 20 Erik Andren 2006-05-10 06:16:09 UTC
Ping!
Comment 21 Erik Andren 2006-05-31 07:15:47 UTC
Closing. Please reopen if this issue still exists with a current version of
xorg. (i e 7.1)


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.