liskin / hybrid-screenclone

Clone a single Xinerama screen to another X server, in userspace.
19 stars 11 forks source link

Lag with compiz #3

Open meh-what opened 12 years ago

meh-what commented 12 years ago

Hi, I setup this stuff on my thinkpad using this: http://sagark.org/optimal-ubuntu-graphics-setup-for-thinkpads/

Everything works good except compiz effects like expo lag (but other things like youtube / other videos etc don't. Do you have any idea what's wrong?

Thx

liskin commented 12 years ago

I don't know. To be honest, I don't use a compositing window manager myself and I'm quite surprised it works at all. :-)

But when you uncomment that second DBG define, it should spill some debugging output. But that's not really going to help. If the problem is that screenclone is getting stuck somewhere, debugging output will be just as stuck. And if the problem is that somehow we're not getting XDamage events for those compiz effects (which was my first guess, but it seems strange), then perhaps you'll see that there aren't enough "damage" lines in the output (as compared to "mouse moved"). But I'm not sure how to tell where's the culprit.

jethrogb commented 12 years ago

I think the issue is, as you suggested, that there are some missing damage events. Apparently it used to be a lot worse [1] [2]. I'm using compiz 0.9.6+bzr20110929-0ubuntu3 and am seeing that the display doesn't update (until I move my mouse around enough, or something like that) when I do any of the following (on the cloned screen, where appropriate):

[1] http://workaround.org/node/305 [2] https://bugs.launchpad.net/ubuntu/+source/vnc/+bug/77442

jethrogb commented 12 years ago

This comment [1] actually fixes this issue for me, perhaps there is something that can be done by changing the virtual CRTC patch?

Section "Device"
        ...
        Driver "intel"
        Option "SwapbuffersWait" "false"
EndSection

[1] https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/918815/comments/4

liskin commented 12 years ago

I don't think there's anything we can do in the patch. There are clearly some bugs in XDamage in the driver or the X server, and I don't think I'm the right person to fix them (especially since I'm not using compositing myself and not going to). Sorry.

But you have a workaround, you should be a happy person. :-) Also, I've had a patch to enable runtime switching of SwapbuffersWait in the repo for ages. My usecase was different, of course, but you might want to have a look.