Bug 89110

Summary: Reproducible black screen glitches blackouts on Dell 2209WA DVI monitor with specific image using passive DP-DVI adaptor
Product: DRI Reporter: Chris Bainbridge <chris.bainbridge>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED NOTOURBUG QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: chris.bainbridge, intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: IVB i915 features: display/DP
Attachments:
Description Flags
testpage.tar.gz
none
img_for_rot_normal.png
none
img_for_rot_left.png
none
dmesg-drmdebug14
none
fullsize_screenshot_for_normal_rotation.png none

Description Chris Bainbridge 2015-02-12 22:03:58 UTC
Created attachment 113422 [details]
testpage.tar.gz

Hardware: Macbook 13" 2012 Ivy Bridge with Dell 2209WA monitor (portrait rotated) connected via passive DP->DVI adaptor

Reproduce: 

1. Download and boot Fedora-Live-Workstation-x86_64-21-5.iso from http://dl.fedoraproject.org/pub/fedora/linux/releases/21/Workstation/x86_64/iso/Fedora-Live-Workstation-x86_64-21-5.iso

2. start terminal and do "xrandr --output HDMIx --rotate left" to rotate the monitor screen

3. start firefox, maximise it (alt-f10) on the monitor

5. open testpage.html (attached) with "File>Open File" 

5. wait a few seconds, perhaps hit reload (f5) a few times

6. monitor glitches and turns off (this will repeat)

Notes:

- This is a reproducible test case. I've seen this happen for months on random web pages but never been about to reproduce it until now (the web pages were dynamic and could not be completely saved).

- Monitor sometimes flickers on and shows (captured by camera, too fast for 
  eye):

    "The current input timing is not supported by the monitor display.
    Please change your input timing to 1680x1050@60Hz or any other
    monitor listed timing as per the monitor specifications." 

- Lowing the resolution with to 1280x1024 seems to fix 
  the problem but going back to 1680x1050 brings it back

- Seems more likely to happen more when Firefox is maximised (alt-f10) or fullscreen (alt-f11)

- With two or more monitors, when one monitor is glitching, dragging the
  Firefox window to the other monitor will cause the new monitor to start
  glitching. The previously glitching monitor will now be okay since it does
  not have the Firefox window on it.

- Happens on either DisplayPort

- Does NOT happen on HDMI port

- Reproduced on Debian Jessie with 3.16.0 and 3.19.0 kernels.

- Possibly relevant (?), kernel says on boot:
    [    5.930936] 
    [drm:cpt_set_fifo_underrun_reporting] *ERROR* uncleared pch fifo underrun 
    on pch transcoder A
    [    5.930937] [drm:cpt_serr_int_handler] *ERROR* PCH transcoder A FIFO underrun

- Reproduced in Gnome and XFCE

- Triggered by certain URLs - the url in this case was https://packages.debian.org/cgi-bin/search_contents.pl?word=gtk-config&searchmode=searchfiles&case=insensitive&version=testing&arch=i386

- Happens with and without TearFree

- Issue still occurs after disabling hardware acceleration in Firefox settings 
  (Preferences>Advanced>General>Use hardware acceleration when available) then 
  restart

- Happens with UXA and SNA

- Happens with fedora 21 live desktop - straight boot from ISO so clean system and reproducible

- Happens with DP->DVI passive adaptor

- Does NOT happen with DP->DVI active adaptor 

- Does not happen in Chrome even on same web pages at the same time as Firefox is causing glitching

- I only ever saw this happen in Firefox - no other application - and when it did happen it was reproducible on the specific web page that was being viewed. It never happened in Chrome, even on the same web page at the same time. So even though the symptoms might suggest a hardware issue (monitor clock sensitivity etc.) it just makes no sense that it only happens under Firefox, since that suggests a driver issue

- If the HDMI port is used with a passive HDMI>DVI adaptor then it works. If the DP port is used with a passive DP>DVI adaptor then it glitches. Everything else is the same - same DVI cable, same monitor, same computer, same software.
Comment 1 Chris Bainbridge 2015-02-13 01:10:49 UTC
- The cables are Dell 50.7a2a0.041-r DVI-D so should be good

- Surprisingly, I managed to reproduce the problem from a screenshot. Opening the screenshot in gimp and moving it to the monitor connected by passive miniDP>DVI adaptor is enough to cause the monitor to go black.

- Manged to reproduce problem with only a fragment of the image. Opening this in gthumb and dragging it to the centre of the monitor immediately turns it off. Perhaps there is something specific about this pattern of data? Image attached (img_for_rot_left.png)

- Reproduced with monitor in normal rotation (img_for_rot_normal.png) so this is not related to the image being rotated.

- This can be reproduced with a single monitor, it is not something particular to a multi-monitor setup.

- I tested this with 3 monitors and 4 DVI cables and 2 DP-DVI adaptors so it seems it is a design issue somewhere rather than a one off hardware fault.

- Could this is caused by the passive miniDP>DVI adaptors? I was under the impression that this is unlikely since they are electrically very simple, just pass-through wires, and only about 15cm long. These are unbranded and came from a big Ebay seller so likely quite common.
Comment 2 Chris Bainbridge 2015-02-13 01:11:23 UTC
Created attachment 113428 [details]
img_for_rot_normal.png
Comment 3 Chris Bainbridge 2015-02-13 01:11:44 UTC
Created attachment 113429 [details]
img_for_rot_left.png
Comment 4 Jani Nikula 2015-02-13 07:32:56 UTC
Interesting. Please do a fresh boot with drm.debug=14 module parameter, reproduce the problem, then move the screenshot away to restore things to normal, and attach dmesg.
Comment 5 Chris Bainbridge 2015-02-13 12:18:07 UTC
Created attachment 113458 [details]
dmesg-drmdebug14

This is a log of 3.19.0 with drm.debug=14. 

The screens are the internal eDP1 and an external DVI monitor on HDMI3 with passive mDP-DVI adaptor.

booted
logged in
used xrandr to set monitor to the right of laptop display
started eog with the test image
moved it to the external monitor at which point it started glitching
closed the eog window and the glitching stopped
Comment 6 Chris Bainbridge 2015-02-13 12:18:52 UTC
I did the same test under OS X and there was no glitching. Everything worked fine.
Comment 7 Chris Bainbridge 2015-02-13 12:23:34 UTC
Created attachment 113459 [details]
fullsize_screenshot_for_normal_rotation.png

This is the full size 1680x1050 screenshot that I used for testing.

Note this the screenshot is of a normal rotation (landscape) monitor - the 90 degree rotation of the window is deliberate, it seems there is something specific about this pattern that triggers the bug.

I tested this same image under OS X on the same hardware and the bug did not occur.
Comment 8 Chris Bainbridge 2015-02-13 13:16:23 UTC
This is the adaptor: http://www.ebay.co.uk/itm/Mini-Display-Port-to-DVI-I-Monitor-Adaptor-Converter-Cable-DisplayPort-24-5-/271098976593

The description says:

    Support Mini DisplayPort 1.1a compliant receiver offering 5.4Gbps bandwidth over 2 lanes.
    • Support video resolution 1080p, Supports 1920 x 1200 reduced blanking video resolution.
    • Powered from MiniDisplay source.
    • Compatibility: iMac, Mac Mini, Mac Pro, MacBook Air, MacBook Pro 13 inch, MacBook Pro 15 inch, MacBook Pro 17 inch.
    • Connectors: Mini Display Port Male to DVI-I Female 15cm. (Length includes connectors) 

Since it supports reduced blanking, I tried creating a reduced blanking mode:

$ 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
$ xrandr --newmode 1680x1050R 119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync
$ xrandr --addmode HDMI3 1680x1050R
$ xrandr --output HDMI3 --mode 1680x1050R

The new mode works without any glitching.

If I do the previous test, and while the screen is glitching do "xrandr --output HDMI3 --mode 1680x1050R", the screen will immediately stop glitching.

So perhaps OS X is using a reduced blanking mode, or some other altered timings, and that is why the glitching does not appear there.
Comment 9 Chris Bainbridge 2015-02-13 13:27:11 UTC
> The new mode works without any glitching.

Sorry that was incorrect! The new mode glitches. Maybe it is different somehow though.

In the regular mode, if I fullscreen the test image, and do "xrandr --output HDMI3 --mode 1680x1050", the screen starts immediately glitching. 

If I then do "xrandr --output HDMI3 --mode 1680x1050R" it stops glitching. 

But coming out of full screen it starts glitching again.

So perhaps the new mode alters the timings slightly or something, but the underlying glitch problem is still there.
Comment 10 Jani Nikula 2015-02-13 13:36:57 UTC
At a quick glance it looks like the non-reduced mode is just barely within limits of the link. I think I've seen or heard of something similar, but can't find it now.
Comment 11 Chris Bainbridge 2015-02-13 18:26:21 UTC
I found some relevant thread on the Dell site, it seems this was an issue that affected several Dell models made around 2009. Final comment from Dell:

"Posted by DELL-Chris
I never could find a solid fix, several workarounds for PC, none for Macs. The issue does not occur for everyone and we could never replicate it in our lab."

One user posted some images that reproduced the issue on a 2709W http://en.community.dell.com/support-forums/peripherals/f/3529/t/19257125 

"I have the same issue with my 2709W (rev A01). I have made some experiments to find a way to reproduce the problem.... To reproduce the issue, just display the first image on your screen with a 1:1 pixel ratio (ex in your browser) and move the window, the screen should flicker while you move the window."

That is basically what I see and the liney pattern of the posted images is similar to the basic pattern in mine (except my lines were text rather than solid lines).

Some users reported that Sapphire fixed the problem with a BIOS update but for other manufacturers it was still an issue. Using active DisplayPort was the recommended workaround in the end.

I did notice that the issue occurs from 55Hz up to 64Hz but 65Hz seems ok. Perhaps some power issue or signal integrity or minimum sync frequency is required... something odd anyway, nobody knows.

So to conclude, it seems like the problem is probably not the passive DVI adaptors, but some unusual incompatibility between these particular monitors and particular graphics cards.
Comment 12 Jani Nikula 2015-10-23 12:00:26 UTC
(In reply to Chris Bainbridge from comment #11)
> So to conclude, it seems like the problem is probably not the passive DVI
> adaptors, but some unusual incompatibility between these particular monitors
> and particular graphics cards.

Thanks for the follow-up, and sorry for the delay. I suppose that leaves us with "not our bug". Thanks for the report.

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.