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