Re: perfly -M (multipipe)

New Message Reply Date view Thread view Subject view Author view

From: Allan Schaffer (allan++at++sgi.com)
Date: 06/01/2000 19:51:49


On May 31, 2:53pm, Ken Lindsay wrote:
> I'm trying to figure how to use perfly on a multipipe system and
> the man page is not much help. perfly accepts the -M but I don't
> see any difference between that and one screen mode. How do I
> specify the number and configuration of the pipes? Do I have to
> use irCombine to set up the window manager for multipipe first?
> and all the other questions that are pertinent to this query.

The short answer: My bet is that you're running in a multi-keyboard
configuration. Type:

   /usr/gfx/gfxinfo | grep Managed

If you see output like this:

        Managed (":0.0") 1280x1024
        Managed (":1.0") 1280x1024
        Managed (":2.0") 1280x1024

and NOT:

        Managed (":0.0") 1280x1024
        Managed (":0.1") 1280x1024
        Managed (":0.2") 1280x1024

Then switch the system back to a single-keyboard config and perfly
will "just work" automatically. To do that, go to /usr/lib/X11/xdm
and modify the 'Xservers' file to read: (all one line, - your mailer
may break this into two)

     :0 secure /usr/bin/X11/X -bs -nobitscale -c -pseudomap 4sight -solidroot sgilightblue -cursorFG red -cursorBG white

Then stopgfx; killall xdm; startgfx.

If that's not it, ignore the rest. :-)

The longer answer:

A graphics pipe is analogous in the X Window System with the concept
of an "X Screen". Every X Display has a single keyboard & mouse and
at least one X Screen. Multiple X screens can be collected together
into one X Display.

With that in mind, a system with multiple graphics pipes can either
be set up as:

  A: multiple X screens making up one X display
      (notation :0.0, :0.1, :0.2, etc),
      all controlled by one keyboard/mouse
      This is the default

or

  B: one X screen each on multiple X displays
      (notation :0.0, :1.0, :2.0, etc)
      each controlled by its own keyboard/mouse

or

  C: Any varation of the above, ie
      groups of X screens on multiple X displays,
      (notation :0.0, :0.1, :1.0, :1.1, etc)
      first & second pipe share a keyboard, 3rd has its own.

When Performer goes looking for multiple pipes it looks for X screens
on the same X DISPLAY as the program was started. So pfGetPipe(2)
returns the pipe denoted by :0.2, and so on.

But if you're running in a multi-keyboard config, the pipes are
numbered differently, :0.0, :1.0, :2.0, and so on.

There is some religous debate whether pfGetPipe(2) should go and grab
the pipe on :2.0 in a multi-keyboard config, if :0.2 is not present.
The original idea of a multi-keyboard configuration is to allow
multiple users to each use the same system, with each individual
being given a graphics pipe for themselves. In that paradigm you
wouldn't want an application fired off by User #1 to suddenly appear
on the screen of User #2.

But on the flip side some folks don't care if that happens and in
fact want it to happen that way -- since reconfiguring requires root
access and cycling the graphics, they prefer to leave their system
configured in the most intricate way they might use it (in this case,
with a separate keyboard per pipe) and would like to be able to fall
back to a simpler setup without reconfiguring.

As I mentioned Performer is currently written to handle the former
methodology only. You can force it into the latter, but then there
is a glitch if you explicitly open (via pfOpenWSConnection) windows
on pipes numbered :0.0 :1.0 :2.0 -- Performer thinks they're all on
the same screen (0) and serializes the DRAW process of each -- but
although the debate rages on this is something that can be fixed for
a future release.

As a final aside we've got some plans to make perfly a lot easier to
configure (in a future future release), and I think the ability to
specify explicit host:display.screen strings on the command line or
config file would be a keen improvement.

Allan

-- 
Allan Schaffer                                            allan++at++sgi.com
Silicon Graphics                           http://reality.sgi.com/allan


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Thu Jun 01 2000 - 19:51:54 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.