Created attachment 57722 [details] Example of rendering issues after multiple window switches. Since updating my gentoo system to xf86-video-intel-2.18.0 I'm experiencing strange display issues, mostly in firefox. The easiest way for me to reproduce the issue is opening the page http://de.whitewall.com in firefox an then switching between different open windows in KDE. I've attached a screenshot showing the issue. Let me know if there's anything I can do to help tracking down the issue. 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller]) Subsystem: CLEVO/KAPOK Computer Device 5140 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 41 Region 0: Memory at f1000000 (64-bit, non-prefetchable) [size=4M] Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M] Region 4: I/O ports at 5000 [size=64] Expansion ROM at <unassigned> [disabled] Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit- Address: feeff00c Data: 4161 Capabilities: [d0] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [a4] PCI Advanced Features AFCap: TP+ FLR+ AFCtrl: FLR- AFStatus: TP- Kernel driver in use: i915
Relevant excerpt from /var/log/Xorg.0.log [ 23.197] (II) LoadModule: "intel" [ 23.199] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so [ 23.203] (II) Module intel: vendor="X.Org Foundation" [ 23.203] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810, [ 23.214] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so [ 23.215] (II) intel(0): Creating default Display subsection in Screen section [ 23.215] (==) intel(0): Depth 24, (--) framebuffer bpp 32 [ 23.215] (==) intel(0): RGB weight 888 [ 23.215] (==) intel(0): Default visual is TrueColor [ 23.215] (II) intel(0): Integrated Graphics Chipset: Intel(R) Sandybridge Mobile (GT2+) [ 23.215] (--) intel(0): Chipset: "Sandybridge Mobile (GT2+)" [ 23.216] (--) intel(0): Disabling use of vmap [ 23.216] (**) intel(0): Framebuffer tiled [ 23.216] (**) intel(0): Pixmaps tiled [ 23.216] (**) intel(0): 3D buffers tiled [ 23.216] (**) intel(0): Throttling enabled [ 23.216] (**) intel(0): Delayed flush enabled [ 23.216] (II) intel(0): Output LVDS1 has no monitor section [ 23.217] (II) intel(0): found backlight control interface /sys/class/backlight/acpi_video0 [ 23.217] (II) intel(0): Output VGA1 has no monitor section [ 23.240] (II) intel(0): Output HDMI1 has no monitor section [ 23.252] (II) intel(0): Output DP1 has no monitor section [ 23.252] (II) intel(0): EDID for output LVDS1 [ 23.252] (II) intel(0): Manufacturer: LGD Model: 27b Serial#: 0 [ 23.252] (II) intel(0): Year: 2009 Week: 0 [ 23.252] (II) intel(0): EDID Version: 1.3 [ 23.252] (II) intel(0): Digital Display Input [ 23.252] (II) intel(0): Max Image Size [cm]: horiz.: 38 vert.: 21 [ 23.252] (II) intel(0): Gamma: 2.20 [ 23.252] (II) intel(0): No DPMS capabilities specified [ 23.252] (II) intel(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 [ 23.252] (II) intel(0): First detailed timing is preferred mode [ 23.252] (II) intel(0): redX: 0.615 redY: 0.346 greenX: 0.314 greenY: 0.602 [ 23.252] (II) intel(0): blueX: 0.151 blueY: 0.109 whiteX: 0.312 whiteY: 0.328 [ 23.252] (II) intel(0): Manufacturer's mask: 0 [ 23.252] (II) intel(0): Supported detailed timing: [ 23.252] (II) intel(0): clock: 97.8 MHz Image Size: 382 x 215 mm [ 23.252] (II) intel(0): h_active: 1600 h_sync: 1648 h_sync_end 1696 h_blank_end 1784 h_border: 0 [ 23.252] (II) intel(0): v_active: 900 v_sync: 902 v_sync_end 905 v_blanking: 912 v_border: 0 [ 23.252] (II) intel(0): [ 23.252] (II) intel(0): LP173WD1-TLD3 [ 23.252] (II) intel(0): EDID (in hex): [ 23.252] (II) intel(0): 00ffffffffffff0030e47b0200000000 [ 23.252] (II) intel(0): 00130103802615780aa8c09d58509a26 [ 23.252] (II) intel(0): 1c505400000001010101010101010101 [ 23.252] (II) intel(0): 0101010101012f2640b860840c303030 [ 23.252] (II) intel(0): 23007ed7100000190000000000000000 [ 23.252] (II) intel(0): 00000000000000000000000000fe0000 [ 23.252] (II) intel(0): 00004c47446973706c61790a000000fe [ 23.252] (II) intel(0): 004c503137335744312d544c443300c0 [ 23.252] (II) intel(0): EDID vendor "LGD", prod id 635 [ 23.252] (II) intel(0): Printing DDC gathered Modelines: [ 23.252] (II) intel(0): Modeline "1600x900"x0.0 97.75 1600 1648 1696 1784 900 902 905 912 -hsync -vsync (54.8 kHz) [ 23.253] (II) intel(0): Not using default mode "320x240" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "400x300" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "400x300" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "512x384" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "640x480" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "640x512" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "800x600" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "896x672" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "928x696" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "960x720" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "700x525" (doublescan mode not supported) [ 23.253] (II) intel(0): Not using default mode "1024x768" (doublescan mode not supported) [ 23.253] (II) intel(0): Printing probed modes for output LVDS1 [ 23.253] (II) intel(0): Modeline "1600x900"x60.1 97.75 1600 1648 1696 1784 900 902 905 912 -hsync -vsync (54.8 kHz) [ 23.253] (II) intel(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz) [ 23.253] (II) intel(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz) [ 23.253] (II) intel(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz) [ 23.253] (II) intel(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz) [ 23.253] (II) intel(0): EDID for output VGA1 [ 23.275] (II) intel(0): EDID for output HDMI1 [ 23.288] (II) intel(0): EDID for output DP1 [ 23.288] (II) intel(0): Output LVDS1 connected [ 23.288] (II) intel(0): Output VGA1 disconnected [ 23.288] (II) intel(0): Output HDMI1 disconnected [ 23.288] (II) intel(0): Output DP1 disconnected [ 23.288] (II) intel(0): Using exact sizes for initial modes [ 23.288] (II) intel(0): Output LVDS1 using initial mode 1600x900 [ 23.288] (II) intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated. [ 23.288] (**) intel(0): Display dimensions: (380, 210) mm [ 23.288] (**) intel(0): DPI set to (106, 108) [ 23.293] (II) intel(0): SNA initialized with SandyBridge backend [ 23.293] (==) intel(0): Backing store disabled [ 23.293] (==) intel(0): Silken mouse enabled [ 23.293] (II) intel(0): Initializing HW Cursor [ 23.293] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message. [ 23.299] (==) intel(0): DPMS enabled [ 23.299] (II) intel(0): Overlay video not supported on this hardware [ 23.300] (II) intel(0): [DRI2] Setup complete [ 23.300] (II) intel(0): [DRI2] DRI driver: i965 [ 23.300] (II) intel(0): direct rendering: DRI2 Enabled [ 23.300] (WW) intel(0): Option "XvMC" is not used [ 23.300] (==) intel(0): hotplug detection: "enabled" [ 23.432] (II) intel(0): Setting screen physical size to 423 x 238
Please attach the full Xorg.0.log.
Created attachment 57723 [details] Full Xorg.0.log
With linux-3.2, you need to manually disable FBC (i915.i915_enable_fbc=0) or else risk random crashes. Oh and there are a few other known bugs in that kernel that can cause rendering corruption and random crashes... xserver-1.11.4 has at least one bug which manifests itself as rendering corruption with a compositing WM and crashes upon modeswitches. And you appear to be using OpenGL swrast instead of i965_dri.so, but I don't think that's related to the bug... Can you check whether FBC is enabled, (I'm pretty sure it is in 3.2) with cat /sys/kernel/debug/dri/0/i915_fbc_status and disable it if it is, and please see if you can upgrade to a RC for xsever-1.12.
I've fixed the issue with OpenGL swrast (caused by a minor misconfiguration of mine on the update to MESA 8.0[.1]) and updated to X.Org X Server 1.11.99.903 (1.12.0 RC 3). Unfortunately the rendering corruptions still remain. I'll compile my current kernel with debug support to check the state of /sys/kernel/debug/dri/0/i915_fbc_status and report back afterwards. Just to be sure, I'll also try the boot option you mentioned earlier to assure the relevant feature is turned off. If this won't help I'll give kernel 3.3-rc5 a try - even though I'm not sure how good or bad the current RC6 enable/disable situation looks in that version.
FBC tends to give recognisable hangs, as do the other known kernel bugs, so if you do encounter one please attach the error-state. Another kernel candidate for rendering corruption, though to my knowledge not like your screenshot, is rc6, so whilst checking on fbc you can also check /sys/kernel/debug/dri/0/i915_dprc_info. Yes, the easiest way to change those kernel parameters is by setting them as boot parameters and rebooting.
Current state: andromeda opt # cat /sys/kernel/debug/dri/0/i915_fbc_status FBC enabled andromeda opt # cat /sys/kernel/debug/dri/0/i915_drpc_info HD boost: no Boost freq: 0 HW control enabled: no SW control enabled: no Gated voltage change: no Starting frequency: P0 Max P-state: P0 Min P-state: P0 RS1 VID: 0 RS2 VID: 0 Render standby enabled: yes Current RS state: on
Rendering corruptions still present after turning off FBC. andromeda opt # cat /sys/kernel/debug/dri/0/i915_fbc_status FBC disabled: disabled per module param (default off) I also just gave the GIT version (8f3066f0c70654f04f4acadf140e3c5c8dda051d ) of the driver a try, the problem remains. Next step on my journey: kernel 3.3-rc5
And please don't forget the jump to xserver-1.12. Apologies if I sound like I am nagging, but I'd rather jump past the known bugs before digging. One of the next steps will be to recompile xf86-video-intel with debugging to see if it catches an assertion failure, ./configure --enable-debug and attach gdb!. After that is trying to reproduce any error with ./configure --enable-debug=full which will cause a dramatic slowdown as it spams Xorg.log.
Rendering corruptions still present after updating the system: andromeda opt # uname -a Linux andromeda 3.3.0-rc5 #1 SMP PREEMPT Mon Feb 27 22:05:44 CET 2012 x86_64 Intel(R) Core(TM) i7-2720QM CPU @ 2.20GHz GenuineIntel GNU/Linux andromeda opt # cat /sys/kernel/debug/dri/0/i915_fbc_status FBC disabled: disabled per module param (default off) andromeda opt # cat /sys/kernel/debug/dri/0/i915_drpc_info RC information accurate: yes Video Turbo Mode: yes HW control enabled: yes SW control enabled: no RC1e Enabled: no RC6 Enabled: no Deep RC6 Enabled: no Deepest RC6 Enabled: no Current RC state: on Core Power Down: no andromeda opt # X -version This is a pre-release version of the X server from The X.Org Foundation. It is not supported in any way. Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/. Select the "xorg" product for bugs you find in this release. Before reporting bugs in pre-release versions please check the latest version in the X.Org Foundation git repository. See http://wiki.x.org/wiki/GitPage for git access instructions. X.Org X Server 1.11.99.903 (1.12.0 RC 3) Release Date: 2012-02-11 X Protocol Version 11, Revision 0 Build Operating System: Linux 3.2.6-gentoo x86_64 Gentoo Current Operating System: Linux andromeda 3.3.0-rc5 #1 SMP PREEMPT Mon Feb 27 22:05:44 CET 2012 x86_64 Kernel command line: root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda4 Build Date: 27 February 2012 06:19:16PM Current version of pixman: 0.24.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. The issue remains easy for me to reproduce in firefox with the initially mentioned website (haven't noticed the issue on other sites yet), but is also visible on the KDE shutdown screen.
How do you have kwin desktop effects configured? No effects, opengl backend, xrender backend, etc? Can you try recompiling with adding --enable-debug to your xf86-video-intel ./configure and see what happens?
I've turned desktop effects off by default - in case I would activate them manually they would run with OpenGL. Activating debug in the xf86-video-intel driver doesn't yield any extra info in Xorg.log - I would have suspected to see a line in there saying the driver is running in debug mode (or seeing some infos about failing assertions). I could also need some hints how to properly attach gdb and keep an eye on the driver. I'm currently more and more uncertain if the xf86-video-intel driver is really the culprit (and not firefox, KDE or some part of their software stack). I'll try to revert back the xserver to my previous version and xf86-video-intel to the 2.17.0 release - just to be 100% sure.
Hi, I wouldn't blame KDE. I`ve experienced same corruption in GNOME until reverted back to 2.17
I just reverted back to xf86-video-intel-2.17.0 and the rendering issues are gone. So now I'm 100% sure the driver update is causing the rendering issues. Now I need a guide on debugging the issue...
I think this is related to commit f039ccf9587eb07528034c3247a6e700c87a5500 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Mar 2 09:47:10 2012 +0000 sna: Be careful not to discard the clear operation for move-region-to-cpu When moving only a region to the CPU and we detect a pending clear, we transform the operation into a move whole pixmap. In such situations, we only have a partial damage area and so need to or in MOVE_READ to prevent the pending clear of the whole pixmap from being discarded. References: https://bugs.freedesktop.org/show_bug.cgi?id=46792 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> To continue debugging, you can try to identify the minimum required to reproduce the corruption.
I just tried GIT Head (29ec36ff063472e0744af99aa81ed5ad8e291a36) and the issue is gone. Thanks a lot for fixing it! Are there any plans for something like a xf86-video-intel-2.18.1? Otherwise I'll just keep my system running with the current GIT snapshot I'm using.
I guess I've spoken too fast. The rendering issues are gone, instead X just got killed unexpectedly. I'll rebuild the driver with debug (symbols) and report back with a better stacktrace than this: Backtrace: [ 1336.976] 0: /usr/bin/X (xorg_backtrace+0x28) [0x569628] [ 1336.976] 1: /usr/bin/X (0x400000+0x16d1b9) [0x56d1b9] [ 1336.976] 2: /lib64/libpthread.so.0 (0x7f755843a000+0x10420) [0x7f755844a420] [ 1336.976] 3: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7f75554c9000+0x4547b) [0x7f755550e47b] [ 1336.976] 4: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7f75554c9000+0x59e5e) [0x7f7555522e5e] [ 1336.977] 5: /usr/bin/X (BlockHandler+0x50) [0x439920] [ 1336.977] 6: /usr/bin/X (WaitForSomething+0x12a) [0x566b7a] [ 1336.977] 7: /usr/bin/X (0x400000+0x356a2) [0x4356a2] [ 1336.977] 8: /usr/bin/X (0x400000+0x2499a) [0x42499a] [ 1336.977] 9: /lib64/libc.so.6 (__libc_start_main+0xfd) [0x7f755737722d] [ 1336.977] 10: /usr/bin/X (0x400000+0x24539) [0x424539] [ 1336.977] Segmentation fault at address (nil) [ 1336.977] Fatal server error: [ 1336.977] Caught signal 11 (Segmentation fault). Server aborting
You probably do have the debug symbols, can you attach gdb to X before it crashes or launch X with the -core option to generate a corefile. Please also use the xserver 1.12 release candidate to rule out a silly bug there, and if it is reproducible the other option is to --enable-debug=full and attach the full Xorg.log.
I'm not yet sure how to reproduce the issue, but here is a full stacktrace. I'm currently runing xf86-video-intel 29ec36ff063472e0744af99aa81ed5ad8e291a36, X.Org X Server 1.11.99.903 (1.12.0 RC 3) on top of kernel 3.3-rc5. #0 0x00007fba9f881ad5 in raise () from /lib64/libc.so.6 (gdb) bt full #0 0x00007fba9f881ad5 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007fba9f882f56 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00000000005732de in OsAbort () No symbol table info available. #3 0x000000000047489c in ddxGiveUp () No symbol table info available. #4 0x0000000000578292 in AbortServer () No symbol table info available. #5 0x00000000005784ae in FatalError () No symbol table info available. #6 0x0000000000570ebe in OsSigHandler () No symbol table info available. #7 <signal handler called> No symbol table info available. #8 sna_pixmap (pixmap=<optimized out>) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna.h:175 No locals. #9 _sna_pixmap_move_to_cpu (pixmap=0x2e54d30, flags=11) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna_accel.c:912 priv = 0x2568330 __PRETTY_FUNCTION__ = "_sna_pixmap_move_to_cpu" #10 0x00007fba9d9e5fde in sna_pixmap_move_to_cpu (flags=11, pixmap=<optimized out>) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna.h:451 No locals. #11 sna_accel_inactive (sna=0x2568330) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna_accel.c:11824 priv = 0x2e71c10 preserve = {next = 0x7fff8b5b3bf0, prev = 0x7fff8b5b3bf0} #12 sna_accel_block_handler (sna=0x2568330) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna_accel.c:12014 No locals. #13 0x000000000043a0e0 in BlockHandler () No symbol table info available. #14 0x000000000056a8da in WaitForSomething () No symbol table info available. #15 0x0000000000435e52 in Dispatch () No symbol table info available. #16 0x0000000000424e6a in main () No symbol table info available.
Created attachment 57936 [details] Last 25k lines of Xorg.log from yet another crash.
I gave --enable-debug=full a try - and after about 1.9GB of log it finally crashed. I attached the last about 25k lines but can provide (a lot) more when needed.
Almost there: commit 4f853acfeccb92885f154b03125d5716591a87bd Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Mar 2 17:36:50 2012 +0000 sna: Prevent backing pixmaps being created later We used to allow the backing pixmap to be created later in order to accommodate ShmPixmaps and ShmPutImage. However, they are now correctly handled upfront if we choose to accelerate those paths, and so all choice over whether to attach to a pixmap are made during creation and are invariant. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Hopefully I've not messed up again...
Thanks! Unfortunately something doesn't feel quite right yet. (gdb) bt full #0 0x00007fb24dfaead5 in raise () from /lib64/libc.so.6 No symbol table info available. #1 0x00007fb24dfaff56 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007fb24dfa783e in __assert_fail_base () from /lib64/libc.so.6 No symbol table info available. #3 0x00007fb24dfa7900 in __assert_fail () from /lib64/libc.so.6 No symbol table info available. #4 0x00007fb24c0e9ff5 in __kgem_bo_destroy (kgem=0x1856518, bo=0x1894ff0) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/kgem.c:1117 __PRETTY_FUNCTION__ = "__kgem_bo_destroy" #5 0x00007fb24c0f9835 in kgem_bo_destroy (bo=<optimized out>, kgem=0x1856518) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/kgem.h:280 No locals. #6 sna_destroy_private (priv=0x1894f80, pixmap=0x1894f10) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna_accel.c:372 No locals. #7 sna_destroy_pixmap (pixmap=0x1894f10) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna_accel.c:804 priv = 0x1894f80 #8 0x00007fb24c121112 in sna_close_screen (scrnIndex=0, screen=0x1869dc0) at /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-9999/src/sna/sna_driver.c:787 scrn = 0x1855cb0 sna = 0x1856330 #9 0x00000000004c28db in CursorCloseScreen () No symbol table info available. #10 0x00000000004f5d1c in AnimCurCloseScreen () No symbol table info available. #11 0x0000000000424f20 in main () No symbol table info available.
That particular assertion failure is inconsequential. Thanks for the reminder, I've finally got around to fixing it!
Thanks a lot things! Things seem to be running smooth again. I'd consider the initial issue as fixed - if I encounter any new issues I'll report them in a seperate bug.
Thank you for the bug report and persevering through to the fix. Hopefully it will all be smooth sailing from now on.
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.