Triple (3) Monitore unter Linux


30

Ich habe ein 3-Monitor-Setup (jeweils 1680 x 1050) über einen Nvidia NVS440 (2 GPUs, 2 Ausgänge pro GPU mit insgesamt 4 Ausgängen); Dies funktioniert gut unter Windows XP, 7, verursachte aber unter Linux (Ubuntu 9.04) erhebliche Kopfschmerzen.

Ich hatte zuvor einen XFX 9600GT und den Onboard-XFX 9300GS verwendet, um das gleiche Ergebnis zu erzielen, aber die Karte war laut und energiehungrig und ich hoffte, dass es einen magischen Schalter im NVS4400 gab, der dieses ärgerliche Problem behebt - stellt sich heraus, der NVS440 ist nur 2 Karten auf einer physischen Platine :-p (Ich habe im Netz nach Leuten gesucht, die diese Karte unter Linux verwenden, aber nichts gefunden, wenn etwas verbraucht die Karte weniger Energie und ist lüfterloser, also sollte ich in jedem Fall davon profitieren )

Wie auch immer, mit beiden Einstellungen standen 5 Lösungen zur Verfügung:

  • Haben Sie 3 separate X-Instanzen, die alle nicht verbunden sind
  • Habe 3 separate X-Instanzen, an die sich Xinerama anschließt
  • Haben Sie 2 separate X-Instanzen - Eine mit Twin-View, an die sich beide Xinerama anschließt
  • Haben Sie 2 separate X-Instanzen - Eine mit Twin-View, aber ohne Xinerama
  • Nehmen Sie ein einzelnes Twin-View-Setup vor und lassen Sie den dritten Bildschirm nicht angeschlossen :-p

Die vierte Option, bei der zwei separate X-Instanzen und TwinView (aber kein Xinerama) verwendet wurden, war das beste Gleichgewicht in Bezug auf Leistung und Benutzerfreundlichkeit, verursachte jedoch zwei wirklich ärgerliche Probleme

  • Sie konnten nicht steuern (ohne die Verknüpfungen zu ändern), auf welchem ​​Bildschirm eine Anwendung geöffnet wurde - und nachdem sie geöffnet wurde, konnten Sie sie nicht auf einen anderen Bildschirm verschieben, ohne das Terminal zu öffnen und zum Verschieben zu zwingen
  • Nvidias Überschreiben oder Verfälschen von Xinerama-Pausen und die beiden durch die Twin-Ansicht verbundenen Bildschirme verhalten sich wie ein einziger großer Bildschirm, der dazu führt, dass Popups in der Mitte beider Bildschirme geöffnet werden und sich die Maximierung der Fenster auf die Breite der ersten beiden Bildschirme erstreckt
  • Firefox kann nur eine Instanz als der gleiche Benutzer ausführen, sodass für mehrere Firefox-Fenster mindestens 2 Benutzer erforderlich sind

Die zweite Option "fühlt" sich wie die richtige an, aber OpenGL ist grundsätzlich deaktiviert und das Spielen von Spielen oder sogar das Ausführen von Grafiken verursacht einen enormen Leistungseinbruch und Instabilität - selbst der Versuch, einen Basisemulator für gba oder gens auszuführen, verursacht nur das System Umfallen. Es funktioniert gerade genug, um auf Ihren Desktop zu starren und nichts zu tun, aber sobald Sie anfangen zu arbeiten - Fenster öffnen, Dinge verschieben - mehrere Kopien von Firefox ausführen, fühlt es sich wirklich langsam an.

Der letzte offene Dual-Bildschirm funktioniert einwandfrei und alles funktioniert nach Bedarf. Volle GPU-Beschleunigung - zwei logische Bildschirmbereiche - perfekt. Lass es einfach auf GPUs wie Windows funktionieren! :-p

Wie dem auch sei, ich weiß, dass RandR die Lücke schließen sollte, wenn es GPU-Objekte einführte, damit mehrere GPUs zusammengefügt werden konnten, um einen riesigen Desktop auf einer viel tieferen Ebene als Xinerama zu erstellen. Ich habe mich gefragt, ob dies nun behoben wurde (mir ist aufgefallen, dass X Server 1.7 nicht verfügbar ist) und ob jemand es erfolgreich zum Laufen gebracht hat?

Auch hier sind meine Anforderungen:

  • Ein riesiger Desktop, über den Sie jedes Fenster ziehen können
  • Maximierung der Fenster für jeden Bildschirm (wie bei XP)
  • Ausführen von Vollbild-Apps auf dem Primärbildschirm und Deaktivieren des Mausbewegens auf die anderen oder auf alle drei gestreckten

Schließlich als Randnotiz; Ich kenne den Matrox Triple (und Dual) Head Splitter, aber selbst der Preis, den sie bei eBay erzielen, ist mehr als ich mir leisten kann, mein Argument: Ich sollte keine zusätzliche Hardware kaufen müssen, um unter Linux etwas zum Laufen zu bringen, wenn es ist etwas, das es in der Windows-Welt schon lange gibt (können Sie sagen, dass ich mit X :-p nicht weiterkomme); Wenn ich das Geld hätte, hätte ich bereits die neueste Version dieser Box gekauft (die neue Version unterstützt endlich große Auflösungen, da die Displays jeweils 1680x1050 haben).


1
Sie können mehrere Firefox-Instanzen mit dem Schalter "-no-remote" ausführen.
KovBal

1
Ich habe gerade Windows neu gestartet, nachdem ich mehr als 4 Stunden damit verbracht hatte, es unter Linux zum Laufen zu bringen. 20 Sekunden: Eigenschaften anzeigen, schnell neu anordnen, anwenden. getan. sortiert. Nvidia, ich hasse dich! Warum kannst du deine Treiber nicht öffnen? :-D
Christopher Lightfoot

Ich hatte ein ähnliches Abenteuer mit diesen verschiedenen Optionen. Im Moment gehe ich mit der 2 über Twinview verbunden, um eine dritte über Xinerama verbunden. Ich konnte das Problem beim Maximieren mit "Fake Xinerama" lösen. Siehe Davids Antwort auf diesen Beitrag: superuser.com/questions/115076/… .
Kyle Brandt

Einige Fenstermanager (Compiz) verfügen über Einstellungen, mit denen Sie Ihre Fenster besser platzieren können. Sie können manuelle Konfigurationen mit Fenstertiteln / -klassen einrichten oder Compiz einfach anweisen, das Fenster auf der Anzeige zu platzieren, die der Cursor gerade belegt.
EarthMeLon

Antworten:


2

Ausprobieren von Fedora 11 (XServer 1.7) und Ubuntu 9.10 (XServer 1.6.4) Ich kann mit Sicherheit sagen, dass das Problem immer noch nicht behoben ist

Einige Dinge, die ich gelernt habe und die für andere nützlich sein könnten:

  • Linux startet sehr sehr schnell! :-D
  • Wenn X aus irgendeinem Grund stirbt und in einer Neustartschleife hängen bleibt, geschieht dies für die Treiber nvidia, nv und nouveau
  • X kann ohne xorg.conf mit einigen Einstellungen für die automatische Erkennung gestartet werden
    • Leider funktionierte dies nur auf meiner Onboard-GeForce 9300 für den Nivida-Treiber. NV und Nouveau funktionieren nicht mit der Onboard-Grafik.
    • Die Bildschirmauflösung wurde nicht richtig erkannt
    • Durch die Aktivierung des SSH-Servers konnte ich nur SSH in die Box senden, nachdem diese als Neustartschleife unterbrochen wurde. Das Ändern der Konfiguration und das Erzwingen eines Neustarts sind besser als das Starten der Live-CD, um dasselbe zu tun :-p
  • Der 32-Bit-PAE-Kernel bricht die NVIDIA-Treiber - (hat es nicht mit NV oder Nouveau versucht) - alles (sogar 2D) wurde sehr langsam und man konnte buchstäblich sehen, dass Teile des Bildschirms neu gezeichnet wurden
  • Die 64-Bit-Unterstützung war sofort einsatzbereit, aber keine der 32-Bit-Pakete würde funktionieren, ohne sie zu erzwingen. :-p
  • NV ist für eine sehr einfache Verwendung akzeptabel, um die Verwendung eigener Binärdateien zu vermeiden
  • Nouveau ist viel schneller als gedacht und führt ein 2D-Setup ziemlich gut aus. Dank der eingebauten Konfiguration und der Rotation ist sogar die Ausgabe mit zwei Köpfen sehr gut möglich. Ich war wirklich beeindruckt.
    • Nouveau unterstützt Multicard-Setups noch nicht - beim Lesen der Site sieht es so aus, als ob keiner der Entwickler über diese Art von Setup verfügt und daher keine Möglichkeit zum Testen besteht. Fast bringt mich dazu, eine Spende zusammen zu sammeln und jemandem ein grundlegendes System dieser Art zu spenden, um es einfach zu erledigen - oder das Hin und Her zu lernen und mich selbst einzubringen

Es scheint, als würde ich diesen Prozess alle 3-4 Monate durchlaufen:

  • Erfahren Sie mehr über die neuesten Funktionen unter Linux
  • Vermeiden Sie sie für eine Weile
  • Probiere sie aus
  • Erkenne, dass alles noch kaputt ist
  • Warten Sie noch 3-4 Monate

Im Moment kehre ich zu meinem vertrauenswürdigen Windows XP Setup zurück. es startet immer wieder neu (die Startzeit fühlt sich unglaublich langsam an, seit ich gesehen habe, wie Ubuntu so schnell startet). :-p

Update : Ich habe ein Ticket bei Nvidia angemeldet und sie gaben mir die Standard-2-Optionen:

  • Verwenden Sie Twinview und einen einzelnen X-Desktop ohne Xinerama
  • Verwenden Sie drei einzelne X-Server und verbinden Sie sich mit Xinerama

Der Punkt, den sie in Bezug auf die zweite Option erwähnt haben, ist, dass alle grafischen Anforderungen über Xinerama für jeden Bildschirm geloopt werden (sodass für jeden Bildschirm dieselbe Anforderung angezeigt wird, die höchstwahrscheinlich basierend auf der relativen Position des Bildschirms zum Original geändert wird). Jede Operation wird also dreimal ausgeführt - was den Leistungseinbruch erklärt. Ich schätze, wenn Sie 3 Dinge in jedem Fenster haben, sind das 9 Operationen; Dies betrifft wahrscheinlich die beiden Bildschirme auf derselben GPU mehr als denjenigen, der eine vollständige GPU für einen einzelnen Bildschirm hat, aber es war so auffällig, dass die Verwendung eines Standard-Desktops selbst das Rendern einer Webseite in Firefox etwas verzögerte.



1

Es gibt einen Hack für eine andere Option - ich werde bald Software (Open Source) für Ubuntu Karmic veröffentlichen - wenn ich es dort zum Laufen bringen kann, wird es für Jaunty sein, an dem ich bereits arbeite. - http://ubuntuforums.org/showthread.php?t=884161

Sieh dir die Videos dieses 6-Monitor-Systems auf YouTube an: (Link wegen Neulingsbeschränkung entfernt - suche auf YouTube nach "d2globalinc")

Es ist nicht die Lösung, die wir wollen, aber es ist eine Möglichkeit, Composite mit mehreren GPUs zu erhalten, bis eine bessere Lösung gefunden wird (vielleicht AMDs Augenmaß oder die Antwort von NVIDIA darauf - was auch immer das sein mag).

Shane Menshik D2 GLOBAL INC.

PS: Ich erwähne AMDs EyeFinity - siehe Demo hier - (YouTube nach "Eyefinity Linux" durchsuchen - 2. Link konnte aufgrund des Neulingslimits nicht gepostet werden).


Beim Lesen des verlinkten Diskussionsthreads scheint diese Software nicht mehr verfügbar zu sein.
kynan

1

Wenn X aus irgendeinem Grund stirbt, bleibt es in einer Neustart-Schleife stecken

Ich hatte das auch unter Debian Lenny.

Es wurde behoben, indem Nvidia-Treiber aktualisiert wurden, indem zum Test-Repository (Squeeze) gewechselt wurde.

Neuere Karten benötigen neuere Treiber.


0

Ich habe die gleichen Probleme mit einem NVS 450. Ich habe einen neuen 2,67-GHz-i7-Rechner mit 8 GB RAM gebaut und 3 x 20,1-Zoll-LCDs auf dem NVS 450. Ich war ganz aufgeregt und dachte, dass ich endlich drei Bildschirme unter Linux haben würde (Früher habe ich zwei ohne Probleme ausgeführt.) Jetzt stoße ich mit dem Kopf gegen eine Wand. Ich würde gerne eine gute, funktionsfähige und stabile Lösung finden, um (kurz gesagt) Multi-Monitore unter Linux so zu betreiben, wie sie es tun in Windows und OS X.

UPDATE: Ok, ich dachte, seit ich mich einmischte, kann ich auch ein kleines Update geben. Ich habe aufgegeben, ich habe aufgegeben, ich habe eine ATI-Karte gekauft. Ich habe einen Sapphire 5750 ausgewählt, der wie eine einzelne GPU aussieht und drei Monitore unterstützt. Ich werde zwei davon über DVI und einen über den Display-Port mit einem DP-zu-DVI-Adapter betreiben (hoffentlich funktioniert das).

Ich werde Sie morgen über das Ergebnis informieren.


3
Wie ist es dir ergangen?
Zoot

3
Wie ist es dir ergangen?
Nowaker

3
Wie ist es dir ergangen?
Waxhead

-1

Ich habe 2 Displays. Die Konfiguration war mit dem einfachnvidiasettings Tool und es scheint kein Problem zu geben, der vorhandenen Konfiguration einen neuen Kopf hinzuzufügen.

Alles, was Sie erwähnen, funktioniert gut :)


Zwei ist einfach ...
sjas
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.