The issue: In Ubuntu 16.04 the laptop screen and also on external screen will get black for several seconds, until it is on again. This black screen flickering happens about once a minute and is really annoying.
Checking dmesg or /var/log/messages, the following error can be found:
[drm:intel_cpu_fifo_underrun_irq_handler [i915]] *error* cpu pipe a fifo underrun
or
[drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder A
[ 5183.384004] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder A
[ 5183.384036] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder A FIFO underrun
[ 5208.736769] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
Linux version:
uname -a
Linux main 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Several posts and other google results suggest this is a Kernel issue.
- https://bbs.archlinux.org/viewtopic.php?id=184857
- https://bbs.archlinux.org/viewtopic.php?id=208427
- https://bbs.archlinux.org/viewtopic.php?id=196370
The usage of a different Kernel, e.g. 4.3.3
or 4.3.6
did not solve the problem.
While testing with an ubuntu 14.04 Live USB Stick, the issue was gone. The Live USB Stick did not use any Nvidia Proprietary driver, so my guess was that this is the issue.
After uninstalling the nvidia driver and adding nuveau, the problem of the black screen flickering was gone.
I hope, I could help somebody with my solution, which is posted below:
sudo apt-get remove --purge nvidia*
sudo apt-get install xserver-xorg-video-nouveau
echo "nouveau" | sudo tee -a /etc/modules
sudo add-apt-repository --remove ppa:graphics-drivers/ppa
sudo apt-get install ubuntu-desktop
sudo reboot
lspci | grep VGA ; lsmod | grep "kms\|drm" ; find /dev -group video ;
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
drm_kms_helper 155648 2 i915,nouveau
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
drm 364544 10 ttm,i915,drm_kms_helper,nouveau
/dev/video0
/dev/fb0
/dev/dri/card1
/dev/dri/renderD129
/dev/dri/controlD65
/dev/dri/card0
/dev/dri/renderD128
/dev/dri/controlD64
for s in $(lspci | grep VGA | awk '{print $1}'); do lspci -v -s $s; done
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Samsung Electronics Co Ltd 2nd Generation Core Processor Family Integrated Graphics Controller
Flags: bus master, fast devsel, latency 0, IRQ 27
Memory at e1000000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915