Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Using the ATI Catalyst Control Center (fglrx), I setup two desktops (the multidesktop option) via dual-head. Now I have two mice and keyboards (USB) attached which, using xinput can be put in two separate groups. Can I lock each group to one screen? And how can this be done permanently? Alternatively, instructions for turning this "lite multiseat" configuration into multiseat are appreciated as well.

This is the xorg.conf as setup by the Catalyst Center:

Section "ServerLayout"
    Identifier     "amdcccle Layout"
    Screen      0  "amdcccle-Screen[1]-0" 0 0
    Screen         "amdcccle-Screen[1]-1" 1400 0
EndSection

Section "Module"
    Load  "glx"
EndSection

Section "Monitor"
    Identifier   "0-CRT1"
    Option      "VendorName" "ATI Proprietary Driver"
    Option      "ModelName" "Generic Autodetecting Monitor"
    Option      "DPMS" "true"
    Option      "PreferredMode" "1400x1050"
    Option      "TargetRefresh" "60"
    Option      "Position" "0 0"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
EndSection

Section "Monitor"
    Identifier   "0-DFP1"
    Option      "VendorName" "ATI Proprietary Driver"
    Option      "ModelName" "Generic Autodetecting Monitor"
    Option      "DPMS" "true"
    Option      "PreferredMode" "1400x1050"
    Option      "TargetRefresh" "60"
    Option      "Position" "0 0"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
EndSection

Section "Device"
    Identifier  "Default Device"
    Driver      "fglrx"
EndSection

Section "Device"
    Identifier  "amdcccle-Device[1]-0"
    Driver      "fglrx"
    Option      "Monitor-DFP1" "0-DFP1"
    BusID       "PCI:1:5:0"
EndSection

Section "Device"
    Identifier  "amdcccle-Device[1]-1"
    Driver      "fglrx"
    Option      "Monitor-CRT1" "0-CRT1"
    BusID       "PCI:1:5:0"
    Screen      1
EndSection

Section "Screen"
    Identifier "Default Screen"
    DefaultDepth     24
    SubSection "Display"
    EndSubSection
EndSection

Section "Screen"
    Identifier "amdcccle-Screen[1]-0"
    Device     "amdcccle-Device[1]-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "Screen"
    Identifier "amdcccle-Screen[1]-1"
    Device     "amdcccle-Device[1]-1"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "DRI"
    Group        "vglusers"
    Mode         0660
EndSection

(the latter entry is from VirtualGL, see this question, it should be irrelevant here)

share|improve this question
    
Thank you all for your answers. I won't be able to test this for a while so I can't accept an answer yet, but I'll award tmow's answer for quoting a bit more –  Tobias Kienzler Jan 20 '11 at 8:44

5 Answers 5

Have you tried something like MDM? It looks like it can handle the keyboard/video/mouse mappings in its config file.

share|improve this answer

Look for multiseat and you will find the info you need. The linked Wikipedia article even describes where MDM fits in.

Im a Debian fan so check out Debian Wiki or the Ubuntu Community Docs. XORG has a good collection of multiseat info, including this detailed how-to.

Good Luck!

share|improve this answer

If I understood your needs you have to bind one screen, keyboard and one mouse to one ServerLayout and the others to the second one.

http://cambuca.ldhs.cetuc.puc-rio.br/multiuser/

Section "ServerLayout"
    Identifier "Layout0"
    Screen 0 "Screen0"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerLayout"
    Identifier "Layout1"
    Screen 0 "Screen1"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
EndSection

This is, as far as I know, the only way to proceed.

Also Arch as one good tutorial:

https://wiki.archlinux.org/index.php/Xorg_multiseat

And Linux Toys show you even how to put in place a 6 seated setup

http://www.linuxtoys.org/multiseat/multiseat.html

share|improve this answer
    
thanks. however the first link is XFree86 related, does it still work with X11? Also, you miss-pasted the Arch link... –  Tobias Kienzler Jan 20 '11 at 8:45
    
Yes, sure, it applies also to X.org. Sorry for the mistake, I've fixed it and actually that link should explain you much better a multi-seat configuration –  tmow Jan 20 '11 at 10:51

The other answers were certainly on the right path, but the MDM/multiseat documentation is quite lacking and disperse. Some of the links provided here were outdated, referencing XFree86, Xorg's predecessor. Some digging shows that most MDM configurations use Xephyr.

Here is a HOWTO on building Multiseat Xephyr configuration:

http://en.wikibooks.org/wiki/Multiterminal_with_Xephyr

share|improve this answer
up vote 3 down vote accepted

One interesting possibility I forgot is what Tyler Szabo's answer to my question Multiseat gaming? @gaming.SE suggests:

I would use VMWare. This might be possible with just VMWare player (you will need to be able to allocate a mouse to a single VM), or you might need to try VMWare workstation (for which I'm quite sure it works). The hardware/software you will need is as follows:

  • Multiple sets of USB input (mice/keyboard/etc.)
  • A license for VMWare Workstation (or another VM system)

    1. Set up a VM as you normally would and power it down.
    2. Configure the USB Controller (found in "Edit virtual machine settings") to "Show all USB input devices"
    3. Start up the VM.
    4. In the menu Navigate to VM -> Removable Devices, and select the inputs to direct to the VM exclusively. (Now one of your keyboard/mouse combinations will only be directed to that VM.)

At this point you have a window that is fully isolated with a set of inputs that will go only to it. You can do this for as many VMs as you can handle (and for as many sets of input as you can handle - I only tested with 2). The only irritating thing that can happen is is you have only 2 sets of inputs (in my case my laptop keyboard, my USB keyboard and 2 USB mice). I set up a VM with my USB Keyboard/Mouse combo, and maximized that to one monitor (you need VMWare tools to do this). For the other I had a problem that my mouse could escape from one VM onto the other (a feature of tools); to get around that I put my second VM in "exculsive mode" thus caputuring my "host" input; I could also have had a second keyboard/mouse combo.

Best of this is, you don't even need multiple monitors, you could do it split-screen style with a bunch of VMs+keyboards+mice.

share|improve this answer
    
this is the only solution I got working so far... –  Tobias Kienzler Feb 1 '11 at 13:52

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.