I have a few questions relating to xfwm4 and compositing:
Does xfwm4 use (hardware/software) opengl for compositing?
If not, then what code would I have to work on to implement it, is there a specific library that would be preferred?
Do you think it would be a lot of work?
Would it (as a feature*) be something that would be greeted with open arms?
*in other words, assuming it's coded well, performance is reasonable, and there are few or no regressions.
I'm asking because, although I likely won't be working on this full time and may never finish it, I'd like to try and implement it myself (I'll of course accept help, and I'll have the code up where others can easily contribute if they want to).
That would be great, if it solved the tearing issue in videos of course. (AFAIK xfwm uses xrender and not opengl which is why there is tearing.)
Alright, thanks. ^_^
stqn: Yeah, that would be nice. This behavior: tearing in Parole only when the compositor is enabled (with the built in one and compiz)?
Interesting note: I get tearing in flash and html <video> no matter what (in Chrome), with or without compositing.
Not sure what you're asking... I get tearing in VLC and smplayer with xfwm's compositor, but not with compiz. I think there's a "sync to vblank" setting to enable in compiz first.
Last edited by stqn (2011-11-06 13:44:37)
I have the same tearing with compositing enabled when watching movies regardless the player. It is an Xfce issue I always had, that is not happening with Compiz, but I do not use Compiz under Xfce. Flash is another story, here I have tearing also without compositing under Xfce.
I hope in the future that could be somehow improved, at the moment I do not use compositing because of mentioned issues and I really like Xfwm.
Debian Wheezy Xfce 4.8
Using compiz, I get tearing with "sync to vblank" enabled (in OpenGL) and with "don't wait for video sync" disabled (in workarounds). I guess it could be a driver issue, but I've never heard of it...
Apparently, nouveau has a GLXVBlank setting which defaults to off. I can imagine why, but I'd think individual clients should still be able to sync on their own. I guess that rendering is usually fast enough that I don't notice tearing, but on some workloads it's more obvious.
Edit: Even with GLXVBlank enabled I get tearing (but it's less noticeable, only occurring at the top of the video) when using compiz.
Last edited by AsureDawn (2011-11-06 17:12:59)
Tearing is caused by Xrender (which is used to composition in Xfwm4), which can't sync (I can't belive that, but it's true). The bug is there for years - tearning video, tearning windows, and so on.
Solution is to fix Xrender, or teach Xfwm4 to use OpenGL, or use Compiz.
Does xfce v4.8 have a GUI panel which enables toggling openGL vs xrender ?
(If it does, can I buy a clue? I'm having a tough time finding it)