Bug 14273

Summary: [G35 SDVO-HDMI] DPMS doesn't work over HDMI
Product: xorg Reporter: Dag Bakke <dag>
Component: Driver/intelAssignee: MaLing <ling.ma>
Status: RESOLVED NOTOURBUG QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: gronslet
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
logfile
none
config
none
set SDVO monitor DPMS state none

Description Dag Bakke 2008-01-27 23:42:43 UTC
Created attachment 13982 [details]
logfile

My Benq G2400W goes blue when DPMS kicks in. I drive it with an ASUS P5E-V HDMI (Intel G35), using git HEAD as of january 25 or so. The connection is HDMI in both ends.

I have tried playing with the DPMS modes (not using 'off', only using 'off'), but it does not appear to make a difference.


Relevant bits from Xorg.0.log (log and conf added in full below):
(**) Option "BlankTime" "5"
(**) Option "StandbyTime" "10"
(**) Option "SuspendTime" "20"
(**) Option "OffTime" "30"
(**) Option "AIGLX" "on"
[......]
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"(II) Module "ddc" already built-in
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"(II) Module "i2c" already built-in
(II) intel(0): Output VGA using monitor section Monitor0
(**) intel(0): Option "PreferredMode" "1920x1200"
(II) intel(0): I2C bus "CRTDDC_A" initialized.
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOB" initialized.
(II) intel(0): I2C device "SDVOCTRL_E for SDVOB:SDVO Controller B" registered at address 0x70.
(II) intel(0): I2C bus "SDVOB DDC Bus" initialized.
(II) intel(0): Output TMDS-1 has no monitor section
(II) intel(0): SDVO device VID/DID: 04:AE.00, clock range 25.0MHz - 165.0MHz, input 1: Y, input 2: N, outp
ut 1: Y, output 2: N
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" initialized.
(II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C" registered at address 0x72.
(II) intel(0): No SDVO device found on SDVOC
(II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C" removed.
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" removed.
(II) intel(0): Current clock rate multiplier: 8
(II) intel(0): I2C device "CRTDDC_A:ddc2" registered at address 0xA0.
(II) intel(0): I2C device "CRTDDC_A:ddc2" removed.
(II) intel(0): I2C device "SDVOB DDC Bus:ddc2" registered at address 0xA0.
(EE) intel(0): Unable to write to SDVOCTRL_E for SDVOB Slave 0x70.
(II) intel(0): EDID vendor "BNQ", prod id 30730
(II) intel(0): Output VGA connected
(II) intel(0): Output TMDS-1 connected
(II) intel(0): Output VGA using initial mode 1920x1200_60.00_rb
(II) intel(0): Output TMDS-1 using initial mode 1920x1200
(II) intel(0): detected 512 kB GTT.
(II) intel(0): detected 7676 kB stolen memory.
(==) intel(0): video overlay key set to 0x101fe
(==) intel(0): Will not try to enable page flipping
(==) intel(0): Triple buffering disabled
(==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
(**) intel(0): Display dimensions: (520, 320) mm
(**) intel(0): DPI set to (93, 152)
[......]
(EE) intel(0): Unable to write to SDVOCTRL_E for SDVOB Slave 0x70.
(II) intel(0): EDID vendor "BNQ", prod id 30730
(II) intel(0): Using hsync ranges from config file
(II) intel(0): Using vrefresh ranges from config file
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1920x1200"x0.0  154.00  1920 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz)
[lots of modelines deleted, then repeat:]
(II) intel(0): EDID vendor "BNQ", prod id 30730
(EE) intel(0): Unable to write to SDVOCTRL_E for SDVOB Slave 0x70.
(II) intel(0): EDID vendor "BNQ", prod id 30730
(II) intel(0): Using hsync ranges from config file
(II) intel(0): Using vrefresh ranges from config file
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1920x1200"x0.0  154.00  1920 1968 2000 2080  1200 1203 1209 1235 +hsync -vsync (74.0 kHz)
[deleted]
(II) intel(0):   Pipe A is on
(II) intel(0):   Display plane A is now enabled and connected to pipe A.
(II) intel(0):   Pipe B is on
(II) intel(0):   Display plane B is now enabled and connected to pipe B.
(II) intel(0):   Output VGA is connected to pipe A
(II) intel(0):   Output TMDS-1 is connected to pipe B

Unrelated to the issue at hand:
I note that the driver still claims 
'(WW) intel(0): Option "PreferredMode" is not used'
which definitely used to be a lie a few months back. I think it still is.
Comment 1 Dag Bakke 2008-01-27 23:43:44 UTC
Created attachment 13983 [details]
config
Comment 2 Gordon Jin 2008-01-28 18:00:14 UTC
Do you have chance to try this on VGA?
Comment 3 Dag Bakke 2008-01-29 13:33:12 UTC
The monitor goes to sleep after DPMS kicks in, if connected through VGA.
The display goes dark, and the power led turns amber.

If connected through HDMI, the panel turns blue when DPMS kicks in. Yanking the cable makes no difference, it stays blue.



Comment 4 Dag Bakke 2008-02-03 02:32:30 UTC
Tweaked summery
Comment 5 Dag Bakke 2008-06-19 13:05:50 UTC
Tested master now. Still no luck with DPMS.
Comment 6 Dag Bakke 2008-08-04 11:02:02 UTC
Just tested with current master. My HDMI-connected monitor still does not suspend when DPMS kicks in.
Comment 7 Jesse Barnes 2008-08-04 11:46:25 UTC
Reassign Hong's bugs back to the default for triage.
Comment 8 Gordon Jin 2008-08-04 23:39:38 UTC
I can't reproduce this with your xorg.conf on my ASUS P5E-VM HDMI board, with HDMI->HDMI connection.

Do you mean you see this when BlankTime activated after 5 mins?

Below line in your log looks weird, since you says only using HDMI:
>> (II) intel(0): Output VGA connected

Zhenyu, any idea?
Comment 9 Dag Bakke 2008-08-05 00:58:37 UTC
When connected VGA-VGA, the monitor LED turns amber and the panel goes dark when DPMS kicks in. (At least it used to, I haven't tested this in the last few months.)

When connected HDMI-HDMI, the monitor LED stays green and the panel turns blue, when DPMS kicks in. I.e. no powersaving. I'd like the same behaviour as for VGA, if possible.

It is possible that the two if 0'ed codelines in the i830_sdvo_dpms function of 
i830_sdvo.c is to blame. The one time I tried to enable these two lines, I had to reboot to get output to the panel again.  :-)

Comment 10 Dag Bakke 2008-08-05 01:04:21 UTC
Also se my previous comment.

I currently have DPMS disabled in xorg.conf. For testing, I enable dpms like this:

xset +dpms
xset dpms 10 20 30

DPMS will now kick in after 10 seconds of inactivity.

xset -dpms disables dpms again.
Comment 11 Wang Zhenyu 2008-11-10 19:57:37 UTC
Created attachment 20201 [details] [review]
set SDVO monitor DPMS state

This patch applys to current git master, and try to use monitor power state command for DPMS.

Please help to test if this works for you.
Comment 12 Wang Zhenyu 2008-11-12 21:24:15 UTC
reassign to Ma Ling, who has the identical hardware (monitor and G35) to test with this.
Comment 13 Dag Bakke 2008-11-22 13:32:37 UTC
Tested with patch on top of tonights git. Sorry, no cigar. It doesn't work.
Comment 14 MaLing 2008-12-02 22:48:01 UTC
Hi 

I use the same motherboard & BenQ G2400W display, and reprodeced the issue.

However if I unplug HDMI cable with power on, the screen is blue, when I switch it to VGA or DVI mode the screen is black.
If I use another HDMI display, the dpms work fine.

So the conclusion is not from driver . It belongs to HW Display (BenQ G2400W).

Thanks
Ma Ling

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.