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