CPU pipe B FIFO underrun (screen goes black for a few seconds)
This is logged as kern.err: [ 264.515321] i915 0000:00:02.0: [drm] *ERROR* CPU pipe B FIFO underrun
.
This is a Lenovo ThinkPad T460s laptop (Product Name: 20F9CTO1WW) running Void Linux (x86_64-musl)
$ xuname
Void 5.16.18_1 x86_64-musl GenuineIntel uptodate rrnDFFFFFFF
When I run a Wayland compositor (river) with external 4k monitor docked (DP cable to Lenovo dock) and laptop display turned off
$ wlr-randr
eDP-1 "Panasonic Industry Company 0x96A2 0x00000000 (eDP-1)"
Physical size: 310x170 mm
Enabled: no
Modes:
2560x1440 px, 59.999001 Hz (preferred)
DP-4 "Dell Inc. DELL U2720Q HMMY123 (DP-4)"
Physical size: 600x340 mm
Enabled: yes
Modes:
...
3840x2160 px, 59.997002 Hz (preferred, current)
Position: 2560,0
Transform: normal
Scale: 1.000000
which I obtain from
no_log='> /dev/null 2>&1'
laptop=eDP-1
if $(wlr-randr | grep -q U2720); then
wlr-randr --output $laptop --off
riverctl spawn "swayidle timeout 1200 'wlopm --off DP-4' resume 'wlopm --on DP-4' $no_log"
fi
the screen goes black for a few seconds, then comes back normal. (Everything else works as usual in the meantime.) This happens several times per day at random times, and is often accompanied by the error in the title. It never happens when using only laptop screen. With xorg (dwm) in the same docked setup, I used to see the error in the logs (particularly after a VT switch), but no black screen. (I suspect this is related to the Wayland compositor interacting with the framebuffer in a different way than xorg.)
I can post a full dmesg, the attached one is truncated due to 1M buffer suggested.drm3.log. Edit: full dmesg (from boot to error) using drm-tip kernel attached below at #5455 (comment 1347247)
The compositor is started from tty:
$ cat .bash_profile
...
if [ -z $DISPLAY ] && [ "$(fgconsole)" -eq 1 ]; then
exec gpg-agent --daemon river > ~/Projects/river.log 2>&1
fi
Edit: the issue also happens if I connect the monitor directly to the laptop, without a dock, using a miniDP to DP cable:
$ wlr-randr
DP-1 "Dell Inc. DELL U2723QE 6JX6WN3 (DP-1)"
on linux 6.1.6.