It seems that in many cases, a VGA arbiter is necessary to get multiple video cards working at once.
The link above details some work which has been done on a VGA Arbiter for X.
To summarise, three things are needed:
- kernel VGA arbiter
- userspace library that uses the arbiter
- xserver patch that patches xserver to use the library and new kernel
Unfortunately, while that summary is still accurate, the page above is a) a
little out of date, and b) the code was never included in any of the
appropriate projects. The most up-to-date version (ie. the version that works
with the current code) is elsewhere (see below), but has not been tested, hence
The following patch first needs to be applied to your Linux kernel (with
apologies to non-Linux types):
Then this patch needs to be applied to your xserver:
I'm unaware of any copy of the userspace library more up-to-date than the one
on this page:
Instructions for using that last link are on the wiki page above.
If anyone has a chance to test this, feedback could be useful.
Yes, I know this isn't directly related to the original problem, but most of
the people really interested in multi-card xorg are already watching this bug.
There are a few additional comments at bug #18160.
While doing this in the kernel is a good thing, everyone should keep in mind that it should be implemented in a way that doesn't tie it to the Linux kernel only.
X.Org supports other operating systems.
I agree about trying to avoid doing things in the kernel. However, if we have a solution that a) works single-card on non-Linux systems, and b) works multi-card on Linux systems, I'd say that's better than not working at all.
Additionally, if it's only a small bit of code, hopefully the BSD guys can write something similar for their kernel. Even if it has to be different, hopefully the VGA Arbiter library can be rewritten to cope with both the Linux and BSD situations.
This is all merged for 1.7 now, isn't it?
(In reply to comment #3)
> This is all merged for 1.7 now, isn't it?
Yes, it is. And I'll also update the X.Org wiki regarding this.
Though it's worth to note that there stills some hangs with x86emu int10's backend (bug 20849). Therefore I'm closing this bug, but I'll let the master bug (20816) opened.