Xinerama + Composite
by admin on Apr.13, 2010, under Composite, Development, Xinerama
So today I received my second Nvidia 9500 GT 512MB PCI-X video card. The plan was simple – stick the card in, attach two more monitors to it, tell X to drive those monitors, and everything should work. Right? Wrong!
Turns out that in order for X to drive 4 monitors (2 on each Nvidia 9500 GT), Xinerama needs to be enabled. What’s bad about that? Because it’s mutually exclusive with Composite. That means I can have 2 small & pretty Compiz desktops or 1 large & ugly Metacity desktop.
I did some digging around as to why this is and here’s what I found out:
| <JKac3BEq> | Could someone explain why the COMPOSITE extension is not revealed by X.org when XINERAMA is enabled, even though the logs show it is loaded? | |
| <ajax> | because loaded and enabled mean different things. and the "loaded" message is basically just a list of the things that were built into the server, not what’s actually configured. |
|
| <JKac3BEq> | Understood about loaded…. but why isn’t it being enabled then? X 1.7.6 FYI |
|
| <ajax> | because xinerama and composite are mutually exclusive at the moment. the code is broken, so it’s disabled so you don’t do something that’s not going to work. |
|
| <JKac3BEq> | You say at the moment… does that mean that the end goal is for both to work together? | |
| <ajax> | sure. | |
| <JKac3BEq> | Is any work being done to resolve this currently? | |
| <ajax> | meh. i had a branch a while ago, it still didn’t work, and i haven’t touched it in a few months. feel free to send patches. |
|
| <JKac3BEq> | Is there a list of what doesn’t work somewhere ? | |
| <ajax> | no. | |
| <JKac3BEq> | Or is it a matter of try to compile and run and fix segfaults as you find them? | |
| <ajax> | and fix broken rendering, and deadlocks, and event generation, and… | |
| <JKac3BEq> | Thanks for the info Can you point me at the branch you started? |
|
| <ajax> | it was up on fdo until a disk crash. it’s currently on a laptop that’s at home. | |
| <JKac3BEq> | ajax: thanks |
April 18th, 2010 on 11:50 pm
Someone over at the Ubuntu forums has been doing Xinerama + Composite for a couple of years:
http://ubuntuforums.org/showthread.php?t=884161
May 2nd, 2010 on 8:33 pm
Thanks BitJam for that suggestion. However, that solution uses XGL which has been removed the X.org sources for a couple years now. I’d rather not regress to older X.org versions if I can absolutely avoid it. For now, I think I will satisfy myself with Metacity and wait for Xinerama & Composite to co-exist.
May 4th, 2010 on 3:09 pm
We’ve been waiting on this for years… (There’s even someone offering to pay a few hundred bucks for someone to fix it.)
A friend and I would gladly tackle it, but we’ve only got generic software experience, as opposed to anything X-specific, which means there’s a high barrier to entry.
If anybody would like to collaborate, send me an email or IM or something. This username is my aim, and also my email, at gmail.
Did you ever end up getting the code?
May 4th, 2010 on 6:12 pm
Thanks svtdragon for reminding me about getting that code.
May 9th, 2010 on 7:12 pm
Any luck yet? I’d like to take a look at it.
May 24th, 2010 on 10:22 pm
Still not working? I’ve got $1000 that says it won’t be fixed before Ubuntu version 12.10.
March 14th, 2011 on 10:46 am
(I’m the ajax in the above IRC log.)
Someone pointed me to this post in an email. For the record, all the known incompatibilities between Composite and Xinerama should be fixed in xserver 1.10. Which is not to say it’s working perfectly – there are probably bugs – or that it’s an efficient implementation – it’s not – but it should at least attempt to work.
Also, if you’re using an open source driver, GLX and Xinerama probably still don’t work together yet. NVIDIA’s driver should handle that in limited cases though.
Relevant commits:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=84a14fab8f930ef1855444ae4e9e3e14ee008328
http://cgit.freedesktop.org/xorg/xserver/commit/?id=6dea617e0f71a6fc7937e3a1e10474fa87488284
http://cgit.freedesktop.org/xorg/xserver/commit/?id=4d575b0559817258f7a0ce6c4d2d0f9e7e5bba63
March 15th, 2011 on 8:42 am
Sweet! I look forward to testing this out.
January 14th, 2012 on 12:26 pm
It’s 2012
Any news on xinerama and compositing?
Anyone.
January 16th, 2012 on 11:21 pm
Last I tried (a couple months ago) X.org 1.11.1 and latest NVIDIA drivers resulted in severe video corruption when enabling compositing (xcompmgr). Corruption went away after killing xcompmgr (ctrl-c).
The devs seemed to think it was a issue with the NVIDIA drives.
January 27th, 2012 on 12:06 am
Shameles bump!
Dying to get my nNvidia GTX 590 to work with 3 monitors..
>_<