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-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:  Vendor Specific Information: Len=08 <?>
Capabilities:  Power Management version 3
Capabilities:  Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities:  Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities:  Advanced Error Reporting
Capabilities:  #15
Capabilities:  #19
Capabilities: [2b0] Address Translation Service (ATS)
Capabilities: [2c0] #13
Capabilities: [2d0] #1b
Kernel driver in use: radeon
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.
Created attachment 102159 [details]
full screen corruptions
(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.
Switching the Qt graphics system to 'Raster' solved the corruptions in window menu.
It's a workaround, not a fix.
About the full screen corruptions:
Were you using Xrender or OpenGL compositing ?
Were all applications having their bottom right being glitchy ?
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.
Created attachment 103531 [details]
full screen and menus corruptions
Created attachment 103532 [details]
corruptions around selection lists
Created attachment 103533 [details]
remaining of the closed applications
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)
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  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"
*** Bug 88785 has been marked as a duplicate of this bug. ***
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.
(In reply to Michel Dänzer from comment #14)
> Should be fixed with
> 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)
LLVM: SVN:trunk/r240924 (3.7 devel)
> 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
My Corruptions are gone too with 1.17.2