The problem:
One Ubuntu Desktop PC with two graphic cards, two LCDs, two mouses and keyboards and configure it in a way that it can be used by two different users at the same time, each one using its own set own lcd/mouse/keyboard/usb ports, etc.
The the graphic cards available in the PC are the Intel based available on the motherboard and an NVIDIA as a PCIe card expansion.
Notes:
Documentation is not entirety missing (just Google for it and see) but it often old or very technical and in general the impression is that is a very complicated setup, but at least for simple configurations it is not.
The pages that were fundamental to understand how to solve the problem are:
http://en.softmaker.kz/software-for-everyone/multiseat-setup-on-ubuntu-1404.html
https://wiki.ubuntu.com/MultiseatTeam/Instructions
The solution:
- Detecting video cards and other devices (especially mouses, keyboard and USB devices)
- Setting up rules for Multiseat mode
Step1 (not sure is necessary at all, at least it won’t hurt):
sudo apt-add-repository ppa:ubuntu-multiseat/ppa sudo apt-get update sudo apt-get upgrade
Step2:
Detect videocards and USB devices
lspci | grep VGA lsusb
and find unique identification number of each device and port. The list is long so it will be exported to a text file
udevadm info --export-db > /home/user/udevadm.txt
Each user will have its own SEAT. A default seat always exist and is called seat0, each additional seat must be called seat-1, seat-2, seat-3, etc.
Devices must be configured to belong to seats other than seat0, all the other devices will be automatically granted to seat0.
Step3:
Examine the file and look for the “DEVPATH” of the devices you want to grant to seats other than seat0. Example:
P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0 E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0 E: DRIVER=nouveau E: ID_MODEL_FROM_DATABASE=GT218 [GeForce 210] E: ID_PCI_CLASS_FROM_DATABASE=Display controller E: ID_PCI_INTERFACE_FROM_DATABASE=VGA controller E: ID_PCI_SUBCLASS_FROM_DATABASE=VGA compatible controller E: ID_VENDOR_FROM_DATABASE=NVIDIA Corporation E: MODALIAS=pci:v000010DEd00000A65sv00001043sd0000852Dbc03sc00i00 E: PCI_CLASS=30000 E: PCI_ID=10DE:0A65 E: PCI_SLOT_NAME=0000:01:00.0 E: PCI_SUBSYS_ID=1043:852D E: SUBSYSTEM=pci E: USEC_INITIALIZED=8621
Step4:
Create a udev rule file that defines the devices granted to seats other than seat0
sudo nano /etc/udev/rules.d/99-multiseat.rules
An example of such file is:
# ************************ SEAT-1 ************************ # USB port function mouse for seat-1 TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-4*", ENV{ID_SEAT}="seat-1", TAG+="seat-1" # USB port function keyboard for seat-1 TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-3*", ENV{ID_SEAT}="seat-1", TAG+="seat-1" # USB 2.0 hub for seat-1 TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb2*", ENV{ID_SEAT}="seat-1", TAG+="seat-1" # Videocard function GeForce for seat-1 TAG=="seat", DEVPATH=="/devices/pci0000:00/0000:00:01.0/0000:01:00.0*", ENV{ID_SEAT}="seat-1", TAG+="seat-1"
NOTE: NO NEW LINES IN RULES
Step5:
Create a new configuration file for LightDM
sudo nano /etc/lightdm/lightdm.conf
that must contain
[LightDM] logind-load-seats=true
Step6:
restart
Step7:
check the list of seats and the list of devices granted to each seat
loginctl list-seats loginctl seat-status seat0 loginctl seat-status seat-1
Issues:
The above setup works fine, but on Ubuntu 14.04 is not free of issues:
On seat-1, the seat that uses the NVIDIA graphic card, the user can have the system completely froze when using LibreOffice when doing some particular text selection operations. This apparently is not an issue that is related to multiseat configurations, as the bug reports found on-line suggest, see for example
The solution seems to be to install the proprietary NVIDIA drivers to replace the Open Source ones (Nouveau) but this leads to a bigger issue after rebooting: no graphic output on seat-1.
As suggested in
https://wiki.ubuntu.com/MultiseatTeam/Instructions
I added the “master-of-seat” configuration, at no avail.
The problem seems to be in the packages that allow the user to switch from Intel to NVIDIA output, but after a lot of effort I wasn’t able to figure how to solve the issue.
As a last resort I installed Ubuntu 15.10 instead of 14.04, applied the above configuration and in this case using Nouveau drivers there are no issues with LibreOffice on seat-1.
could you please help how to create seat 1 in ubuntu
LikeLike
Hi,
there is no need to “create” seat 1. In
/etc/udev/rules.d/99-multiseat.rules
you specify what devices are given to a particular seat (…, TAG+=”seat-1″), all the other devices are given to seat0.
LikeLike
thanks for the help…
LikeLike
as you said I have created the rules files but nothing has happened.
NO seat has been created in the system.
Please help me to create the system.
LikeLike
The above steps work for me without major issues. I’m sorry I cannot be of more help.
LikeLike
thanks for the quick response
LikeLike
Autor, You used Intel HD Graphics + Nvidia?
LikeLike
yes, on board Intel plus an NVIDIA card.
LikeLiked by 1 person
Author, you used Intel HD Graphics + Nvidia?
LikeLike
Yes, the scenario described in this post is about workstations with integrated Intel graphic cards plus a pcie NVidia one.
LikeLike
I’m using drive GeForce (Owner).
I have intel i7 with Intel HD Graphics 2000 + GeForce 8400GS.
When I use: lspci | grep VGA
Shows: 01: 00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 8400 GS Rev. 3] (rev a2)
That’s right? Or should appear Intel (VGA) and GeForce (VGA)?
LikeLike
You need anyway infos about the hardware you want to give to “seat-1” (the second seat) as anything that is not specified in “99-multiseat.rules” is given to seat.0. I also found that with the proprietary nvidia drivers this setup does not work, so I always use the open source ones.
LikeLike