# [Solved] Intel DRM FIFO underruns

## Northernsands

Hi all,

An annoying problem started today:  after a few seconds of X loading, then screen goes blank.  Changing VTs  and back doesn't visuallly do anything (i.e. no console and X doesn't come back).

The following error is posted in kern.log and Dmesg (SSHd from another machine):

```
[  157.901338] broken atomic modeset userspace detected, disabling atomic

[  162.643708] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

[  162.643711] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun
```

The first entry appears as soon X as starts to come up, then I start to see my desktop, then a blank screen as soon as the next two entries appear.  The SSH terminal is still functional.

I'm using a Dell Precision T1700 with onboard GPU (and no other GPU present).

In my opinion, nothing tends to break unless something has changed.  I can't pin it down, but I did make some minor Kernel changes, but these seemed to be OK.  The last change I made was to add CPU microcode.  I've since taken this out and verified it's back on the old microcode, but this again seemed to take OK, and has made no difference taking it out.

I've tried adding intel_iommu=igfx_off, but to no avail.

I've also seen this on xf86_video_intel, but I've since removed this and it's still happening.  I don't have an Xorg config file.  

I suspect I've messed something up in the Kernel config, but I can't see where.

I've scoured the 'net, but all the relevant hits suggest a VT change and back again will fix it (it doesn't) or it just causes a screen flicker, and they're all from several years ago and nothing on kernel v5.

Interestingly enough, on one occasion, after it had been left blanked out for a while, I was able to use Ctrl+Alt+Backspace and that got me back in.

Possibly helpful info (logs) will follow.

Thanks in advance.Last edited by Northernsands on Thu May 28, 2020 1:17 pm; edited 2 times in total

----------

## Northernsands

emerge --info

https://drive.google.com/open?id=1G5XgoRPgShJwAWD6XOasuSrxNMY7hZYV

Dmesg

https://drive.google.com/open?id=10drcEG-44_QD79FIzUWL-uIPFFXwYRAE

Xorg.0.log

https://drive.google.com/open?id=1y-rGsHmzdLcuyZQ0QbT7Y9Y32kLN23wL

.config

https://drive.google.com/open?id=1CbysZ4dKJdiilY7X0pglvEhwwtOlU1Lh

If you need anything else, please ask.

----------

## Jaglover

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=26b1d3b527e7bf3e24b814d617866ac5199ce68d

Your Google links do not work for me. I'm guessing you are hitting a kernel bug and the commit above fixes it.

----------

## Northernsands

 *Jaglover wrote:*   

> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=26b1d3b527e7bf3e24b814d617866ac5199ce68d
> 
> Your Google links do not work for me. I'm guessing you are hitting a kernel bug and the commit above fixes it.

 

Unless I'm misreading the commit, that entry adds one of the error messages I'm seeing.

I grep'd kern.log and found the following:

```
May 21 10:29:29 SIN-Dell-02 kernel: [ 1257.349415] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

May 21 10:29:29 SIN-Dell-02 kernel: [ 1257.349418] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

May 21 10:30:53 SIN-Dell-02 kernel: [   18.600283] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

May 21 10:30:53 SIN-Dell-02 kernel: [   18.600286] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

May 21 10:38:46 SIN-Dell-02 kernel: [  446.698362] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

May 21 10:38:46 SIN-Dell-02 kernel: [  446.698364] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

May 21 11:05:05 SIN-Dell-02 kernel: [ 1478.616669] broken atomic modeset userspace detected, disabling atomic

May 21 11:05:10 SIN-Dell-02 kernel: [ 1483.855189] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

May 21 11:05:10 SIN-Dell-02 kernel: [ 1483.855191] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

May 21 11:19:59 SIN-Dell-02 kernel: [   19.125464] broken atomic modeset userspace detected, disabling atomic

May 21 11:20:04 SIN-Dell-02 kernel: [   23.814993] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

May 21 11:20:04 SIN-Dell-02 kernel: [   23.814996] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

May 21 11:33:34 SIN-Dell-02 kernel: [   13.355249] broken atomic modeset userspace detected, disabling atomic

May 21 11:33:39 SIN-Dell-02 kernel: [   18.551871] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

May 21 11:33:39 SIN-Dell-02 kernel: [   18.551873] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

May 21 11:40:06 SIN-Dell-02 kernel: [   13.046804] broken atomic modeset userspace detected, disabling atomic

May 21 11:40:11 SIN-Dell-02 kernel: [   18.249273] [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo underrun on pipe A

May 21 11:40:11 SIN-Dell-02 kernel: [   18.249275] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO underrun

```

So I was getting the FIFO underruns before the broken atomic.  I guess I introduced the latter whilst trying to fix the former.  #sigh

I've been pointed in the direction of wgetpaste to handle logs, so hopefully I'll have those up soon.

Thanks again.

----------

## Northernsands

Logs part II

emerge --info

http://dpaste.com/0F8M644

.config

http://dpaste.com/3ZSESR2

dmesg

http://dpaste.com/2SM7DRZ

Xorg.0.log

http://dpaste.com/2DPMRY4

----------

## Northernsands

I'm not sure if this is helpful or not, but I have noticed the following:

If I leave the PC long enough for the monitor to go to sleep, I can then wake it up (Ctrl-Alt-Backspace does it), X pops up then I can log in and use the desktop

Certain things will trigger the fault: e.g. (in Plasma) going into settings and choosing either Font Manager or Icons immediately blanks the screen

I'm continuing to diagnose...

----------

## Northernsands

So, I tried Xfce to rule in, or out QT and Plasma: same thing happened.  But that got me thinking about what starts up with X; and the answer there is Teams.  Stopped this from starting up and the DE stayed.  Until I manually ran Teams and got an instant blank screen, same as when I ran Fonts Manager and Icons (but not Firefox and a few other applications).

I think I’ve undone all the changes, both Kernel and package wise, that I made at the time the problem first started (minor Kernel tweaks and playing with unstable Plasma Frameworks).  But the problem persists.

I’ll go through the Kernel config with a fine tooth comb and compare it to a known good on another machine, but I’m running out of ideas.

Does anyone know how I can obtain more detailed logs?

Many thanks.

----------

## Northernsands

Just another update.

Teams isn’t the only thing that causes it, but it does cause it every time, without fail.  Clicking around in System Settings (Plasma) will eventually cause it as well.

```
 [  157.901338] broken atomic modeset userspace detected, disabling atomic
```

This error, I believe, is a red herring; it occurs when X executes and is unrelated to the DRM failure.

Other things I’ve tried:

Going through the Kernel config

Turning off IOMMU

Having IOMMU on, but turning off IGFX IOMMU

Updating the Kernel to the latest (unstable) in Portage

All to no avail.  :Sad: 

----------

## Northernsands

Additional things I’ve tried so far:

BIOS update

Re-emerge of Teams and its handful of unique dependencies

More Kernel tweaks

Kernel config from a known good, similar machine (annoyingly from Nvidia to Intel DRM)

Much scratching of one’s head

So, I’m going for the nuclear option: 

```
emerge -e —update —deep @world
```

I’ll report back tomorrow....

If that doesn’t work, I can move the HDD to a near identical Dell and rule out hardware.

----------

## Northernsands

The rebuild happened successfully and has mostly fixed the problem.  It stopped being a permanent screen blank on Teams startup (until the display went to sleep) and became the flicker problem that many others have seen.

```
GRUB_CMDLINE_LINUX="intel_iommu=on,igfx_off"
```

Fixed the flickering as well.

The rebuild also fixed a problem I had with Display Port audio, so happy days.  :Smile: 

----------

