Bug 94667

Summary: Artifacts on applications on discrete and kernel freezes
Product: Mesa Reporter: Vladislav Kamenev <mazahakaforever>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: major    
Priority: medium CC: chris, zdzichu
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
See Also: https://bugzilla.opensuse.org/show_bug.cgi?id=954783
https://bugzilla.kernel.org/show_bug.cgi?id=72701
https://bugs.freedesktop.org/show_bug.cgi?id=92258
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 92258    
Bug Blocks:    
Attachments: On-topic
stderr of $ LIBGL_DEBUG=verbose DRI_PRIME=1 glxinfo 2> stderr
Xorg.0.log
Xorg.conf in case it would be useful
Other case of artifacts
KDE desktop artifacts

Description Vladislav Kamenev 2016-03-22 23:52:57 UTC
Created attachment 122488 [details]
On-topic

Almost all applications have such graphical artifacts simmillar to one, that i posted in screenshot.
No errors in xorg.0.log neither dmesg\syslog appears.
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.3.0-devel (git-18c5fa1 2016-03-22 wily-oibaf-ppa)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.3.0-devel (git-18c5fa1 2016-03-22 wily-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.3.0-devel (git-18c5fa1 2016-03-22 wily-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

DRI_PRIME=1 glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TURKS (DRM 2.43.0, LLVM 3.8.0)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.3.0-devel (git-18c5fa1 2016-03-22 wily-oibaf-ppa)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.3.0-devel (git-18c5fa1 2016-03-22 wily-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.3.0-devel (git-18c5fa1 2016-03-22 wily-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

Linux kernel 4.5
Comment 1 Michel Dänzer 2016-03-23 01:52:07 UTC
Please attach the Xorg log and the stderr output of "LIBGL_DEBUG=verbose DRI_PRIME=1 glxinfo".
Comment 2 Michel Dänzer 2016-03-23 04:07:11 UTC
Is this a duplicate of bug 94581?
Comment 3 Vladislav Kamenev 2016-03-23 17:15:36 UTC
(In reply to Michel Dänzer from comment #2)
> Is this a duplicate of bug 94581?

Nope. That was my failure.
I used DRI3 instead of DRI2 at that time and managed to pass that problem.
Now i got artifacts without any feedback from kernel\xorg
Comment 4 Vladislav Kamenev 2016-03-23 17:20:39 UTC
Created attachment 122502 [details]
stderr of $ LIBGL_DEBUG=verbose DRI_PRIME=1 glxinfo 2> stderr
Comment 5 Vladislav Kamenev 2016-03-23 17:24:25 UTC
Created attachment 122503 [details]
Xorg.0.log

Logged into Steam.
Waited till artifacts appear.
Published log
Comment 6 Michel Dänzer 2016-03-24 09:22:32 UTC
It looks like maybe the intel driver is incorrectly treating the shared buffer as non-linear. Chris, any ideas?
Comment 7 Chris Wilson 2016-03-24 10:03:09 UTC
Objects used for sharing backing pixmaps are converted to linear (SharePixmapBacking). Prime imports use whatever tiling is registered with the foreign surface (both DRI3 and SetSharedPixmapBacking), similarly we communicate the tiling for an export of an existing pixmap (DRI3). We definitely want to be able to pass tiled surfaces between DRI2/DRI3 clients and the Xserver!
Comment 8 Vladislav Kamenev 2016-03-24 11:47:27 UTC
Runned into 
Mar 23 02:06:51 xubuntu-stable kernel: [14263.767781] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=857290 end=857291) time 130 us, min 1017, max 1023, scanline start 1012, end 1024
today.
BTW, im suffering from kernel(?) hangups while playing in some games. Cannot get any logs even under SSH. Should i open a new bug for that?

Also. Forgot to pin lspci to my bug report. Here it is
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
Comment 9 Vladislav Kamenev 2016-03-24 11:48:21 UTC
Created attachment 122519 [details]
Xorg.conf in case it would be useful
Comment 10 Vladislav Kamenev 2016-03-24 13:11:27 UTC
Created attachment 122521 [details]
Other case of artifacts

The best i could screenshot. 
If you look precisely then u will see that right-bottom part of the screen looks weird
Comment 11 Vladislav Kamenev 2016-03-29 23:50:21 UTC
Made a video demonstrating the artifacts.
As u can see its somehow like driver sends "old frame" to the screen (X-COM at loading and WoW at gameplay)
https://youtu.be/DnC_UD0ZCTc
Comment 12 Vladislav Kamenev 2016-03-30 17:45:46 UTC
Now it appears that bug https://bugs.freedesktop.org/show_bug.cgi?id=92258
is not related to my kernel freezes.
Comment 13 Vladislav Kamenev 2016-03-30 18:50:09 UTC
Found one interesting thing.
When the opengl window is not main (playing in windowed mode and opened console for example) there is not flickering\artifacts and all runs smooth and well.
Comment 14 Vladislav Kamenev 2016-03-31 11:59:49 UTC
Discrovered that artifacts is present only when FPS higher than 20-30
Comment 15 Vladislav Kamenev 2016-04-07 16:16:08 UTC
On new 4.6.0-rc2 kernel with latest 1.18.3 xorg and 11.2.0 mesa
[  757.856679] radeon 0000:01:00.0: ring 0 stalled for more than 10416msec
[  757.856684] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  758.356670] radeon 0000:01:00.0: ring 0 stalled for more than 10916msec
[  758.356675] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  758.856748] radeon 0000:01:00.0: ring 0 stalled for more than 11416msec
[  758.856764] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  759.356758] radeon 0000:01:00.0: ring 0 stalled for more than 11916msec
[  759.356766] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  759.856744] radeon 0000:01:00.0: ring 0 stalled for more than 12416msec
[  759.856755] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  760.356648] radeon 0000:01:00.0: ring 0 stalled for more than 12916msec
[  760.356660] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  760.856619] radeon 0000:01:00.0: ring 0 stalled for more than 13416msec
[  760.856627] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  761.356588] radeon 0000:01:00.0: ring 0 stalled for more than 13916msec
[  761.356592] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  761.856589] radeon 0000:01:00.0: ring 0 stalled for more than 14416msec
[  761.856594] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  762.356645] radeon 0000:01:00.0: ring 0 stalled for more than 14916msec
[  762.356656] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  762.856662] radeon 0000:01:00.0: ring 0 stalled for more than 15416msec
[  762.856675] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  763.356583] radeon 0000:01:00.0: ring 0 stalled for more than 15916msec
[  763.356593] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  763.856677] radeon 0000:01:00.0: ring 0 stalled for more than 16416msec
[  763.856689] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  764.356567] radeon 0000:01:00.0: ring 0 stalled for more than 16916msec
[  764.356576] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  764.856528] radeon 0000:01:00.0: ring 0 stalled for more than 17416msec
[  764.856532] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  765.356726] radeon 0000:01:00.0: ring 0 stalled for more than 17916msec
[  765.356738] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  765.857224] radeon 0000:01:00.0: ring 0 stalled for more than 18416msec
[  765.857245] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  766.357936] radeon 0000:01:00.0: ring 0 stalled for more than 18916msec
[  766.357946] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  766.858702] radeon 0000:01:00.0: ring 0 stalled for more than 19416msec
[  766.858713] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  767.359323] radeon 0000:01:00.0: ring 0 stalled for more than 19916msec
[  767.359328] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  767.860120] radeon 0000:01:00.0: ring 0 stalled for more than 20416msec
[  767.860131] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  768.360817] radeon 0000:01:00.0: ring 0 stalled for more than 20916msec
[  768.360829] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  768.861474] radeon 0000:01:00.0: ring 0 stalled for more than 21416msec
[  768.861482] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  769.362132] radeon 0000:01:00.0: ring 0 stalled for more than 21916msec
[  769.362137] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  769.862878] radeon 0000:01:00.0: ring 0 stalled for more than 22416msec
[  769.862889] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  770.363548] radeon 0000:01:00.0: ring 0 stalled for more than 22916msec
[  770.363559] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  770.864279] radeon 0000:01:00.0: ring 0 stalled for more than 23416msec
[  770.864290] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  771.364957] radeon 0000:01:00.0: ring 0 stalled for more than 23916msec
[  771.364969] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  771.865682] radeon 0000:01:00.0: ring 0 stalled for more than 24416msec
[  771.865695] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  772.366290] radeon 0000:01:00.0: ring 0 stalled for more than 24916msec
[  772.366301] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  772.867003] radeon 0000:01:00.0: ring 0 stalled for more than 25416msec
[  772.867014] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  773.367569] radeon 0000:01:00.0: ring 0 stalled for more than 25916msec
[  773.367580] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  773.868286] radeon 0000:01:00.0: ring 0 stalled for more than 26416msec
[  773.868310] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  774.368901] radeon 0000:01:00.0: ring 0 stalled for more than 26916msec
[  774.368909] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  774.869565] radeon 0000:01:00.0: ring 0 stalled for more than 27416msec
[  774.869575] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  775.370178] radeon 0000:01:00.0: ring 0 stalled for more than 27916msec
[  775.370190] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  775.870830] radeon 0000:01:00.0: ring 0 stalled for more than 28416msec
[  775.870841] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  776.371507] radeon 0000:01:00.0: ring 0 stalled for more than 28916msec
[  776.371518] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  776.872179] radeon 0000:01:00.0: ring 0 stalled for more than 29416msec
[  776.872190] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  777.372763] radeon 0000:01:00.0: ring 0 stalled for more than 29916msec
[  777.372775] radeon 0000:01:00.0: GPU lockup (current fence id 0x000000000000022d last fence id 0x000000000000023f on ring 0)
[  777.691670] radeon 0000:01:00.0: Saved 567 dwords of commands on ring 0.
[  777.691693] radeon 0000:01:00.0: GPU softreset: 0x00000009
[  777.691696] radeon 0000:01:00.0:   GRBM_STATUS               = 0xF5502828
[  777.691698] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0xEC000005
[  777.691701] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000007
[  777.691703] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
[  777.691705] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000
[  777.691708] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
[  777.691710] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x400C0000
[  777.691713] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00048006
[  777.691715] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x80268647
[  777.691718] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
[  777.691883] radeon 0000:01:00.0: GRBM_SOFT_RESET=0x00007F6B
[  777.691937] radeon 0000:01:00.0: SRBM_SOFT_RESET=0x00000100
[  777.693088] radeon 0000:01:00.0:   GRBM_STATUS               = 0x00003828
[  777.693091] radeon 0000:01:00.0:   GRBM_STATUS_SE0           = 0x00000007
[  777.693093] radeon 0000:01:00.0:   GRBM_STATUS_SE1           = 0x00000007
[  777.693095] radeon 0000:01:00.0:   SRBM_STATUS               = 0x200000C0
[  777.693098] radeon 0000:01:00.0:   SRBM_STATUS2              = 0x00000000
[  777.693100] radeon 0000:01:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
[  777.693102] radeon 0000:01:00.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
[  777.693105] radeon 0000:01:00.0:   R_00867C_CP_BUSY_STAT     = 0x00000000
[  777.693107] radeon 0000:01:00.0:   R_008680_CP_STAT          = 0x00000000
[  777.693110] radeon 0000:01:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
[  777.693137] radeon 0000:01:00.0: GPU reset succeeded, trying to resume
[  777.701294] [drm] PCIE gen 2 link speeds already enabled
[  777.704110] [drm] PCIE GART of 1024M enabled (table at 0x0000000000274000).
[  777.704207] radeon 0000:01:00.0: WB enabled
[  777.704209] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff880035983c00
[  777.704211] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff880035983c0c
[  777.705677] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc90002032118

Many artifacts.
Looking up for a freezes

Glxgears won't even start. Bus error.
Comment 16 Vladislav Kamenev 2016-04-07 16:41:35 UTC
Couldn't run any application on 4.6-rc2
http://storage5.static.itmages.com/i/16/0407/h_1460045881_5077538_bc3e57f430.png
While on latest xorg and 4.5 kernel freezes is still present and artifacts too
Comment 17 Vladislav Kamenev 2016-04-11 12:26:44 UTC
Artifacts are present in KDE desktop with DRI_PRIME=1.
As well as in chromium
Comment 18 Vladislav Kamenev 2016-04-11 12:41:09 UTC
Created attachment 122865 [details]
KDE desktop artifacts

Archlinux 4.5 kernel
11.2 mesa
Comment 19 Vladislav Kamenev 2016-04-16 20:52:15 UTC
On AMD Hainan (RadeonSI driver) Z-like tearing and past frames is also present.
Comment 20 Michel Dänzer 2017-03-13 09:19:54 UTC
Is this still happening with current kernel, Mesa and xf86-video-ati releases? If so, please attach current Xorg log file and dmesg output.
Comment 21 GitLab Migration User 2019-09-18 19:21:27 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/582.

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.