Bug 20817 - Xorg needs the VGA Arbiter working and in the main trunk
Summary: Xorg needs the VGA Arbiter working and in the main trunk
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/DDX/Xorg (show other bugs)
Version: unspecified
Hardware: Other All
: medium enhancement
Assignee: Tiago Vignatti
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 20816
  Show dependency treegraph
 
Reported: 2009-03-23 20:02 UTC by Tim Nelson
Modified: 2009-09-07 08:38 UTC (History)
11 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Tim Nelson 2009-03-23 20:02:14 UTC
It seems that in many cases, a VGA arbiter is necessary to get multiple video cards working at once.  

http://www.x.org/wiki/VgaArbiter

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
interface

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
this message.  

The following patch first needs to be applied to your Linux kernel (with
apologies to non-Linux types):

http://people.freedesktop.org/~airlied/kernel-vga-arbiter.patch

Then this patch needs to be applied to your xserver:

http://cgit.freedesktop.org/~airlied/xserver/log/?h=vga-arbiter

I'm unaware of any copy of the userspace library more up-to-date than the one
on this page:

http://git.c3sl.ufpr.br/pub/scm/multiseat/libvgaaccess.git/

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.  

HTH,
Comment 1 Matthieu Herrb 2009-03-24 04:00:45 UTC
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. 
Comment 2 Tim Nelson 2009-03-24 16:07:10 UTC
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.  
Comment 3 Alan Coopersmith 2009-09-07 00:01:50 UTC
This is all merged for 1.7 now, isn't it?
Comment 4 Tiago Vignatti 2009-09-07 08:38:13 UTC
(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.



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.