FS#47937 - [linux] 4.3.3 Intel i915 display corruption - *ERROR* PCH transcoder B FIFO underrun

Attached to Project: Arch Linux
Opened by Jason Antman (jantman) - Friday, 29 January 2016, 12:12 GMT
Last edited by Eli Schwartz (eschwartz) - Monday, 02 October 2017, 22:53 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

## Background:

This seems to be an ongoing issue with i915 and display corruption. See:

https://bugs.archlinux.org/task/47429 - closed as fixed in 4.3.3-2
https://bugs.archlinux.org/task/40952 - open, but against 3.15.1-1

Researching this has led me to the following possibly-related upstream bugs:

https://bugs.freedesktop.org/show_bug.cgi?id=90841
https://bugs.freedesktop.org/show_bug.cgi?id=86478
https://bugs.freedesktop.org/show_bug.cgi?id=93055

## Problem

After performing a full upgrade which included linux-4.3.3-3 and xf86-video-intel-1:2.99.917+519+g8229390-1, I experienced severe corruption of my secondary external display. This was not previously present with linux-4.2.5-1 and xf86-video-intel-1:2.99.917+478+gdf72bc5-3.

Per suggestions in https://bugs.archlinux.org/task/40952 I performed an Intel microcode update, but that did not change the corruption.

Running the second display at a lower resolution *did* alleviate the problem, but was not a workable solution for me. I tried downgrading xf86-video-intel to the previous version and that did not help. Finally I downgraded my kernel back to 4.2.5-1 and that resolved the issue.

## Hardware

Gigabyte GA-Z77-D3H rev 1.2, BIOS FA (rev 4.6) (latest non-beta), Intel Z77 Express chipset
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])

My motherboard has a DVI-D and an HDMI output, both capable of driving 1900x1200. I have a primary display on the DVI-D running at 1900x1200, the monitor's native maximum resolution. The affected monitor is my secondary, attached via HDMI. I span both into one desktop using the native KDE tools (frontend to xrandr). The display corruption only occurred when I had my second monitor (16:9) driven at 1920x1080 (its native maximum res). Dropping it to 1600x1200 resolved the corruption issues but gave me a horribly distorted picture.

## Errors

The following was visible in `dmesg` output when my display manager launched, and when I attempted to change the monitor resolution to native 1920x1080:

[ 68.374990] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 68.374999] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
[ 135.382874] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 135.382883] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
[ 155.110500] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 155.110512] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
[ 223.433191] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 223.433211] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
[ 339.292655] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 339.292672] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
[ 394.101567] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 394.101585] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
[ 398.825169] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 398.825190] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun

## Package upgrade that triggered the issue (partial list):

[2016-01-28 14:34] [ALPM] upgraded linux-firmware (20150904.6ebf5d5-1 -> 20151207.bbe4917-1)
[2016-01-28 14:34] [ALPM] upgraded linux (4.2.5-1 -> 4.3.3-3)
[2016-01-28 14:37] [ALPM] upgraded xf86-input-evdev (2.10.0-2 -> 2.10.1-3)
[2016-01-28 14:37] [ALPM] upgraded xf86-video-intel (1:2.99.917+478+gdf72bc5-3 -> 1:2.99.917+519+g8229390-1)
[2016-01-28 14:37] [ALPM] upgraded xorg-server-common (1.18.0-3 -> 1.18.0-4)
[2016-01-28 14:37] [ALPM] upgraded xorg-server (1.18.0-3 -> 1.18.0-4)
[2016-01-28 14:37] [ALPM] upgraded xorg-server-devel (1.18.0-3 -> 1.18.0-4)

## Package downgrade that solved the issue:

[2016-01-28 15:31] [ALPM] downgraded xf86-video-intel (1:2.99.917+519+g8229390-1 -> 1:2.99.917+478+gdf72bc5-3)
[2016-01-28 17:51] [ALPM] downgraded linux (4.3.3-3 -> 4.2.5-1)
[2016-01-28 17:51] [ALPM] downgraded linux-headers (4.3.3-3 -> 4.2.5-1)
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Monday, 02 October 2017, 22:53 GMT
Reason for closing:  Fixed
Additional comments about closing:  seems to be fixed in linux 4.7
Comment by Jason Antman (jantman) - Monday, 15 February 2016, 22:55 GMT
Today I just did a full update again, which included:
xf86-video-intel (1:2.99.917+478+gdf72bc5-3 -> 1:2.99.917+519+g8229390-1)
linux (4.2.5-1 -> 4.4.1-2)

And the issue is back. I'll be downgrading again.

If anyone is aware of any further troubleshooting that I can do, I'll gladly do it. I'll also be happy to build xf86-video-intel locally, but I'm running a mainline kernel and would rather not deviate from that.
Comment by Jason Antman (jantman) - Tuesday, 16 February 2016, 01:56 GMT
For what it's worth, I just rebuilt https://aur.archlinux.org/packages/xf86-video-intel-git/ (PKGBUILD modified for "X-ABI-VIDEODRV_VERSION=20") using git rev ge41040f and it made no difference.
Comment by Torben Andresen (tapsiturtle) - Thursday, 18 February 2016, 12:49 GMT
Hi,

i'm experince an same error. But only on Wayland. My display begins to flicker after some time but not constantly. Then i start Gnome on X i don't have this error. The Logmessage is:

[ 736.186455] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
[ 2651.864819] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
[ 2651.864860] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder A
[ 2651.864881] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder A FIFO underrun
Comment by Torben Andresen (tapsiturtle) - Monday, 22 February 2016, 07:56 GMT
Yesterday i connnected an TV via HDMI and also get the problems in Gnome with X. So it makes no difference which graphic server is running. It's a driver bug.
Comment by Wolfgang M. (lebenlechzer) - Saturday, 27 February 2016, 10:47 GMT
The problem is appearing for me too.

If I use full HD resolution of my external screen, it goes black (but sometimes flickers back on).
In case I turn down the resolution the monitor output is working but has random black flickers once in a while.

Downgrading only the kernel (video drivers were not necessary) kind of solved the issue. Except: I have to keep the internal screen on. As soon as I turn it off, the system hangs completely and has to be restarted.
Comment by Amadeusz Starzykiewicz (megawebmaster) - Monday, 11 April 2016, 20:29 GMT
The issue still persists - although on my side it makes Gnome Shell act weird, like there is an invisible layer (I cannot click anything) for a few moments. The issue is gone with downgrading kernel to 4.2.5 as mentioned earlier.

Running Lenovo T430 with i5-3320M internal screen + Full HD one using DisplayPort. I'll try to help if there is anything I can do to squash this bug.
Comment by Torben Andresen (tapsiturtle) - Tuesday, 12 April 2016, 07:49 GMT
In Kernel 4.5 are many bug fixes for this kind of error (http://blog.ffwll.ch/2016/01/neat-drmi915-stuff-for-45.html). I have installed this Kernel from testing and didn't had this bug since then.
Comment by Amadeusz Starzykiewicz (megawebmaster) - Wednesday, 13 April 2016, 17:10 GMT
Well, unfortunately 4.5.0-1 x86_64 is still causing this problem for me, even I got "pch transcoder A" errors along with "pch transcoder B" ones I get using 4.4 kernels.
Comment by Torben Andresen (tapsiturtle) - Thursday, 14 April 2016, 07:51 GMT Comment by Torben Andresen (tapsiturtle) - Monday, 22 August 2016, 07:02 GMT
With the last Kernel Version the problem seems to be gone.
Comment by Amadeusz Starzykiewicz (megawebmaster) - Monday, 22 August 2016, 07:04 GMT
I must agree, the issue seems to be gone on 4.7-1 x86_64 kernel.

Loading...