Slashdot Mirror


Two Headed Penguins?

dmendesf asks: "The Octane2 workstation from SGI has a neat trick called PowerDuo that enables a single station to be driven by 2 keyboards, 2 mice and 2 monitors. Is it possible to do the same with Linux and USB mice, keyboards plus Dual Head videoboards?" How difficult would it be to develop an X11 solution to do this? Now take this a step further: could this be done with the secondary machine a network connection away?

7 of 50 comments (clear)

  1. Overly simple solution... VNC by herrlich_98 · · Score: 3, Informative

    Start a vncserver on the computer and go to another computer and use vncviewer. The other computer can even be a Windows box... or vice versa.

    1. Re:Overly simple solution... VNC by heliocentric · · Score: 3, Informative

      Start a vncserver on the computer and go to another computer and use vncviewer. The other computer can even be a Windows box... or vice versa.

      The problems here are many. One, your solution uses two computers and just shares some resources - the question was really a means to have one box that acts like two distinct computers. Secondly, for those who don't know nvc is like norton pc anywhere, only it's thinner, cross platform, java client, etc... - so, what you get with it is a server being controled by a client and thus you've turned two computers into .5 for one person (since their mouse, keyboard, etc..) is controled by someone else and 1.5 for that other person since they have the own computer and full control of someone else's.

      --
      Wheeeee
  2. Matrox cards work.... by Manic+Miner · · Score: 3, Informative

    You could certainly do this with a Matrox G450 dual-head. I did this acidently while trying to setup and dual head linux box to use xinerama :). IIRC the only thing needed was to not specifiy xinerama.

    The upshot was I got a machine which proceeded to load up two separate desktops with their own task bars - which you could not drag applications / windows between.

    The problem with this was that xdm only ran on one display and on login you got both desktops at once. However, both monitors were acting as an independant display so this kind of thing must possible, maybe just some xdm config tweaking to get this right.

    --
    If you ever drop your keys into a river of molten lava, let'em go, because, man, they're gone.
  3. I remember reading about this before... by The+guy+standing+ove · · Score: 5, Informative

    I believe the following HOW-TO is what you're looking for is here

    http://www.linuxplanet.com/linuxplanet/tutorials /3 100/1/

    I've been thinking about doing the same thing myself. With a dual-processor machine, I'm sure I wouldn't notice a change in system performance.
  4. clarification by foobar104 · · Score: 5, Informative

    I see a lot of comments about X terminals and one about a dual-head graphics card.

    That's not what the question-asker-person was talking about.

    The Octane system that was referred to in the question is designed to support two users logged into the machine at the same time, each using a fully functional hardware graphics pipe. From the user's point of view, it's exactly like having your own Octane, complete with V12 ("really fast") graphics.

    You can't do that with VNC or an X terminal, because those both involve running your application on the server and displaying its output over the LAN. That's not as fast as working on the local machine, and it doesn't provide you with hardware-accelerated graphics.

    A dual-head output from your graphics card also wouldn't be enough, because to implement a system like this you'd have to have two graphics cards, one for each user.

    SGI Onyx systems have supported this kind of thing for years; at one point it was marketed as a product called "GroupStation." The way they set it up wasn't particularly exotic, although it may depend on some features unique to the Xsgi X server. For instance, Xsgi has a "-pipe" option that tells it to manage the given graphics pipe; graphics pipes are numbered by the kernel at boot time, so on any multipipe machine you can refer to a specific pipe as 0, 1, 2, or whatever. I don't know if that option is unique to Xsgi or what.

    Each user gets a mouse, keyboard, and monitor. The X server on the Onyx would be configured to run one instance of X on each graphics pipe, instead of one instance of X with a screen for each pipe. (In other words, :0.0 and :1.0 instead of :0.0 and :0.1.) Each X display gets an instance of xdm, so when you sit down you log in and go like you're the only user on the machine. You set up the bindings between mouse/keyboard devices and pipes in the Xservers config file, I think.

    It should be possible, at least in theory, to do this with XFree86. I know multiple X sessions on one Linux machine are supported; I've done it myself with multiple XDMCP clients running at the same time. If XFree86 supports binding mouse and keyboard devices to X displays, then you should be ready to roll.

    The only bad news is that you'd be limited to PCI graphics cards for your 2nd through nth heads, unless you have a motherboard with more than one AGP slot. None of the PCs at my office have more than one, so I'm not even sure whether such a beast exists.

    So to sum up, I think this depends more on XFree86 than it does on Linux. If you want to try it, I'd start with the XFree86 documentation to find out if the features you'd require are supported.

  5. multiple displays by cloudmaster · · Score: 3, Informative

    It's possible to directly access individual mice and keyboards, and X already has a "screens" section where multiple cards can be set up to run the same or different x servers. The only hassle, I think, would be binding the right input devices to the right monitor - I'm not positive how tough it would be to get each input device to register in the same order.

    Just look at an XFree 4 XF86Config file, it's not that big a deal. There's plenty of information about using multiple video cards under XF4 alerady out there, as that capability's been easy to use for a couple of years now.

  6. Re:Yes, easily, surely? by alangmead · · Score: 2, Informative

    Take a look at the format of the DISPLAY environment variable, and notice what the various parts do. (assuming a machine with TCP, X can use other transports, and the DISPLAY variable is different)

    hostname:0.0

    Where I put "hostname", is of course the name of hte machine. The next section, after the colon, X calls the "display", and this refers to a complete set of input and output devices for a single user. The last section, after the dot is called a "screen", which is a bitmapped output device for X (basically another monitor.)

    Things like VNC and ssh's X forwarding set themselves up as additional displays (screen, keyboard, and mouse combos) and proxy the X events that they receive to the machine at the other end of the network link.

    So X itself is designed for multiple users per machine. (think about it, a lot of the original work on X was done at DEC. They had a motivation to support big multiuser machines.) The issue here is whether linux's USB support allows you to read from a single keyboard on the USB bus and ignore key events from other keyboards.