Versionsinformationen:
- Betriebssystem: CentOS 7.3 und höher / OpenSUSE 42.1 und höher
- Mindestvoraussetzung:xorg-x11-server-Xorg Version 1.16 und höher
Weitere Betriebssysteme: Ubuntu 16.04 und höher
Installation:
* CentoOS 7.3 / gdm
Installiere das Basissystem, den NVIDIA Treiber, sowie den Gnome Desktop yum -y install epel-release yum -y install dkms yum -y groupinstall "KDE Plasma Workspaces" "KDE desktop" "X Window System" "Fonts" "GNOME desktop"
Konfiguration:
Stelle fest, welche ID die PCI-Slots der Grafikkarten haben lspci | grep VGA Output bei drei eingebauten Grafikkarten z.B.:
01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2) 02:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2) 03:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
Suche die exakte Device Bezeichnung mit: cd /sys; find . -name \*01:00.0\*
Ausgabe z.B:
./bus/pci/devices/0000:05:00.0 ./bus/pci/drivers/nvidia/0000:05:00.0 ./devices/pci0000:00/0000:00:03.0/0000:03:00.0/0000:04:10.0/0000:05:00.0
Die letzte Zeile ist die exakte Bezeichnung der ersten Grafikkarte. Suche diese für die anderen Grafikkarten auch.
erstelle drei login sessions durch anlegen der Datei /etc/udev/rules.d/10-nvidia.conf mit:
DEVPATH=="/devices/pci0000:00/0000:00:02.0/0000:01:00.0", TAG+="master-of-seat" DEVPATH=="/devices/pci0000:00/0000:00:02.0/0000:01:00.0", TAG+="graphics0" DEVPATH=="/devices/pci0000:00/0000:00:03.0/0000:02:00.0", TAG+="master-of-seat" DEVPATH=="/devices/pci0000:00/0000:00:03.0/0000:02:00.0", TAG+="graphics1" DEVPATH=="/devices/pci0000:00/0000:00:04.0/0000:03:00.0", TAG+="master-of-seat" DEVPATH=="/devices/pci0000:00/0000:00:04.0/0000:03:00.0", TAG+="graphics2" DEVPATH=="/devices/pci0000:00/0000:00:02.0/0000:01:00.0/*", TAG+="seat0", ENV{ID_SEAT}="seat0" DEVPATH=="/devices/pci0000:00/0000:00:03.0/0000:02:00.0/*", TAG+="seat1", ENV{ID_SEAT}="seat1" DEVPATH=="/devices/pci0000:00/0000:00:04.0/0000:03:00.0/*", TAG+="seat2", ENV{ID_SEAT}="seat2" DEVPATH=="/devices/pci0000:00/0000:00:02.0/0000:01:00.0", TAG+="master-of-seat", TAG+="graphics0", ENV{ID_SEAT}="seat0" DEVPATH=="/devices/pci0000:00/0000:00:03.0/0000:02:00.0", TAG+="master-of-seat", TAG+="graphics1", ENV{ID_SEAT}="seat1" DEVPATH=="/devices/pci0000:00/0000:00:04.0/0000:03:00.0", TAG+="master-of-seat", TAG+="graphics2", ENV{ID_SEAT}="seat2"
Aktiviere die Konfiguration mit dem Befehl udevadm trigger
lösche die Standardkonfigurationsdatei /etc/X11/xorg.conf und erstelle die Konfigurationsdatei /etc/X11/xorg.conf.d/99-nvidia.conf mit folgendem Inhalt
# /etc/X11/xorg.conf.d/99-nvidia.conf provided by http://elrepo.org Section "Files" ModulePath "/usr/lib64/xorg/modules/extensions/nvidia" ModulePath "/usr/lib64/xorg/modules" EndSection Section "Device" Identifier "Seat0" Driver "nvidia" BusID "PCI:01:00:0" Option "ProbeAllGpus" "FALSE" MatchSeat "seat0" EndSection Section "Device" Identifier "Seat1" Driver "nvidia" BusID "PCI:02:00:0" Option "ProbeAllGpus" "FALSE" MatchSeat "seat1" EndSection Section "Device" Identifier "Seat2" Driver "nvidia" BusID "PCI:03:00:0" Option "ProbeAllGpus" "FALSE" MatchSeat "seat2" EndSection
Achtung: Sollte die VGA Karte eine Devicenummer zwischen 0A:00.0 und 0F:00.0 haben, so muss die BusID dezimal codiert werden, also PCI:10:00:0 für Devicenummer 0A:00.0
Wenn der gdm Windowmanager genommen wird, so sollte jetzt nach einem Neustart auf allen drei Monitoren ein login Bildschirm erscheinen.
Zuordnung von Tastatur und Maus
Als nächstes muss jede Tastatur und jede Maus einem Seat zugeordnet werden. Wenn keine Zuordnung vorgenommen wird, so werden die USB Geräte dem Seat-0 zugeordnet, d.h. alle Tastaturen und Mäuse gehen auf einen Monitor.
Die Zuordnung geht wie folgt:
Zuordnung zu Seat-X (mit X>0):
Tastatur und Maus in den PC einstecken. Auf Seat-0 ein Terminal öffnen und als root Benutzer den Befehl dmesg eingeben. Ausgabe z.B.:
[93688.852557] input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:1d.2/usb6/6-2/6-2:1.0/0003:046D:C046.0002/input/input17 [93688.908122] hid-generic 0003:046D:C046.0002: input,hidraw0: USB HID v1.10 Mouse [Logitech USB Optical Mouse] on usb-0000:00:1d.2-2/input0
Die dort angegebene Device-ID muss man jetzt dem entsprechenden Seat zuordnen. Dies kann man in der Datei /etc/udev/rules.d/72-seat.rules wie folgt machen (hier wird die Maus dem Seat-1 zugegordnet).
SUBSYSTEM=="input", DEVPATH=="/devices/pci0000:00/0000:00:1d.2/usb6/6-2/6-2:1.0/0003:046D:C046.0002/input/input17", ENV{ID_INPUT.tags}="X1" SUBSYSTEM=="input", DEVPATH=="/devices/pci0000:00/0000:00:1d.2/usb6/6-2/6-2:1.0/0003:046D:C046.0002/input/input17", ENV{ID_SEAT}="seat1" SUBSYSTEM=="input", DEVPATH=="/devices/pci0000:00/0000:00:1d.2/usb6/6-2/6-2:1.0/0003:046D:C046.0002/input/input17", ENV{ID_VENDOR_ID}="seat1"
Dies muss für alle Eingabegeräte gemacht werden. Die Aktivierung der Regel erfolgt wieder mit dem Befehl udevadm trigger Bei der Zuordnung der USB-Geräte sind auch Wildcards erlaubt, das ist hilfreich, wenn man mit USB-Hubs arbeitet, an denen Tastatur und Maus angeschlossen werden.