Bugzilla – Bug 613165
intel [Ironlake] 1680x1050 screen flashing when connected via DVI/HDMI
Last modified: 2010-06-14 15:34:44 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.
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.
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
Created attachment 368382 [details] Xorg.0.log
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)
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
Note that the second monitor in the hwinfo--monitor output is the internal monitor, not the 1280x1024 display which is connected via DVI.
Hmm. You have a laptop with 1x VGA + 2x HDMI outputs?
I have a docking station with 1x VGA and 2x DVI/HDMI/DP outputs. Only two can be active at the same time, obviously.
Thanks. I understand. We don't have any docking stations here though. Probably Intel developers haven't either.
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.
Please try with kernel boot option '915.powersave=0 '
Just did: root@endlich:/home/micha> cat /sys/module/i915/parameters/powersave 0 No change in behavior.
FWIW, the problem also exists under Fedora F13.
Update: The problem does not appear with 1280x1024 displays - it seems only 1680x1050 displays are affected. I can't test higher resolutions, though.
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.
:) 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.
(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.
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.
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).
(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.
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!
upstream