Bug 613165 - intel [Ironlake] 1680x1050 screen flashing when connected via DVI/HDMI
Summary: intel [Ironlake] 1680x1050 screen flashing when connected via DVI/HDMI
Status: RESOLVED UPSTREAM
Alias: None
Product: openSUSE 11.3
Classification: openSUSE
Component: X.Org (show other bugs)
Version: Factory
Hardware: x86-64 openSUSE 11.3
: P3 - Medium : Major (vote)
Target Milestone: ---
Assignee: Stefan Dirsch
QA Contact: E-mail List
URL: https://bugs.freedesktop.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-10 08:36 UTC by Michael Schmuker
Modified: 2010-06-14 15:34 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Xorg.0.log (69.33 KB, text/plain)
2010-06-10 09:01 UTC, Michael Schmuker
Details
output of xrandr --verbose on a freshly started xserver (11.35 KB, text/plain)
2010-06-14 13:03 UTC, Michael Schmuker
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Schmuker 2010-06-10 08:36:41 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.4) Gecko/20100513 SUSE/3.6.4-1.17 Firefox/3.6.4

I have a dual monitor setup at work, one 1280x1024 and one 1680x1050. When I connect both via DVI and enable them using xrandr, the 1680x1050 monitor flashes, i.e. turns black for a short time, then shows the image again, turns black etc. 

The duration of the black phase appears to depend on the content of the screen. Blank Desktop does give no blanking, neither does konsole. But krunner, Yast2 or kwrite for example cause flashing. The larger the window, the longer the black phase. When the windows are large, the screen stays black.

The other screen (1280x1024) is not affected. Swapping the connectors doesn't help. Using GNOME instead of KDE does not help, rather makes the flickering worse.

When the 1680x1050 is connected on VGA, the problem does not appear, but this obviously is not a real workaround since image quality on VGA is definitely worse.  

My Hardware: Lenovo Thinkpad 410s (Intel Core i5, Intel HD Graphics) on docking station (Thinkpad Mini Dock Plus Series 3).


Reproducible: Always

Steps to Reproduce:
1. Connect a 1280x1024 and a 1680x1050 panel via DVI.
2. use xrandr to enable native resolution on both displays and to place one --left-of the other
3. start krunner, Yast2, or kwrite and move the window on the 1680x1024 screen. 

Actual Results:  
the 1680x1050 screen flickers with low frequency or turns completely black, depending on the size of the window.


Expected Results:  
No flickering, just displaying a normal desktop.
Comment 1 Stefan Dirsch 2010-06-10 08:49:55 UTC
Would it be possible to provide the required information according
to our HOWTO

  http://en.opensuse.org/Bugs:X

for reporting X11 related bugs? Please set the Status back to
ASSIGNED after providing all the required information. Thanks.
Comment 2 Michael Schmuker 2010-06-10 09:00:53 UTC
micha@endlich:~/Desktop/xbug> rpm --changelog -q libdrm | head -n3 
* Mo Mai 31 2010 sndirsch@suse.de                                                                           
- intel: Use the correct size when allocating reloc_target_info                                             
  array. Thomas tracked down this error with kdm and commit b509640                                         
10:56:49                                                                                                    
micha@endlich:~/Desktop/xbug> rpm --changelog -q Mesa | head -n3
* Sa Mai 22 2010 sndirsch@suse.de                                                                           
- Mesa_indirect_old_xserver_compatibility.diff (revival)                                                    
  Workaround for enabling indirect rendering to older Xservers
10:58:02
micha@endlich:~/Desktop/xbug> rpm --changelog -q xorg-x11-server | head -n3 
* Sa Mai 29 2010 sndirsch@suse.de
- xorg-detect-psb.patch
  * remove again "intellegacy" from driver autoconfiguration; that
10:58:09
micha@endlich:~/Desktop/xbug> rpm --changelog -q xorg-x11-driver-input | head -n3 
* Fr Jun 04 2010 sndirsch@suse.de
- xf86-input-vmmouse-iopl.diff (reverse applied)
  * readd iopl(3) call (bnc #604966)
10:58:15
micha@endlich:~/Desktop/xbug> rpm --changelog -q xorg-x11-driver-video | head -n3 
* Fr Apr 30 2010 sndirsch@suse.de
- xf86-video-neomagic-commit-4e2afb8.diff
  * s/xf86UDelay/usleep/g (bnc #601119)
10:58:47
micha@endlich:~/Desktop/xbug> /usr/sbin/hwinfo --gfx
14: PCI 02.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.318]
  Unique ID: _Znp.u4GoGlTTvQ4
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Model: "Intel Arrandale Integrated Graphics Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0046 "Arrandale Integrated Graphics Controller"
  SubVendor: pci 0x17aa "Lenovo"
  SubDevice: pci 0x21c1 
  Revision: 0x02
  Driver: "i915"
  Driver Modules: "drm"
  Memory Range: 0xf2000000-0xf23fffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  I/O Ports: 0x1800-0x1807 (rw)
  IRQ: 28 (67411 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v00008086d00000046sv000017AAsd000021C1bc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=no, avail=yes, need=no, active=unknown

Primary display adapter: #14
Comment 3 Michael Schmuker 2010-06-10 09:01:47 UTC
Created attachment 368382 [details]
Xorg.0.log
Comment 4 Michael Schmuker 2010-06-10 09:02:27 UTC
10:58:52
micha@endlich:~/Desktop/xbug> xrandr
Screen 0: minimum 320 x 200, current 2960 x 1050, maximum 8192 x 8192
VGA1 connected (normal left inverted right x axis y axis)
   1680x1050      60.0 +
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
LVDS1 connected (normal left inverted right x axis y axis)
   1440x900       60.0 +   50.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected 1680x1050+1280+0 (normal left inverted right x axis y axis) 474mm x 296mm
   1680x1050      60.0*+
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
HDMI3 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024      60.0*+   75.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
Comment 5 Michael Schmuker 2010-06-10 09:06:36 UTC
cat Desktop/xbug/hwinfo--monitor 
33: None 00.0: 10002 LCD Monitor
  [Created at monitor.95]
  Unique ID: rdCR.14aK9c8YbB4
  Hardware Class: monitor
  Model: "SAMSUNG SyncMaster"
  Vendor: SAM "SAMSUNG"
  Device: eisa 0x0255 "SyncMaster"
  Serial ID: "HS1PB05573"
  Resolution: 720x400@70Hz
  Resolution: 640x480@60Hz
  Resolution: 640x480@67Hz
  Resolution: 640x480@72Hz
  Resolution: 640x480@75Hz
  Resolution: 800x600@56Hz
  Resolution: 800x600@60Hz
  Resolution: 800x600@72Hz
  Resolution: 800x600@75Hz
  Resolution: 832x624@75Hz
  Resolution: 1024x768@60Hz
  Resolution: 1024x768@70Hz
  Resolution: 1024x768@75Hz
  Resolution: 1280x1024@75Hz
  Resolution: 1280x1024@60Hz
  Resolution: 1280x960@60Hz
  Resolution: 1152x864@75Hz
  Resolution: 1680x1050@60Hz
  Size: 474x296 mm
  Detailed Timings #0:
     Resolution: 1680x1050
     Horizontal: 1680 1784 1960 2240 (+104 +280 +560) +hsync
       Vertical: 1050 1053 1059 1089 (+3 +9 +39) -vsync
    Frequencies: 146.25 MHz, 65.29 kHz, 59.95 Hz
  Driver Info #0:                                                                                           
    Max. Resolution: 1680x1050                                                                              
    Vert. Sync Range: 56-75 Hz                                                                              
    Hor. Sync Range: 30-81 kHz                                                                              
    Bandwidth: 146 MHz                                                                                      
  Config Status: cfg=new, avail=yes, need=no, active=unknown                                                
                                                                                                            
34: None 00.2: 10002 LCD Monitor                                                                            
  [Created at monitor.95]                                                                                   
  Unique ID: aHB6.ZWuJ1e6xov9                                                                               
  Hardware Class: monitor                                                                                   
  Model: "Lenovo LCD Monitor"                                                                               
  Vendor: LEN "Lenovo"                                                                                      
  Device: eisa 0x4036                                                                                       
  Resolution: 1440x900@60Hz                                                                                 
  Size: 303x190 mm                                                                                          
  Detailed Timings #0:                                                                                      
     Resolution: 1440x900
     Horizontal: 1440 1488 1520 1740 (+48 +80 +300) -hsync
       Vertical:  900  903  909 1026 (+3 +9 +126) -vsync
    Frequencies: 89.26 MHz, 51.30 kHz, 50.00 Hz
  Detailed Timings #1:
     Resolution: 1440x900
     Horizontal: 1440 1488 1520 1924 (+48 +80 +484) -hsync
       Vertical:  900  903  909  926 (+3 +9 +26) -vsync
    Frequencies: 106.89 MHz, 55.56 kHz, 60.00 Hz
  Config Status: cfg=no, avail=yes, need=no, active=unknown
Comment 6 Michael Schmuker 2010-06-10 09:14:13 UTC
Note that the second monitor in the hwinfo--monitor output is the internal monitor, not the 1280x1024 display which is connected via DVI.
Comment 7 Stefan Dirsch 2010-06-10 09:38:56 UTC
Hmm. You have a laptop with 1x VGA + 2x HDMI outputs?
Comment 8 Michael Schmuker 2010-06-10 09:42:15 UTC
I have a docking station with 1x VGA and 2x DVI/HDMI/DP outputs. Only two can be active at the same time, obviously.
Comment 9 Stefan Dirsch 2010-06-10 09:48:56 UTC
Thanks. I understand. We don't have any docking stations here though. Probably Intel developers haven't either.
Comment 10 Michael Schmuker 2010-06-10 09:59:18 UTC
I just verified: The problem also appears when only one the 1680x1050 panel is connected, and all others are switched off via xrandr or physically disconnected.
Comment 11 Stefan Dirsch 2010-06-10 10:01:48 UTC
Please try with kernel boot option '915.powersave=0 '
Comment 12 Michael Schmuker 2010-06-10 10:16:14 UTC
Just did:

root@endlich:/home/micha> cat  /sys/module/i915/parameters/powersave                                        
0                                                                        

No change in behavior.
Comment 13 Michael Schmuker 2010-06-12 07:35:23 UTC
FWIW, the problem also exists under Fedora F13.
Comment 14 Michael Schmuker 2010-06-14 08:33:04 UTC
Update: The problem does not appear with 1280x1024 displays - it seems only 1680x1050 displays are affected. I can't test higher resolutions, though.
Comment 15 Stefan Dirsch 2010-06-14 08:54:20 UTC
Possibly the monitor gives us a wrong modeline. You could try with standard modelines for 1680x1050.

# cvt -r 1680 1050
# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz
Modeline "1680x1050R"  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync

So try the folling:

# create new modes
xrandr --newmode "1680x1050+h+v"  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync +vsync
xrandr --newmode "1680x1050+h-v"  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync
xrandr --newmode "1680x1050-h+v"  119.00  1680 1728 1760 1840  1050 1053 1059 1080 -hsync +vsync
xrandr --newmode "1680x1050-h-v"  119.00  1680 1728 1760 1840  1050 1053 1059 1080 -hsync -vsync

# add modes to output
xrandr --addmode HDMI2 "1680x1050+h+v"
xrandr --addmode HDMI2 "1680x1050+h-v"
xrandr --addmode HDMI2 "1680x1050-h+v"
xrandr --addmode HDMI2 "1680x1050-h-v"

# switch between modes
xrandr --output HDMI2 --mode "1680x1050+h+v"
xrandr --output HDMI2 --mode "1680x1050+h-v"
xrandr --output HDMI2 --mode "1680x1050-h+v"
xrandr --output HDMI2 --mode "1680x1050-h-v"

Does any of these modes help? Then the EDID information of the monitor is broken.
Comment 16 Michael Schmuker 2010-06-14 09:11:27 UTC
:) Each one of the modes you suggested works; Thanks! :)

The question now is, can anything be done to fix this permanently? BTW, the monitor worked without issues with my previous notebook, which had an Ati mobility radeon x1300 graphics chip, with either fglrx, radeon and radeonhd drivers.
Comment 17 Stefan Dirsch 2010-06-14 12:25:56 UTC
(In reply to comment #16)
> :) Each one of the modes you suggested works; Thanks! :)
> 
> The question now is, can anything be done to fix this permanently? 

This information should be added to the quirks information of xorg-server
(hw/xfree86/modes/xf86EdidModes.c).

> BTW, the monitor worked without issues with my previous notebook, which had 
> an Ati mobility radeon x1300 graphics chip, with either fglrx, radeon and 
> radeonhd drivers.

Most likely you still used a static xorg.conf with a 1680x1050 modeline generated by SaX2.
Comment 18 Stefan Dirsch 2010-06-14 12:48:16 UTC
There is even already one quirk for your monitor in that code:

DDC_QUIRK_PREFER_LARGE_60
"Detailed timing is not preferred, use largest mode at 60Hz"

Maybe that's even the issue here ... possibly 

DDC_QUIRK_135_CLOCK_TOO_HIGH
"Recommended 135MHz pixel clock is too high"

helps here, but first I would like to see the output of

  xrandr --verbose

on a freshly started Xserver.
Comment 19 Michael Schmuker 2010-06-14 13:03:35 UTC
Created attachment 368961 [details]
output of xrandr --verbose on a freshly started xserver

Here's the output of xrandr --verbose from a freshly started xserver. I did an init 3 and subsequent init 5 on the console, I hop ethis counts for "freshly started xserver".

HDMI2 is the 1680x105 display (Samsung SyncMaster 225BW).
Comment 20 Stefan Dirsch 2010-06-14 14:36:21 UTC
(In reply to comment #19)
> Created an attachment (id=368961) [details]
> output of xrandr --verbose on a freshly started xserver

Thanks!

1680x1050 (0x4f)  146.2MHz -HSync +VSync +preferred
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock   65.3KHz
        v: height 1050 start 1053 end 1059 total 1089           clock   60.0Hz

> ... possibly 
>
> DDC_QUIRK_135_CLOCK_TOO_HIGH
> "Recommended 135MHz pixel clock is too high"
>
> helps here

So that option wouldn't help, since only one modeline for this mode is available.

I'm afraid you need to live with a hack below /etc/X11/xorg.conf.d or report
that issue on bugs.freedesktop.org (product: xorg, component: Server/general).

Please add me to Cc (sndirsch@suse.de).

You'll need to register for an account on bugs.freedesktop.org
first, in case you don't have one yet. Thanks.
Comment 21 Michael Schmuker 2010-06-14 15:19:47 UTC
Well, I guess I can live with the workaround to set the custom modeline via xrandr. 

I filed a bug on freedesktop.org:

https://bugs.freedesktop.org/show_bug.cgi?id=28535

Thanks a lot for your help!
Comment 22 Stefan Dirsch 2010-06-14 15:34:44 UTC
upstream