ubuntuusers.de

Multiseat in Karmic

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Wolfgang.Klein

Anmeldungsdatum:
25. Juni 2007

Beiträge: 750

Hallo!

Nachdem ich jetzt zwei Rechner bei Bekannten mit KUbuntu 9.10 installiert habe, finde ich doch langsam Gefallen an dem neuen System und würde auch gerne mal so langsam meinen eigenen Rechner aufrüsten. Darauf läuft nämlich noch KDE 3.5.10 unter Hardy Heron. Das Problem dabei ist, daß mein Rechner als Multiseat läuft und die Konfiguration dazu nicht so einfach auf Karmic übertragbar ist: die Eingabegeräte werden entweder gar nicht erkannt oder falsch zugeordnet. Da muß sich wohl einiges in der Logik der xorg.conf getan haben.

Lange Rede, kurzer Sinn: falls schon jemand weiß, wie man unter der KDE-Version von Karmic einen Rechner als Multiseat einrichtet, würde ich mich über entsprechende Tips freuen. Ich bevorzuge dabei die Variante mit zwei Grafikkarten und zwei getrennt laufenden X-Servern, nicht die mit einem verschachtelten Server.


Nachtrag 20.11.09:

Nach langem Probieren und einigen Stolperfallen habe ich es geschafft. Für alle, die es interessiert, hier die Dinge, die unbedingt zu beachten sind:

1. Für jeden Sitz in /etc/X11/xorg.conf das automatische Hinzufügen von Geräten abschalten:

Section "ServerLayout"
    Identifier  "seat_1"
    Screen      0 "screen_1" 0 0
    InputDevice "kbd_1a"
    InputDevice "mouse_1"
    Option      "AutoEnableDevices"     "false"
    Option      "AutoAddDevices"        "true"
    Option      "AllowEmptyInput"       "true"
EndSection

2. Neuerdings werden auch PS/2-Geräte über den Treiber "evdev" angesprochen, allerdings unter anderen Namen:

Section "InputDevice"
    Identifier  "kbd_1a"
# ps/2 ab karmic:
    Driver      "evdev"
    Option      "Device"        "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
    Option      "XkbRules"      "xorg"
    Option      "XkbModel"      "cymotionlinux"
    Option      "Protocol"      "Standard"
    Option      "XkbLayout"     "de"
    Option      "XkbVariant"    "nodeadkeys"
    Option      "XkbOptions"    "compose:rctrl"
EndSection

3. Für die Mäuse muß die Option "GrabDevice" benutzt werden:

Section "InputDevice"
    Identifier  "mouse_1"
# usb:
    Driver      "evdev"
   Option       "Device"        "/dev/input/by-id/usb-Logitech_USB_RECEIVER-event-mouse"
   Option      "GrabDevice" "on"
    Option      "Buttons"       "12"
    Option      "Resolution"    "800"
EndSection

Anschließend können wie gewohnt über den kdm zwei (oder mehrere) Sitzungen gestartet werden:

/etc/kde4/kdm/kdmrc

...
[X-:0-Core]
AutoLoginAgain=false
AutoLoginDelay=0
AutoLoginEnable=false
AutoLoginLocked=false
AutoLoginUser=
ClientLogFile=.xsession-errors
ServerCmd=/usr/bin/X1 :0 vt07 -audit 0 -isolateDevice PCI:1:0:0 -nolisten tcp -layout seat_1

[X-:1-Core]
AutoLoginAgain=false
AutoLoginEnable=false
AutoLoginLocked=false
ClientLogFile=.xsession-errors
ServerCmd=/usr/bin/X2 :1 vt05 -audit 0 -sharevts -isolateDevice PCI:3:5:0 -nolisten tcp -layout seat_2

Die in diesem Beispiel verwendeten Binaries "X1" und "X2" sind lediglich Links auf das Binary "X" und dienen nur dazu, in der Prozesstabelle die einzelnen Sitzungen leichter unterscheiden zu können. Sie sind nicht unbedingt nötig.

Mit diesen Einstellungen funktioniert es bei mir. Vielleicht helfen die Tips dem einen oder anderen.

fornext

Anmeldungsdatum:
21. Januar 2008

Beiträge: Zähle...

Hallo!

Gibt es Neuigkeiten?

Ich probiere es gerade mit meiner Nvida-Dualhead-Grafikkarte. Mein derzeitiger Stand ist, dass es mit einer Dualhead-Grafikkarte nur über Umwege geht. Es kann maximal 1 Xserver laufen und dann muss man mit Xnest oder Xephyr weiterarbeiten. Werde es erstmal so probieren, aber demnächst besorge ich mir eine alte PCI-Grafikkarte um es sauber hinzubekommen.

Oder liege ich falsch?

Wolfgang.Klein

(Themenstarter)

Anmeldungsdatum:
25. Juni 2007

Beiträge: 750

ratlos schrieb:

Hallo!

Gibt es Neuigkeiten?

Ja, siehe oben: es läuft! 😀

Ich probiere es gerade mit meiner Nvida-Dualhead-Grafikkarte. Mein derzeitiger Stand ist, dass es mit einer Dualhead-Grafikkarte nur über Umwege geht. Es kann maximal 1 Xserver laufen und dann muss man mit Xnest oder Xephyr weiterarbeiten.

Ja, das ist richtig. Diese X-Server sind verschachtelte X-Server. Damit funktioniert Multiseat auch mit nur einer Karte mit zwei Ausgängen, hat aber den großen Nachteil, daß keine 3D-Beschleunigung genutzt werden kann!

Es soll auch Karten geben, die zwei (oder mehr) Ausgänge haben und die sich als 2 Karten am System anmelden, inklusive 2 IRQ im BIOS und zwei verschiedenen PCI-Adressen. Also quasi 2 Karten auf einen Träger geklöppelt. Solch eine Karte habe ich aber leider noch nicht gefunden.

Werde es erstmal so probieren, aber demnächst besorge ich mir eine alte PCI-Grafikkarte um es sauber hinzubekommen.

Achte nur darauf, daß Du passiv gekühlte Karten (also ohne Lüfter) nimmst, sonst macht die Arbeit an dem Rechner keinen Spaß.

fornext

Anmeldungsdatum:
21. Januar 2008

Beiträge: 165

Wolfgang.Klein schrieb:

Ja, siehe oben: es läuft! 😀

Bei mir leider noch nicht. Leider kann ich deine Lösung nicht benutzen, weil ich mit einer Xorg-Sitzung auskommen muss (DUAL-HEAD). Bevor ich mir die zusätzliche Karte kaufe, soll es erstmal mit Xephyre laufen.

Wolfgang.Klein schrieb:

Ja, das ist richtig. Diese X-Server sind verschachtelte X-Server. Damit funktioniert Multiseat auch mit nur einer Karte mit zwei Ausgängen, hat aber den großen Nachteil, daß keine 3D-Beschleunigung genutzt werden kann!

Da mein Rechner älter ist, ist mir die 3D-Beschleunigung wichtig. Wenn ich die zusätzliche PCI-Karte habe brauche ich kein Xephyre mehr und dann geht es hoffentlich.

Wolfgang.Klein schrieb:

Es soll auch Karten geben, die zwei (oder mehr) Ausgänge haben und die sich als 2 Karten am System anmelden, inklusive 2 IRQ im BIOS und zwei verschiedenen PCI-Adressen. Also quasi 2 Karten auf einen Träger geklöppelt. Solch eine Karte habe ich aber leider noch nicht gefunden.

Angeblich die Matrox G400. So eine habe ich noch. Aber selbst wenn wird die mir nichts bringen, da sie einfach zu alt ist.

Wolfgang.Klein schrieb:

Achte nur darauf, daß Du passiv gekühlte Karten (also ohne Lüfter) nimmst, sonst macht die Arbeit an dem Rechner keinen Spaß.

Die Lautstärke meiner 6800GS wäre wirklich ein Grund das Teil zu entsorgen und zwei leise PCI Karten zu besorgen. Werde mal drüber nachdenken.

Wolfgang.Klein

(Themenstarter)

Anmeldungsdatum:
25. Juni 2007

Beiträge: 750

ratlos schrieb:

Da mein Rechner älter ist, ist mir die 3D-Beschleunigung wichtig. Wenn ich die zusätzliche PCI-Karte habe brauche ich kein Xephyre mehr und dann geht es hoffentlich.

Wenn Dein Rechner eh schon etwas älter ist, würde ich Dir NVidia-Karten der FX-Reihe empfehlen. Die laufen mit dem Treiber von NVidia sehr gut unter Linux. Die PCI-Varianten kriegst Du im Handel zwar nicht mehr so einfach, aber Du kannst bei einem Aktionshaus Deines geringsten Misstrauens durchaus Dein Glück versuchen.

Achte aber darauf, daß Du nicht eine ältere Karte mit einer modernen Karte zusammen betreibst, sonst bekommst Du u.U. Probleme mit dem Treiber: NVidia gibt leider ab und zu viel zu früh die Unterstützung für ihrer Meinung nach "alten" Karten auf, so daß diese Karten dann nur bis zu einer bestimmten Treiberversion zu gebrauchen sind. Es müssen aber beide Karten von derselben Treiberversion unterstützt werden, da von dem NVidia-Treiber immer nur eine Version gleichzeitig installiert werden kann. Es ist dagegen völlig egal, ob es sich bei den Karten um die Variante für PCIe, AGP oder PCI handelt: es kann also durchaus eine FX5000 mit AGP-Anschluß zusammen mit einer FX5000 mit PCI-Anschluß mit demselben Treiber betrieben werden.

Angeblich die Matrox G400. So eine habe ich noch. Aber selbst wenn wird die mir nichts bringen, da sie einfach zu alt ist.

Älter als Dein PC?

fornext

Anmeldungsdatum:
21. Januar 2008

Beiträge: 165

Wolfgang.Klein schrieb:

Angeblich die Matrox G400. So eine habe ich noch. Aber selbst wenn wird die mir nichts bringen, da sie einfach zu alt ist.

Älter als Dein PC?

Ja, mein PC kam ursprünglich mit einer TI4200. Habe einen P4 2,54 GHz. Sollte eigentlich reichen. Habe es jetzt geschafft zwei Sitzungen zum laufen zu bringen. Hatte im Tutorial etwas grundlegend missverstanden - so kann es gehen.

Jetzt hänge ich bei den Eingabegeräten, bei mir weicht es leider vom Tutorial ab, da ich zwei USB-Mäuse, eine USB- und eine PS2-Tastatur habe. Brauche irgendwas damit das Script die beiden Mäuse auseinander halten kann.

Tutorial ist hier: http://netpatia.blogspot.com/2009/06/multiseat-in-ubuntu-904.html

Edit:


Das mit den Mäusen geht jetzt auch. Einfach das Script aus dem Tutorial modifizieren und nicht über /dev/input/by-path/ sondern /dev/input/by-id/ gehen when erforderlich. Solange die USB-Mäuse nicht baugleich sind, sollte das funktionieren.

Edit2:


Leider muss ich jetzt immer nach dem Hochfahren folgendes auf der Konsole eingeben:

sudo killall Xorg

sudo /etc/inid.d/gdm restart

Nach dem Hochfahren bekomme ich die Fehlermeldung, es sei schon ein XServer gestartet. Ich finde aber nirgenswo einen Anhaltspunkt wo der Start stattfindet.

Edit3:


Wenn man den OpenSource-Treiber für Nvidiakarten benutzt funktioniert zwar kein OpenGL, aber wenigstens DRI. Das entlastet den Rechner. Habe das eben probiert und bin mir relativ sicher. Leider hat er danach nicht mehr korrekt gebootet und ich musste es Rückgängig machen. Da der Rechner ja jetzt von 2 Personen benutzt wird kann ich erstmal nicht weiter basteln.

Kann jemand bestätigen, dass der OpenSource-Treiber in verbindung mit Xephyre schneller läuft?

Wolfgang.Klein

(Themenstarter)

Anmeldungsdatum:
25. Juni 2007

Beiträge: 750

Mit dein Eingabegeräten hatte ich auch Probleme. Ich glaube, deren Konfiguration hängt davon ab, ob man einen oder zwei X-Server startet und welche Versionen zum Einsatz kommen.

Zu gdm kann ich Dir leider nichts sagen, aber ich hänge mal meine kdmrc an, die bei mir einwandfrei funktioniert. Du mußt ja nicht gdm nehmen, auf der kdm kann den Gnome-Desktop starten.

kdmrc (1.8 KiB)
Download kdmrc

fornext

Anmeldungsdatum:
21. Januar 2008

Beiträge: 165

Soweit habe ich jetzt keine Probleme mehr. Das mit den Eingabegeräten konnte ich durch eine Änderung des Scripts lösen. Bei PS2 Geräten muss man über /dev/input/by-path gehen und die USB-Geräte kann man wunderbar über /dev/input/by-id auseinanderhalten.

Ein Problem ist allerdings bei DRI aufgetaucht. Ich denke wenn ich das löse, werde ich etwas an Performance gewinnen.

Habe den Thread dazu eröffnet:

http://forum.ubuntuusers.de/topic/xephyre-dri-multiseat/

Antworten |