Michael Meyer wrote:
> Hi,
> I would like to install opensolaris on a two-seat system: 
> 1 Computer
> 2 Graphic cards or 1 dual head graphic card
> 2 mice
> 2 keyboards
> So two people can share one computer - without the need of thin clients.
> Is this possible?
> I have googled a lot, but only found references to linux, where one also has 
> to tweak the linux kernel.
> Does anybody know of a manual for installing opensolaris on a multi-seat 
> system?

We've got instructions for doing this with Xsun on SPARC, which
follow here.   Xsun on x86 was never able to do this because the
x86 Xsun drivers never supported multiple cards in a system.
I think you could do this with Xorg on x86 using a mix of these
instructions for the input device specifications and the xorg.conf
instructions you found for Linux, but don't know of anyone who has
ever tried it on Solaris x86.

-------------------------------------------------------------------

Using multiple keyboards & mice on a Solaris machine

In recent versions of Solaris, the Xsun keyboard & mouse DDX modules have been 
extended to support multiple keyboards and mice on Solaris. The Xorg server on 
Solaris x86 has similarly been extended to support multiple mice, but not yet 
multiple keyboards.

Unfortunately, this is not a very well documented feature, though it is 
supported - but you must pay close attention to the configuration instructions 
and Limitations described below.

There are currently two choices for configuring X on a machine with multiple 
input devices:

     * One X server with the extra devices available via the X Input extension 
(commonly used for accessibility helper programs, or for x86 laptop users)
     * Multiple X servers, each with its own set of input & output devices 
("multi-seat" mode)

The two methods can be mixed on a single machine - when configuring you simply 
need to determine which X server each device is going to be associated with.

Requirements

     * Solaris 9 FCS or later (SPARC or x86)
     * USB-capable machine (a serial port prototype was once made, but is not 
supported in the software as integrated into S9).
     * For Solaris 9, USB patch 115338-01 (sparc)/115339-01 (x86) or newer. 
For Solaris 10, s10_17 or newer. (This is to get the fix for bug 4655789 "key 
up events lost when keys held down on multiple keyboards at once" .)

Limitations

Due to the nature of USB and Sun's implementation, USB devices may get 
different numbers when initialized or hot-plugged in a different order. A 
partial solution is to use the full path name under the /devices hierarchy - 
this is tied to the physical port a device is plugged into, so the order is no 
longer a problem, but devices must always be plugged into the same port this 
way.

OWconfig Configuration

The following sections may be added to either /etc/openwin/server/etc/OWconfig 
or /usr/openwin/server/etc/OWconfig. Xsun reads both when starting up and 
merges their contents.

     * 1. Run ls -l /dev/usb/hid* to see what the existing device names are.
     * 2. Attach the additional input devices to the machine
     * 3. ls -l /dev/usb/hid* to see what the newly attached device names are. 
Note at the end of each symlink line it will list whether it is a keyboard or 
a mouse.
     * 4. Add lines of the following form to OWconfig, one for each device, 
and each with a unique name beginning with "IMOUSE" or "IKBD":

# sun Keyboard module
class="XINPUT" name="IKBD2"
         dev="/dev/usb/hid2" strmod="usbkbm"
         ddxHandler="ddxSUNWkbd.so.1"
         ddxInitFunc="ddxSUNWkbdProc";

# sun Mouse module
class="XINPUT" name="IMOUSE2"
         dev="/dev/usb/hid3" strmod="usbms"
         ddxHandler="ddxSUNWmouse.so.1"
         ddxInitFunc="ddxSUNWmouseProc";

     * 5. To configure multiseat mode, add a section to OWconfig to associate 
each keyboard, mouse, and frame buffer with a specific display (in this case 
":1"):

class="XDISPLAY" name="1"
         coreKeyboard="IKBD2" corePointer="IMOUSE2"
         listOfInput="IKBD2:IMOUSE2"
         dev0="/dev/fb1";

Xservers Configuration

If /etc/dt/config/Xservers does not yet exist, copy to it from 
/usr/dt/config/Xservers For a 2 user system, it should look something like:

    :0   Local local_uid at console root /usr/openwin/bin/Xsun :0 -bs -nobanner 
-dev /dev/fb0
    :1   Local local_uid at none root /usr/openwin/bin/Xsun :1 -bs -nobanner 
-dev 
/dev/fb1

(Note the second line detail local_uid at none Thanks to Thomas Oughton for 
pointing this out!)

     * Test your configuration. For use with the X input extension, restart X 
and run xinputdev -l (source code here) to list the devices the server sees. 
You can also run xinputdev -k & xinputdev -m to switch your core keyboard and 
mouse to the specified devices.


-- 
        -Alan Coopersmith-           alan.coopersmith at sun.com
         Sun Microsystems, Inc. - X Window System Engineering

Reply via email to