Bug 88877

Summary: Invisible Chrome windows on radeonsi with KWin compositing
Product: DRI Reporter: darkbasic <darkbasic>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: medium    
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log
none
dmesg none

Description darkbasic 2015-01-30 10:42:42 UTC
Since a couple of weeks every time I create a new Chromium window it is completely invisible until I minimize and restore it. What I see instead of the new Chrome window is the underlying one.
Without compositing it works flawlessly (my desktop environment is KDE 4.14.3 so the compositor is KWin).

Graphic stack is from git (including xorg, llvm, mesa and drm-next-3.20).

I am sure the regression isn't in the kernel, maybe it is due to Chromium 40 exposing it (I don't remember having it with v39) but I'm not sure.
Comment 1 Alex Deucher 2015-01-30 14:15:31 UTC
Please attach your xorg log and dmesg output.  Can you identify what component update caused the regression?
Comment 2 darkbasic 2015-01-30 16:01:43 UTC
Created attachment 112978 [details]
Xorg.0.log

Hi Alex,
I attached them. I'm trying to find what caused the regression, but that's not an easy task considering I compile a new snapshot of every single component of the graphic stack daily. I will let you know what I discover.
Comment 3 darkbasic 2015-01-30 16:02:02 UTC
Created attachment 112979 [details]
dmesg
Comment 4 darkbasic 2015-01-30 16:04:44 UTC
Oh this is important: I forgot to say I'm using DRI3 with this xf86-video-ati branch:
https://github.com/iXit/xf86-video-ati/commits/master
Comment 5 Alex Deucher 2015-01-30 16:09:45 UTC
(In reply to darkbasic from comment #4)
> Oh this is important: I forgot to say I'm using DRI3 with this
> xf86-video-ati branch:
> https://github.com/iXit/xf86-video-ati/commits/master

Does removing that patch fix the issue?
Comment 6 darkbasic 2015-01-30 16:10:12 UTC
I confirm the culprit is DRI3, I completely forgot about it. Sorry :(
Comment 7 darkbasic 2015-01-30 17:28:54 UTC
Can you reproduce it with DRI3?
Comment 8 Michel Dänzer 2015-02-02 07:17:00 UTC
(In reply to darkbasic from comment #4)
> Oh this is important: I forgot to say I'm using DRI3 with this
> xf86-video-ati branch:
> https://github.com/iXit/xf86-video-ati/commits/master

I recommend against using that, because it doesn't have proper Present extension support.
Comment 9 darkbasic 2015-02-02 11:17:16 UTC
Unfortunately the nine state tracker needs DRI3 support, so I have to use it.
Any ETA for proper present support in radeon?
Comment 10 Michel Dänzer 2015-02-03 01:52:16 UTC
(In reply to darkbasic from comment #9)
> Unfortunately the nine state tracker needs DRI3 support, so I have to use it.
> Any ETA for proper present support in radeon?

No, but in the meantime the modesetting driver from current xserver has proper DRI3 and Present support.
Comment 11 darkbasic 2015-02-09 17:40:53 UTC
I switched to the modesetting driver (xorg-server git) + page flipping patches:
http://cgit.freedesktop.org/~kwg/xserver/commit/?h=pageflip&id=f60ed01813e8c479625c28ab530a0fa3d76c1196
http://cgit.freedesktop.org/~kwg/xserver/commit/?h=pageflip&id=885deeffc90548cc4a98def507522d422cc90a09
http://cgit.freedesktop.org/~kwg/xserver/commit/?h=pageflip&id=77c0d59d01fece39910ae593f7807e74ffe24583
http://cgit.freedesktop.org/~kwg/xserver/commit/?h=pageflip&id=25d5d2b1103be58bb2d549bf0e62d505377060f4
http://cgit.freedesktop.org/~kwg/xserver/commit/?h=pageflip&id=f3c10666df33650da1e772994b087825774671ee

~ # cat /usr/share/X11/xorg.conf.d/99-modesetting.conf 
Section "Device"
        Identifier "radeon"
        Driver "modesetting"
EndSection

~ $ ./dri3info 
Connected to DRI3 on display ':0', using fd 4: matches /dev/dri/card1

Also in the meantime I moved to Plasma 5 git so I can't reproduce the original xf86-video-ati bug anymore, that's why I'm closing this issue.

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.