Bug 80827

Summary: [radeonsi,R9 270X] Corruptions in window menus in KDE
Product: xorg Reporter: Grzegorz Kowal <custos.mentis>
Component: Server/Acceleration/glamorAssignee: Zhigang Gong <zhigang.gong>
Status: VERIFIED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: kai, peakeyed
Version: git   
Hardware: Other   
OS: All   
i915 platform: i915 features:
Description Flags
window menu corruptions in KDE
full screen corruptions
full screen and menus corruptions
corruptions around selection lists
remaining of the closed applications none

Description Grzegorz Kowal 2014-07-02 20:23:10 UTC
Created attachment 102156 [details]
window menu corruptions in KDE

I am getting window menu corruptions in KDE 4.12.5, as shown in the attached image, on Gentoo with kernel 3.14.10 and the following software stack:

x11-base/xorg-server-1.15.0:0/1.15.0  USE="ipv6 nptl suid udev xorg"
x11-libs/libdrm-2.4.54  USE="libkms" VIDEO_CARDS="radeon"
media-libs/mesa-10.2.2  USE="classic dri3 egl gallium gbm gles2 llvm nptl vdpau" VIDEO_CARDS="radeon radeonsi"
x11-libs/glamor-0.6.0-r1  USE="xv"
x11-drivers/xf86-video-ati-7.4.0  USE="glamor udev"

Only active use flags are listed.

My video card is Asus R9270X-DC2T-2GD5:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT [Radeon R9 270X] (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device 0464
        Flags: bus master, fast devsel, latency 0, IRQ 73
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at fea00000 (64-bit, non-prefetchable) [size=256K]
        I/O ports at e000 [size=256]
        Expansion ROM at fea40000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Capabilities: [200] #15
        Capabilities: [270] #19
        Capabilities: [2b0] Address Translation Service (ATS)
        Capabilities: [2c0] #13
        Capabilities: [2d0] #1b
        Kernel driver in use: radeon
Comment 1 Grzegorz Kowal 2014-07-02 20:31:45 UTC
With mesa from today's git the corruptions appear on the whole screen, like in the attached image (see full_screen_corruptions.png).

After quick bisecting, it looks like commit "radeonsi: Use dma_copy when possible for si_blit." (5d5c20920e0e570742a497aa047e99a2fa3c04f2) is responsible for that. When reverted, the full screen corruptions disappear, but window menu corruptions still persist.
Comment 2 Grzegorz Kowal 2014-07-02 20:32:29 UTC
Created attachment 102159 [details]
full screen corruptions
Comment 3 Michel Dänzer 2014-07-03 03:07:09 UTC
(In reply to comment #1)
> After quick bisecting, it looks like commit "radeonsi: Use dma_copy when
> possible for si_blit." (5d5c20920e0e570742a497aa047e99a2fa3c04f2) is
> responsible for that.

See bug 80787.

> When reverted, the full screen corruptions disappear, but window menu 
> corruptions still persist.

The kwin menu corruption is most likely a glamor bug. You can work around it by selecting 'Raster' for the rendering engine in the kwin advanced desktop effect preferences.
Comment 4 Grzegorz Kowal 2014-07-03 09:41:58 UTC
Switching the Qt graphics system to 'Raster' solved the corruptions in window menu.

Comment 5 Michel Dänzer 2014-07-03 10:02:37 UTC
It's a workaround, not a fix.
Comment 6 Axel Davy 2014-07-19 13:39:00 UTC
About the full screen corruptions:

Were you using Xrender or OpenGL compositing ?
Were all applications having their bottom right being glitchy ?
Comment 7 Grzegorz Kowal 2014-07-19 14:22:29 UTC
I was using OpenGL compositing.

About the second question, I am not 100% sure but I think yes, the corruptions appeared in the bottom right corners of all windows. I am traveling right now, so I have no access to my desktop computer. I can verify it as soon as I am back home.
Comment 8 Grzegorz Kowal 2014-07-27 02:34:28 UTC
Created attachment 103531 [details]
full screen and menus corruptions
Comment 9 Grzegorz Kowal 2014-07-27 02:35:12 UTC
Created attachment 103532 [details]
corruptions around selection lists
Comment 10 Grzegorz Kowal 2014-07-27 02:35:46 UTC
Created attachment 103533 [details]
remaining of the closed applications
Comment 11 Grzegorz Kowal 2014-07-27 02:37:18 UTC
Ok, so I've applied the "radeonsi: Use dma_copy when possible for si_blit." to today's mesa git and verified where corruptions actually appear.

They appear not only in the lower right corner of the screen, but also in the lower right corners of menus (see attachment https://bugs.freedesktop.org/attachment.cgi?id=103531), around selection lists (see https://bugs.freedesktop.org/attachment.cgi?id=103532). I've also notices that after closing some applications, like gimp for example, some parts of its windows are not repainted (see https://bugs.freedesktop.org/attachment.cgi?id=103533)
Comment 12 peakeyed 2014-09-16 16:23:53 UTC
I have similar corruptions on my box too. For sure, on the right click of title bar of applications and scroll bars. Here are my specs:

VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT [Radeon R9 270X]

sys-kernel/linux-firmware-20140902 [20140809] USE="-savedconfig"
x11-base/xorg-drivers-1.16  INPUT_DEVICES="evdev synaptics -acecad -aiptek -elographics -fpit -hyperpen -joystick -keyboard -mouse -mutouch -penmount -tslib -vmmouse -void -wacom" VIDEO_CARDS="radeon radeonsi"
x11-libs/libdrm-2.4.54  USE="-libkms -static-libs" VIDEO_CARDS="radeon (-exynos) (-freedreno) -intel -nouveau (-omap) -vmware" 
media-libs/mesa-10.2.7  USE="classic dri3 egl gallium gbm gles2 llvm nptl -bindist -debug -gles1 -opencl -openmax -openvg -osmesa -pax_kernel -pic -r600-llvm-compiler (-selinux) -vdpau -wayland -xa -xvmc" VIDEO_CARDS="radeon radeonsi (-freedreno) -i915 -i965 -ilo -intel -nouveau -r100 -r200 -r300 -r600 -vmware" x11-base/xorg-server-1.16.0:0/1.16.0  USE="nptl suid udev xorg -dmx -doc (-glamor) -ipv6 -kdrive -minimal (-selinux) -static-libs -systemd -tslib -unwind -wayland -xnest -xvfb"
x11-apps/mesa-progs-8.2.0 [8.1.0] USE="-egl -gles1 -gles2" 
x11-libs/glamor-0.6.0-r1  USE="xv -gles -static-libs"
Comment 13 Michel Dänzer 2015-01-28 07:37:53 UTC
*** Bug 88785 has been marked as a duplicate of this bug. ***
Comment 14 Michel Dänzer 2015-06-25 02:56:19 UTC
Should be fixed with http://cgit.freedesktop.org/xorg/xserver/commit/?h=server-1.17-branch&id=8a5fb096d43577a061f7769d9257cbedaac998ef in glamor from xserver 1.17.2 or newer.
Comment 15 Kai 2015-07-06 14:53:35 UTC
(In reply to Michel Dänzer from comment #14)
> Should be fixed with
> http://cgit.freedesktop.org/xorg/xserver/commit/?h=server-1.17-
> branch&id=8a5fb096d43577a061f7769d9257cbedaac998ef in glamor from xserver
> 1.17.2 or newer.

I can confirm, that the corruption is gone for me with 1.17.2.

My current stack (Debian testing as a base):
GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Mesa: Git:master/fc2726e4af
libdrm: 2.4.60-3
LLVM: SVN:trunk/r240924 (3.7 devel)
X.Org: 2:1.17.2-1
Linux: 4.1.1
Firmware: <https://secure.freedesktop.org/~agd5f/radeon_ucode/hawaii/>
> 286640da3d90d7b51bdb038b65addc47  hawaii_ce.bin
> 161105a73f7dfb2fca513327491c32d6  hawaii_mc.bin
> d6195059ea724981c9acd3abd6ee5166  hawaii_me.bin
> ad511d31a4fe3147c8d80b8f6770b8d5  hawaii_mec.bin
> 63eae3f33c77aadbc6ed1a09a2aed81e  hawaii_pfp.bin
> 5b72c73acf0cbd0cbb639302f65bc7dc  hawaii_rlc.bin
> f00de91c24b3520197e1ddb85d99c34a  hawaii_sdma1.bin
> 8e16f749d62b150d0d1f580d71bc4348  hawaii_sdma.bin
> 7b6ca5302b56bd35bf52804919d57e63  hawaii_smc.bin
> 9f2ba7e720e2af4d7605a9a4fd903513  hawaii_uvd.bin
> b0f2a043e72fbf265b2f858b8ddbdb09  hawaii_vce.bin
libclc: Git:master/5cd2688a9f
DDX: Git:master/d7c82731a8
Comment 16 peakeyed 2015-07-19 20:55:46 UTC
My Corruptions are gone too with 1.17.2

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.