Suggestions for properly abstracting multiple screens.
JoJo jojo
onetwojojo at gmail.com
Mon Feb 25 22:58:21 PST 2008
that....makes.......sense ;-0
so instead of device "pci bus id"
we use virtual device "vgaArbitrater n"
X -> vgaArbitrator -> PCI bus -> GPU
the two scenarios were:-
a) 1 parent X controlling all the crtc running child X on screens
b) independent X controlling individual crtcs
vgaArbitrater will support b) making a) unnecessary
The objective of vgaArbitrator, originally was to do this cleanly,
for multiple gpu. Now vgaArbitrator will expose individual crtc as a
device node for X
(I was thinking it would only expose 1 device to X per gpu)
I suppose the way devices & screens are handled in X will also change.
-JoJo
On Tue, Feb 26, 2008 at 11:51 AM, Dave Airlie <airlied at gmail.com> wrote:
> On Tue, Feb 26, 2008 at 3:51 PM, JoJo jojo <onetwojojo at gmail.com> wrote:
> > Hi Dave
> >
> > so you are saying
> > Step 1: Multiseat on discrete GFX
> > Step 2: Multiseat on dual o/p GFX OR dual o/p IGPs
> > (and vgaArbitrator in currently at Step1.)
>
> There are no steps in common, they are two separate problem spaces..
> lets sort out your terminology first.
>
> Discrete vs integrated doesn't come into the picture at all.
>
> We have GPUs, either integrated or discrete.
> Each GPU can have 1-n crtcs which it can use to driver outputs. n is commonly 2.
> We can have multiple GPUs in a system.
>
> So for multiple GPUs in one system, we need VGA arbiter along with
> kernel device drivers in the future, to
> allow multiple graphics cards to be posted and setup correctly. We can
> then run one X server per GPU and make sure we avoid
> any problems decoding VGA resources using the arbiter. So in this case
> you end up with multiple X servers with one per GPU.
>
> Now we can also attempt to put a user per crtc, so have 2 users on one
> GPU. With kernel modesetting drivers and a newer DRM interface (the
> design of which
> was discussed on dri-devel two weeks ago), we can set the system up so
> that two device nodes are created with a crtc and output set assigned
> to each. Then you can run a separate
> X server on each one of these device nodes and in theory you get
> multi-seat with single user per crtc.
>
> Now you can combine the two and lots of users in lots of fashions but
> they are two very distinct problem spaces.
>
> It would also be nice to run the X server as a user instead of root to
> make all this work nicer again we have discussed plans for this at
> various stages.
>
> Dave.
>
More information about the xorg
mailing list