Suggestions for properly abstracting multiple screens.

Dave Airlie airlied at gmail.com
Mon Feb 25 22:21:23 PST 2008


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