I plan to use the systemd mutli-seat features, but I am not sure at all how I must proceed and in waht order. I understand the main principle for mouse and keyboard: detect the device then $ loginctl attach seatNumber DevicePath As for the graphic card, I am lost.
OS: Fedora 22 gdm 1 nvidia card 1 USB3 plugable dockin station for the second monitor Nvidia driver (I would like to avoid using Nouveau if possible). The actual configuration: ---------------------------------------- $ loginctl seat-status seat0 seat0 Sessions: 2 *1 c1 Devices: ├─/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1 │ input:input1 "Power Button" ├─/sys/device...XSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0 │ input:input0 "Power Button" ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 │ drm:card0 ├─/sys/device...0:00/0000:00:01.0/0000:01:00.0/drm/renderD128 │ drm:renderD128 ├─/sys/device...000:00/0000:00:01.0/0000:01:00.0/graphics/fb0 │ [MASTER] graphics:fb0 "nouveaufb" ├─/sys/device...0000:00/0000:00:01.0/0000:01:00.1/sound/card1 │ sound:card1 "NVidia" │ ├─/sys/device...00:00:01.0/0000:01:00.1/sound/card1/input14 │ │ input:input14 "HDA NVidia HDMI/DP,pcm=3" │ ├─/sys/device...00:00:01.0/0000:01:00.1/sound/card1/input15 │ │ input:input15 "HDA NVidia HDMI/DP,pcm=7" │ ├─/sys/device...00:00:01.0/0000:01:00.1/sound/card1/input16 │ │ input:input16 "HDA NVidia HDMI/DP,pcm=8" │ └─/sys/device...00:00:01.0/0000:01:00.1/sound/card1/input17 │ input:input17 "HDA NVidia HDMI/DP,pcm=9" ├─/sys/devices/pci0000:00/0000:00:14.0/usb1 │ usb:usb1 │ └─/sys/devices/pci0000:00/0000:00:14.0/usb1/1-10 │ usb:1-10 │ └─/sys/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.4 │ usb:1-10.4 │ ├─/sys/devic....1:1.0/0003:046D:C534.0004/input/input18 │ │ input:input18 "Logitech USB Receiver" │ ├─/sys/devic....1:1.1/0003:046D:C534.0005/input/input19 │ │ input:input19 "Logitech USB Receiver" │ └─/sys/devic...B.0008/0003:046D:4003.0009/input/input20 │ input:input20 "Logitech K270" ├─/sys/devices/pci0000:00/0000:00:14.0/usb2 │ usb:usb2 │ └─/sys/devices/pci0000:00/0000:00:14.0/usb2/2-6 │ usb:2-6 │ └─/sys/device...14.0/usb2/2-6/2-6.1/2-6.1:1.2/sound/card2 │ sound:card2 "UD3900" ├─/sys/devices/pci0000:00/0000:00:1a.0/usb5 │ usb:usb5 │ └─/sys/devices/pci0000:00/0000:00:1a.0/usb5/5-1 │ usb:5-1 ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0 │ sound:card0 "PCH" │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input10 │ │ input:input10 "HDA Intel PCH Rear Mic" │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input11 │ │ input:input11 "HDA Intel PCH Line" │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input12 │ │ input:input12 "HDA Intel PCH Line Out" │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input13 │ │ input:input13 "HDA Intel PCH Front Headphone" │ └─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input9 │ input:input9 "HDA Intel PCH Front Mic" ├─/sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/usb3 │ usb:usb3 ├─/sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/usb4 │ usb:usb4 ├─/sys/devices/pci0000:00/0000:00:1d.0/usb6 │ usb:usb6 │ └─/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-1 │ usb:6-1 ├─/sys/device...1f.2/ata6/host5/target5:0:0/5:0:0:0/block/sr0 │ block:sr0 ├─/sys/device...a6/host5/target5:0:0/5:0:0:0/scsi_generic/sg2 │ scsi_generic:sg2 ├─/sys/devices/platform/eeepc-wmi/input/input8 │ input:input8 "Eee PC WMI hotkeys" ├─/sys/devices/virtual/misc/kvm │ misc:kvm └─/sys/devices/virtual/misc/rfkill misc:rfkill $ lspci 00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) 00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04) 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-V (rev 05) 00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) 00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05) 00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5) 00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5) 00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5) 00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation Z87 Express LPC Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05) 00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05) 01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 770] (rev a1) 01:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1) 03:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01) 04:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller ------------------------------------------------------------------------------ Now please correct me if I am wrong. Below is how I think I shal proceed *********************** To create a new seat (seat1) I must first attach a device. Say I want to attach the following keyboard to seat 1. After unpluging/pluging: $ dmseg | tail -n 4 [ 2745.330956] input: Logitech USB Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:046D:C31C.0010/input/input24 [ 2745.381514] hid-generic 0003:046D:C31C.0010: input,hidraw4: USB HID v1.10 Keyboard [Logitech USB Keyboard] on usb-0000:00:14.0-4/input0 [ 2745.387992] input: Logitech USB Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.1/0003:046D:C31C.0011/input/input25 [ 2745.438483] hid-generic 0003:046D:C31C.0011: input,hidraw5: USB HID v1.10 Device [Logitech USB Keyboard] on usb-0000:00:14.0-4/input1 1- I am not sure which line I shall use. I would say this one: /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.1/0003:046D:C31C.0011/input/input25 so the command would be $ loginctl attach /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.1/0003:046D:C31C.0011/input/input25 seat1 2- I create a /etc/udev/rules.d/72-seat1-keyboard.rules TAG=="seat", ENV{ID_FOR_SEAT}=="????????", ENV{ID_SEAT}="seat1" No idea how to setup/find the ENV{ID_FOR_SEAT} variable value for the keyboard. 3- do the same for the mouse ---------------------------------------- Now the nvidia card 1- write /etc/udev/rules.d/99-nvidia-multiseats.rules SUBSYSTEM=="drm", KERNEL=="card[0-9]*", ATTRS{vendor}=="0x10de", DRIVERS=="nvidia", TAG+="master-of-seat" SUBSYSTEM=="pci", ATTRS{vendor}=="0x10de", DRIVER=="nvidia", TAG+="seat", TAG+="master-of-seat" 2- create the appropriate /etc/X11/xorg.conf.d/90-nvidia.conf which will have two Section "Device" with Identifier Seat0 and Seat1. As for the BusID, I am not sur how to find it ($ lspci ?) ---------------------------------------------- Now attach a seat to a user. Need to modify /etc/gdm/custom.conf ? If yes, how ? **************************************************************************** Thank you for any hint/advice/pointer, as documentation is rather few. -- google.com/+arnaudgabourygabx _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel