Bug 100536 - [KBL] Certain workload (such as viewing some website) cause screen flicker
Summary: [KBL] Certain workload (such as viewing some website) cause screen flicker
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: highest critical
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
Keywords: bisect_pending, regression
Depends on:
Reported: 2017-04-03 01:39 UTC by Boyan Ding
Modified: 2017-07-24 23:15 UTC (History)
1 user (show)

See Also:
i915 platform: KBL
i915 features: display/Other

The apitrace file that can reproduce the flicker (10.53 MB, application/octet-stream)
2017-04-03 01:39 UTC, Boyan Ding
no flags Details
Another trace of google chrome that caused flicker on 4.10.10 (4.43 MB, application/x-xz)
2017-04-20 10:47 UTC, Boyan Ding
no flags Details

Description Boyan Ding 2017-04-03 01:39:02 UTC
Created attachment 130651 [details]
The apitrace file that can reproduce the flicker

Opening some website in chrome/chromium can cause screen flicker on my kaby lake laptop. The screen will flash violently and display some garbled content on a black background. It's gone as soon as I close the offending tab with keyboard shortcut.

I tried to make screenshot during the flicker, the screenshot image looks all right, so that might be a display issue rather than rendering one. I captured the rendering commands using apitrace, and found replaying the trace will also cause the flicker. The trace is also attached here. I don't think I have found anything helpful in kernel or xorg logs. This occurs with both xf86-video-intel and modesetting driver in xorg.

Hardware info:
Machine: Acer Aspire VX5-591G-72LY
Graphics: VGA compatible controller: Intel Corporation Device 591b (rev 04)

Software info:
Kernel: 4.10.6-1-ARCH
mesa: 17.0.2
X server: 1.19.3
Comment 1 Boyan Ding 2017-04-03 02:24:54 UTC
Tested with kernel 4.9.20, no flickering happens with the trace or browser. So it seems like a regression in 4.10 series
Comment 2 Jani Saarinen 2017-04-05 15:37:35 UTC
Please try with latest drm-tip if seen there too.
Comment 3 Boyan Ding 2017-04-06 03:06:30 UTC
(In reply to Jani Saarinen from comment #2)
> Please try with latest drm-tip if seen there too.

Just built drm-tip. Even X won't start. So is there any other more stable branch that I might try? drm-next?

Log below

(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (OsLookupColor+0x139) [0x59c209]
(EE) 1: /usr/lib/libpthread.so.0 (__restore_rt+0x0) [0x7f26830c8fdf]
(EE) 2: /usr/lib/libc.so.6 (__strcmp_sse2_unaligned+0x1e) [0x7f2682da3cde]
(EE) 3: /usr/lib/xorg/modules/drivers/modesetting_drv.so (_init+0x59c9) [0x7f267f800fe9]
(EE) 4: /usr/lib/xorg-server/Xorg (RRChangeOutputProperty+0x1c7) [0x4feef7]
(EE) 5: /usr/lib/xorg/modules/drivers/modesetting_drv.so (_init+0x5e95) [0x7f267f801645]
(EE) 6: /usr/lib/xorg-server/Xorg (xf86RandR12Init+0x3a4) [0x4b8c14]
(EE) 7: /usr/lib/xorg-server/Xorg (xf86CrtcScreenInit+0x46) [0x4ac1e6]
(EE) 8: /usr/lib/xorg/modules/drivers/modesetting_drv.so (_init+0x393c) [0x7f267f7fcc0c]
(EE) 9: /usr/lib/xorg-server/Xorg (AddScreen+0xd7) [0x436bf7]
(EE) 10: /usr/lib/xorg-server/Xorg (InitOutput+0x430) [0x47caa0]
(EE) 11: /usr/lib/xorg-server/Xorg (InitFonts+0x216) [0x43a796]
(EE) 12: /usr/lib/libc.so.6 (__libc_start_main+0xf1) [0x7f2682d33511]
(EE) 13: /usr/lib/xorg-server/Xorg (_start+0x2a) [0x42464a]
(EE) 14: ? (?+0x2a) [0x2a]
(EE) Segmentation fault at address 0x0
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
Please consult the The X.Org Foundation support
        at http://wiki.x.org
for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) Server terminated with error (1). Closing log file.
Unable to run X server
Comment 4 Boyan Ding 2017-04-18 05:58:50 UTC
Updated kernel to 4.10.10, everything seems fine for now. Flicker is no longer seen from Chrome or apitrace replay.
Comment 5 Boyan Ding 2017-04-18 07:04:25 UTC
No, it's still happening on 4.10.10. Although not as frequent.
Comment 6 Maarten Lankhorst 2017-04-20 09:18:58 UTC
I'm not able to reproduce it locally with the nightly kernel.

Is there anything in dmesg when you hit this issue? Seems like it might be a mesa issue rather than kernel.
Comment 7 Boyan Ding 2017-04-20 09:33:11 UTC
Now it has become subtle indeed.

With the same version of mesa, 4.9 series kernel works all right, 4.10.6 can 
steadily reproduce with the trace. With 4.10.10, it cannot be reproduced with the attached trace but still happens sometime, and I haven't found a stable reproducer.

I don't have a lot of time to compile and test kernels, but I might try drm-next these days in my spare time.
Comment 8 Boyan Ding 2017-04-20 10:47:31 UTC
Created attachment 130939 [details]
Another trace of google chrome that caused flicker on 4.10.10
Comment 9 Boyan Ding 2017-04-20 14:09:28 UTC
I just built a drm-next kernel and tested. It seems this bug is not happening any more. Marking this bug as closed for now.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.