Bug 14394

Summary: [NV4B] Composite broken on 2nd head
Product: xorg Reporter: Christopher James Halse Rogers <chalserogers>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED NOTOURBUG QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log
none
An attemp at resizing the composite overlay window.
none
resize the composite overlay window
none
resize the composite overlay window
none
resize the composite overlay window
none
esize the composite overlay window none

Description Christopher James Halse Rogers 2008-02-05 18:07:55 UTC
Created attachment 14164 [details]
Xorg log

When using metacity's composite manager, windows moved from my primary head (LVDS) to the second head (DVI-D-0) do not appear at all.  The mouse pointer appears correctly, and the pointer changes depending on the contents of the invisible window as normal (ie: a text-caret when over a textbox, etc).

This happened with the switch to metacity 2.21.8.  One of the changes to the compositor was to use the Composite Overlay Window.  The kwin's compositor in KDE4 also exhibits the same behaviour.

Composite works correctly when using xcompmgr, which leads me to suspect that it's a problem with the COW on the second head.
Comment 1 Maarten Maathuis 2008-02-06 14:48:23 UTC
Did X have a left+right config at startup or was this changed with xrandr (or some other config app)? I may have a suspicion what the problem is, but i need to gather some more info.
Comment 2 Christopher James Halse Rogers 2008-02-06 15:41:28 UTC
This was changed with the command "xrandr --output DVI-D-0 --right-of LVDS-0".  If you'd like me to check with this set up in xorg.conf, I'll need to find out how to do it :).
Comment 3 Maarten Maathuis 2008-02-07 00:42:15 UTC
Please try. This howto is pretty decent http://wiki.debian.org/XStrikeForce/HowToRandR12
Comment 4 Christopher James Halse Rogers 2008-02-07 13:52:47 UTC
Right, good guess.

When the dual head setup is specified in xorg.conf, everything works fine.  Playing around with xrandr in this case, I see:
Switching from right-of => same as => right of: correct behaviour.
Switching from right-of => left-of: correct behaviour.
Switching from right-of => above: buggy behaviour: the screens are correct up to the original maximum vertical resolution, and broken below it.

It seems the COW is not resized with xrandr changes.
Comment 5 Maarten Maathuis 2008-02-08 10:49:11 UTC
I have some issues with my system that prevent me from fixing this on the very short term, but i will have a look at this later.
Comment 6 Maarten Maathuis 2008-02-11 13:25:10 UTC
This is a (test) patch against xserver git, so it may not apply perfectly against against 1.4.x, It's also untested as i have no test application for the moment.
Comment 7 Maarten Maathuis 2008-02-11 13:26:52 UTC
Created attachment 14274 [details] [review]
An attemp at resizing the composite overlay window.
Comment 8 Maarten Maathuis 2008-02-14 09:21:23 UTC
Are you in a position to try a git xserver, as i cannot reproduce the problem?
Comment 9 Christopher James Halse Rogers 2008-02-14 14:31:03 UTC
(In reply to comment #8)
> Are you in a position to try a git xserver, as i cannot reproduce the problem?
> 

I've just applied your patch to Ubuntu's X server (which seems to be a git snapshot as of 2008/01/31), and it fixes this.  Sorry for the delay.
Comment 10 Maarten Maathuis 2008-02-15 03:59:49 UTC
You were running a git xserver before as well?
Comment 11 Christopher James Halse Rogers 2008-02-15 16:41:33 UTC
(In reply to comment #10)
> You were running a git xserver before as well?
> 

Yes; I was running the same git snapshot, but minus the patch.  The Ubuntu X packages are merged from Debian experimental I believe, if you're more familiar with them.

I haven't tried with a raw build from freedesktop git.  The Ubuntu packages have a bunch of extra patches applied to them, which may affect things?
Comment 12 Maarten Maathuis 2008-02-16 02:38:32 UTC
Maybe i'm just not hitting the situation, i don't have a full gnome desktop installed, only metacity. I'll have to poke some of the xorg guys about a few things before i can call that patch finished.
Comment 13 Maarten Maathuis 2008-02-16 13:41:22 UTC
Created attachment 14357 [details] [review]
resize the composite overlay window

A better patch, please test it.
Comment 14 Maarten Maathuis 2008-02-16 13:45:19 UTC
Created attachment 14358 [details] [review]
resize the composite overlay window

Made another small change.
Comment 15 Maarten Maathuis 2008-02-16 14:56:33 UTC
Created attachment 14359 [details] [review]
resize the composite overlay window

Make the function static.
Comment 16 Maarten Maathuis 2008-02-16 15:10:45 UTC
Created attachment 14360 [details] [review]
esize the composite overlay window

Return FALSE when appropriate.
Comment 17 Christopher James Halse Rogers 2008-02-16 17:25:23 UTC
Confirmed, applied to Ubuntu's packages with a git snapshot as of 2008/01/31.  Everything works fine with the above patch, xrandr resizing breaks Metacity's compositor (as described previously) without the patch.
Comment 18 Maarten Maathuis 2008-02-17 12:37:27 UTC
Fixed in xserver git.

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.