Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
Project 'drm/intel' was moved to 'drm/i915/kernel'. Please update any links and bookmarks that may still have the old path.
SKL screen flicker after suspend and dmesg "[drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun" on HP EliteBook Folio G1
As described in Comment 55 of original bugreport, issue is still reproducible on HP EliteBook Folio G1, but now happen only after suspend / resume cycle.
In attached log (dmesg with drm.debug=0x1e log_buf=4M on cod/tip/drm-tip/2019-07-23 ec297a234e92aa258bba523320898f408d0cf147) I suspend and resume laptop once, switched between windowed and fullscreen mode on YouTube in Firefox, launched mc and exited from mc few times, back to Firefox, switched to fullscreen YouTube again, got flickering.
Hi, I am using kernel 5.3.4 with those boot options (with no success - still happening):
intel_idle.max_cstate=4 i915.enable_psr=0
but still occasionally I get:
[15807.397665] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] ERROR CPU pipe B FIFO underrun
and my external attached display port monitor on the dock is going black (only the left one, the right one stays ok) and about 1-2 seconds l8r picture is there again.
Anything else I can provide or try to get rid of those flicker / black screen?
@skarana1 with drm-tip 2020-02-20 fbfd614e946dc8ba097ea684179eee70fb6e53ed issue got worse. Now screen flicker not after suspend, but right on text boot log dmesg2 or boot splash screen dmesg3
Count from original bug report, this issue is two and half years old. Could you please ask developers to look into this issue before hardware get obsolete?
Oh that looks bad, opened already 9 month ago! For me it is a severe issue as a laptop needs standby and to lose power save state is a killer for the battery. So please help!
I started having these frequently on my SKL GT2 (Dell Precision 5510) with 5.6 (and 5.7). I have an external display connected over DisplayPort and does not seem to be related to suspend or resume specifically as the machine is on mains and does not sleep.
Let me repeat, that (as for me) the flicker happens only after suspend. My feeling is, that this are different bugs, but maybe I am wrong.
Beside the above mentioned workaround (which has for laptops the drawback of to high power drain) I found another one. I found that on my Folio G1 (core-m5 6th gen, Skylake) the flicker disappears if I lower the resolution. Switching back to 1920x1080 - flicker again.
As predefined resolutions are either low or give black stripes I created a custom resolution of 1912x1080 (you wouldn't notice the difference) and all is great. No flicker and no power drain, just 8 pixel (in a column) lost. As long there is no real solution (and I start not believe in it any longer) this is a good workaround.
Although I am far away from beeing an expert in Linux graphics - pretty sure you can use your own defined resolutions/frequencies in Wayland too. Linux is very flexible. As for me I can live better with this reduced resolution than with crippled power saving.
You can try a predefined smaller resolution to - just to test the workaround. As I have same device - it should work.
@arno thank you for trying to help. However, Wayland compositors does not read xorg conf files, only X.Org Server do, and I don't use it on this device for a couple of years.
Just one note to my "workaround" with slightly reduced resolution: This gives me screen tearing as a side-effect. I can better live with screen tearing than with flicker, but that shows the need of solving the issue.
Issue is still reproducible on today drm-tip (2020-12-22 5c75b762ad66debdc7dc7821680795209fe997c0)
If yes, provide the steps to reproduce it for further debugging.
As per comment now issue is reproducible right-a-way, even on boot splash screen, and then on the desktop. No special actions is required. Just in case, this issue is three years old now. Could you please ask developers to look into this issue before hardware get obsolete?
Oh, there is important note: this issue could be specific to FullHD hw revision of the laptop. I know a person with 4K hw revision and he could not reproduce it.
I couldn't increase resolution, but decrease. As above mentioned ... no such flicker with 1912x1080 instead of 1920x1080. But - my setup is suffered than by screen tearing.
I also cannot reproduce the flickering, but I do get those lines on EVERY boot since I am using this laptop (for more than 3 years now):
i915 0000:00:02.0: [drm] *ERROR* fifo underrun on pipe Ai915 0000:00:02.0: [drm] *ERROR* pch fifo underrun on pch transcoder A
There seems to be no effect, means: everything works as expected. In comparison to the original bug report the difference is that I almost never use hybernation/standby. I have regularly connected external displays though, either over VGA or over miniDP (using a miniDP to HDMI adapter), and they all work as expected too.
The attatched dmesg output file was filtered, Kernel version 5.10.9 on Gentoo Linux: dmesg_drm.xz
# dmesg | grep -e "drm" -e "i915" > dmesg_drm
This file is with an external VGA display connected and set as the only display (laptop lid closed immediately after power on), from bootup to the desktop only the external VGA display was used. (Additionally, LVDS was selected off in the KDE Plasma display settings, which always gets restored after login if the lid is be open.)
I see i915 0000:00:02.0: [drm] *ERROR* CPU pipe A FIFO underrun about once a day. The display flickers once, that's it. I first reported FIFO underruns on Dell XPS 9560 (which I am still using) about 4 years ago. I'm on Arch and I use latest kernel and latest mesa. This issue has been a constant companion for the last 4 years.
I would be eager to help, even though on my system there isn't really an impact due to this bug. Everything works for me, but it may be related to the relatively low display resolution of only 1366x768. External displays, for analog VGA I used up to 1280x1024 and for DVI I had up to Full HD 1920x1080 (but not at the same time: either VGA or DVI), worked so far as well, with and without the internal display as mirror or extension, but mostly I only use one display.
I constantly get the FIFO underrun, means: on every boot-up with every kernel for the last ~4 years.
I know other users are affected more. I would love to help. But we need devs! Please!
It seems like Kernel 5.13 fixes the FIFO Underrun Reporting for me. The newly introduced CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 looks like it does this job, it is part of the Default request/fence expiry + watchdog patch series. I have to check yet what happens if I disable the timeout, i.e. set it to 0. On the other hand, since there were quite a lot i915+drm related changes in 5.13, it could be something completely different, like this...
Ok, let's hope the best that this solves flickering after suspend.
Someone know how to test this with Ubuntu running from USB stick? Probably this is impossible because one has to change/update the kernel and this USB's are not created for this operation.
(I am not experience how this could be done on Ubuntu Mate 20.04LTS and I can't risk to mess my system).
No effect for me with 5.13 on i5-10210U. Still see blanks with fifo underrun errors, particularly on an external display with USB operative, if deep package sleep states are allowed. Though in my case I'm beginning to suspect this is a hardware and/or implementation issue.
@drjhe : you do have a rather modern CPU. Beside the error message, do you see flickering after entering suspend and wake up? As long as I don't enter standby all seems to be fine. But Laptop needs standby...
[ 0.368779] ACPI BIOS Error (bug): AE_AML_BUFFER_LIMIT, Field [CAP1] at bit offset/length 64/32 exceeds size of target Buffer (64 bits) (20210331/dsopcode-198)[ 0.368861] ACPI Error: Aborting method \_SB._OSC due to previous error (AE_AML_BUFFER_LIMIT) (20210331/psparse-529)[ 1.143752] RAS: Correctable Errors collector initialized.[ 2.880650] i915 0000:00:02.0: [drm] *ERROR* CPU pipe A FIFO underrun[ 23.523718] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro. Quota mode: none.[ 24.271900] hp_wmi: query 0x4 returned error 0x5[ 24.297728] hp_wmi: query 0xd returned error 0x5[ 24.484457] hp_wmi: query 0x1b returned error 0x5[ 97.675620] i915 0000:00:02.0: [drm] *ERROR* CPU pipe A FIFO underrun
Its even worse than the old kernel. I get a lot of artefacts already while booting. It is very interesting that the same method decribed above (switching to 1912x1080) helps. Damned guys, with this info it should be fixable.... Something frequency depending.
You mentioned a paramter CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
just as a note. The error can be triggered by xset dpms force off too.
I switched from Ubu20.04 LTS to Mint 20.2 - both use the same ubuntu kernel. BUT:
The flickering is much less intensive in Mint. Its not gone, but its noticeable less.
@jani.saarinen You probably meant me here :) Will check it, seems like there are multiple issues with FIFO underruns here.
Problem is that FIFO underrun can be a symptom of a multiple issues.
If anyone still has some problems here - can you please post again the issue description and latest dmesg with drm.debug=0x1e added in kernel command line. THe issue seems to be 2 year old and obviously consists of multiple different issues actually.
No, I have nothing to contribute. I'm not sure why I am associated with this bug as it can't affect me. I looked for a link, but could not find one. It must have been some action I performed, but I have no record, or recollection, of it.
I am running an HP Folio that is affected, right now:
Linux 5.4.0-100-generic #113 (closed)-Ubuntu SMP Thu Feb 3 18:43:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
If there is a chance to get rid of it, just let me know (in detail how to install kernel) what to do for testing.
@arno CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 is a kernel .config setting, not a boot option, i.e. run:
# cd /usr/src/linux ; grep -i -e i915 .configCONFIG_DRM_I915=yCONFIG_DRM_I915_FORCE_PROBE=""CONFIG_DRM_I915_CAPTURE_ERROR=yCONFIG_DRM_I915_COMPRESS_ERROR=yCONFIG_DRM_I915_USERPTR=y# CONFIG_DRM_I915_GVT is not set# CONFIG_DRM_I915_PXP is not set# drm/i915 Debugging# CONFIG_DRM_I915_WERROR is not set# CONFIG_DRM_I915_DEBUG is not set# CONFIG_DRM_I915_DEBUG_MMIO is not set# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set# CONFIG_DRM_I915_DEBUG_GUC is not set# CONFIG_DRM_I915_SELFTEST is not set# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set# end of drm/i915 Debugging# drm/i915 Profile Guided OptimisationCONFIG_DRM_I915_REQUEST_TIMEOUT=20000CONFIG_DRM_I915_FENCE_TIMEOUT=10000CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500CONFIG_DRM_I915_PREEMPT_TIMEOUT=640CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000CONFIG_DRM_I915_STOP_TIMEOUT=100CONFIG_DRM_I915_TIMESLICE_DURATION=1# end of drm/i915 Profile Guided OptimisationCONFIG_SND_HDA_I915=y
Naturally, that will only work if you compile your own kernel and it's available at /usr/src/linux. I am unaware of boot-time options for i915 other than brightness. From kernel-parameters.txt, e.g. like so:
# cd /usr/src/linux ; grep -i -e i915 Documentation/admin-guide/kernel-parameters.txt i915.invert_brightness=
I will also try the latest drm-tip if I find the time, and add the mentioned debug options, but I am currently no longer affected by the mentioned "pipe A FIFO underrun" message and I was never affected by a real flicker issue (except for an intial flicker maybe when setting a mode, which is a non-issue really...)
@jani.saarinen I tried the latest drm-tip, 5.17.0-rc6, and everything works as expected on my system. I have dmesg flooded with log messages from i915 with drm.debug=0x1e log_buf_len=1M so there's not much to gain from it, but I will try again without debug and with debug, but with a much bigger log_buf. For now, on my system I don't see any issues.
To make this clear once more: I never had issues. I only ever had the dmesg log line *ERROR* CPU pipe A FIFO underrun and I was curious of the reason for this error message. Since kernel 5.13 I don't see this dmesg line no more, at least on my system.
My system: Lenovo ThinkPad X230. Internal display, 1366x768, and external via miniDP to HDMI (digital), 1920x1080 (FullHD). See my above messages for more info, with the only change that I don't use the (analog VGA D-Sub DE-15) display with 1280x1024 any more...
@arno Sorry.. this has been going on for so long! Lately there had been updates to the WM logic especially the case where there is single DRAM channel! It should help solve the Fifo underruns because of the WM issues! The changes are in the latest kernel! Could you try upgrade the kernel and try! And please provide the log if this still happens! Thanks (drm.debug=0xe log_buf_len=4M)
@vgovind2 : Thanks I will test this. But I need a bit support from your side.
Ahead, I have just my productive Linux (Mint/Cinnamon 20.3) - so I need some assistance to keep my system booting! I used https://01.org/linuxgraphics/documentation/build-guide-0, and stopped before "make module_install". So what are the steps to keep my system alive?
I am a bit afraid of installing a kernel/modules bypassing Mints original installation process.
My /boot partition looks like that:
drwxr-xr-x 5 root root 4096 Aug 11 19:50 ./drwxr-xr-x 19 root root 4096 Aug 12 2021 ../-rw-r--r-- 1 root root 237947 Jun 22 15:00 config-5.4.0-122-generic-rw-r--r-- 1 root root 237947 Aug 4 03:48 config-5.4.0-124-genericdrwx------ 4 root root 1024 Jan 1 1970 efi/drwxr-xr-x 4 root root 4096 Aug 11 19:50 grub/lrwxrwxrwx 1 root root 28 Aug 10 18:25 initrd.img -> initrd.img-5.4.0-124-generic-rw-r--r-- 1 root root 88491459 Aug 7 12:33 initrd.img-5.4.0-122-generic-rw-r--r-- 1 root root 88493139 Aug 10 18:27 initrd.img-5.4.0-124-genericlrwxrwxrwx 1 root root 28 Aug 10 18:25 initrd.img.old -> initrd.img-5.4.0-122-genericdrwx------ 2 root root 16384 Aug 12 2021 lost+found/-rw------- 1 root root 4758694 Jun 22 15:00 System.map-5.4.0-122-generic-rw------- 1 root root 4758850 Aug 4 03:48 System.map-5.4.0-124-genericlrwxrwxrwx 1 root root 25 Aug 10 18:25 vmlinuz -> vmlinuz-5.4.0-124-generic-rw------- 1 root root 13660416 Jun 22 15:26 vmlinuz-5.4.0-122-generic-rw------- 1 root root 13660416 Aug 4 03:54 vmlinuz-5.4.0-124-genericlrwxrwxrwx 1 root root 25 Aug 10 18:25 vmlinuz.old -> vmlinuz-5.4.0-122-generic
Compiling ends with error:
make[1]: *** Keine Regel vorhanden, um das Ziel „debian/canonical-certs.pem“
Does uncommenting this in .config (CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem") has no negative sideeffects? At least other questions pop up with that.
So, what to do else if above issue is solved? Just exchanging the vmlinuz isn't enough.
@arno Well.. in this case, you don't need to get drm-tip and compile etc. You can get the latest kernel 5.19 release and install. The fix I mentioned above w.r.t wm changes are already in the release! Could you try that and get the log from boot (with commandline params drm.debug=0x1e log_buf_len=4M) Also pls list the behavior you are facing as well!
@vgovind2 : My Mint 20.3 goes up til 5.15. So I upgraded to Mint 21, but it also doesn't support the 5.19 via its own update.
The only I can observe, the 5.15 flickers even more - even right after boot, not only after wake up from suspend. Thanks god the 1912x1080 trick with reduced resolution still works.
@arno I don't know how to get the most recent Linux kernel from kernel.org to Linux Mint, but I found this: How to Install Linux Kernel 5.17 on Linux Mint 20 LTS – using the Ubuntu Mainline Repo, even the most recent kernel (as of this writing 5.19.5) should be available. Installing them should be fairly easy, just download the *.deb kernel packages and install them using dpkg (as described in the above linked webpage at linuxcapable.com).
I also found How to Compile a Linux Kernel, which is very generic, and Build custom kernel on Debian / Ubuntu – which Mint is based on, so it should work there as well. The only thing I would add is (between step 8 "make install" and 9 "reboot") to re-run grub-mkconfig to get the newly installed kernel as one of the boot options for GRUB2 (assuming that Mint uses GRUB, as almost every other Linux distribution does nowadays): "sudo grub-mkconfig -o /boot/grub/grub.cfg" (assuming this is where GRUB2 is mounted/located/accessible in Linux Mint). This way you can still choose which kernel to boot (giving you a fallback, should the newly compiled kernel not work).
Keep in mind that doing this wrong can (will? might?) render your system unbootable. So before you start: a backup plan (what to do should this happen) is a great idea... (a bootable live media is sometimes/often, but not always, able to restore a working configuration, but you'd have to know exactly what you're supposed to be doing.)