Distro für mehrere Displays auf mehrere GPUs

Xpect

Lt. Commander
Registriert
Nov. 2007
Beiträge
1.674
Moin zusammen,

Ich will schon lange auf Linux umsteigen, hab es mit einem Übergangsrechner auch einst getan, doch meine favorisierte Konfiguration, die unter Windows absolut problemlos läuft, will mit Linux nicht werkeln.
Das Problem ist schlicht folgendes:

Ich will mehrere Monitore über mehrere GPUs verteilt ansprechen. Exakt wie unter Windows, in Windows 10 funktioniert das sogar noch besser als je zuvor.

Konkretes Beispiel:
Ich möchte meinen einen 1080P Bildschirm an meiner RX480 als Hauptmonitor haben, ich möchte einen zweiten 1080P Bildschirm an der Intel iGPU als sekundären Monitor haben. Ich möchte mit der Maus von link (sekundär) nach rechts (primär) und zurück, Fenster zwischen den Screens verschieben, das ganze vernünftig nutzen können.

Das funktioniert mit Windows schon seit ich es so nutze, mit Windows XP, Windows Vista, Windows 7, Windows 10.
Nein, beide Bildschirme an die RX480 zu hängen wird explizit ausgeschlossen und ist keine Option, nicht einmal als Notlösung.

Was habe ich dort für Möglichkeiten?
Vorziehen würde ich eine Debian basierte Distro, aber heutzutage dürfte das alles eigentlich kein Problem sein, dank guter Paketverwaltungen.
 
Zuletzt bearbeitet:
Was Du brauchst, ist ein "shared framebuffer" zwischen verschiedenen Grafikkarten. Ich glaube, da gab es mal ein Projekt, dass das versucht hat (NVidia/Intel). Dass das mit AMD funktionieren könnte, ist mir nicht bekannt.
 
Shared Framebuffer ist was anderes. Das brauchst du, wenn Karte A das Bild berechnen soll, aber Karte B es ausgeben soll. Sinnvoll ist das nur, wenn Karte A keine Möglichkeit zum direkten Anschluss hat, wie bei Nvidia Optimus (dafür wurde auch Bumblebee entwickelt).
So wie ich den TE verstehe, soll aber jede GPU für sich früh ihren Monitor verantwortlich sein. Da sehe ich keinen Grund, warum das nicht funktionieren sollte (abgesehen von warum das Ganze).
 
TheDev schrieb:
So wie ich den TE verstehe, soll aber jede GPU für sich früh ihren Monitor verantwortlich sein. Da sehe ich keinen Grund, warum das nicht funktionieren sollte (abgesehen von warum das Ganze).
Exakt das, jede GPU ihr eigener Monitor.
Ich hab es die letzten ~10 Jahre immer mal wieder ausprobiert, es funktionierte noch nie. Es funktionierte nicht einmal bei einer früheren Konfiguration mit 2 AMD Grafikkarten (damals HD4870 und HD3450).
Ich habe auch schon Manjaro (Arch-basiert), Linux Mint (Debian-basiert) sowie diverse Ubuntu Varianten (auch Debian-basiert) versucht. Fragt mich bitte nicht nach den genauen Builds, es ist ein Zeitraum über Jahre, wo ich danach suche. Deswegen frage ich ja jetzt explizit nach Hilfe, das dieses, für mich KO-Kriterium, bisher nie erfüllt werden konnte.

blöderidiot schrieb:
Was Du brauchst, ist ein "shared framebuffer" zwischen verschiedenen Grafikkarten. Ich glaube, da gab es mal ein Projekt, dass das versucht hat (NVidia/Intel). Dass das mit AMD funktionieren könnte, ist mir nicht bekannt.
Bumblebee war mir auch bekannt, scheint aber auch nicht so zu funktionieren. Zumal ich ja jede Grafikkarte ihr Bild selbst berechnen lassen möchte.
Das es nicht ging, hing anscheinend irgendwie damit zusammen, dass keine zwei Treiber zugleich geladen werden können. Und komischerweise sind selbst bei selbem GPU Hersteller und geringem Generationsunterschied zwei Treiber zu laden.

JackForceOne schrieb:
Warum möchtest Du denn den "sekundären" Monitor nicht auch an die RX480 anschließen?

Ich wusste es. Wie immer in diesem Forum, kann man keine Vorgabe stellen, ohne sich erklären zu müssen. Nun denn, wenn es unbedingt einer Erklärung bedarf:
  • Ein zusätzlicher Monitor an der zum Spielen genutzten Grafikkarte, mit eigenem Bildinhalt, nimmt dieser ein wenig der Leistung, die für Spiel-Bildberechnung nicht zur Verfügung steht (getestet, vor Jahren)
  • Neben einem Spiel ein Video schauen funktioniert nicht oder nur mit stockendem Videobild, da die Grafikkarte sich auf 3D Wiedergabe fokussiert (getestet, vor Jahren)
  • Früher nutzte ich 3 Bildschirme, eine einzige Grafikkarte war aber nur in der Lage derer 2 anzusteuern.
  • Seit Jahren haben die Grafikkarten nicht genügend der benötigten Anschlüsse nativ. Im Falle der RX480 habe ich exakt einen einzigen HDMI, ich brauche aber zwei, für Primären Monitor und meinen ebenfalls angeschlossenen Fernseher. Da das Bild in dem Fall aber nur gespiegelt wird und für die Fragestellung hier nicht relevant ist, weil Funktion problemlos gegeben ist, hielt ich es nciht für nötig, es extra anzugeben.

Und ob ich jetzt ganze Displayarrays nutze um das Bild vom primären Monitor überall im Haus wiederzugeben und dadurch alle Anschlüsse belege oder ob ich einfach nur keinen weiteren Bildschirm dort anschließen möchte, ist doch vollkommen egal, die Grundaussage ist schlicht: Ich möchte es nicht und es wurde EXPLIZIT ausgeschlossen im ersten Post. Ich werd den nochmal bearbeiten und das in Fett, Rot, Kursiv, Unterstrichen und vorzugsweise blinkend markieren.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Mickey Cohen
Eine direkte Hilfe habe ich nicht, aber da sich praktisch alle Distributionen vom USB-Stick ausprobieren lassen, würde ich es an Deiner Stelle einfach nochmal versuchen.
Deine Basis mit recht aktueller RX 480 und Intel IGP ist eigentlich gut, weil hier die Treiberunterstützung im Gegensatz zu Nvidia und älteren AMD-Karten (HD4870 und HD3450) nativ im Kernel integriert ist. Gut möglich, dass es ein Problem ist, zwei verschiedene Grafikchips mit unterschiedlichen Treibern gleichzeitig zu betreiben. Sicher nichts Unmögliches, aber ich würde mir keine große Hoffnung machen, dass es out-of-the-box läuft.

Meiner Erfahrung nach gibt es auch einige Unterschiede zwischen den verwendeten Desktopumgebungen im Handling von mehreren Bildschirmen. Ich würde es mit KDE (z.B. openSUSE; KDE Neon), Cinnamon und GNOME versuchen. Xfce, MATE und andere hinken da technologisch hinterher ... GNOME wird unter Debian (nicht Ubuntu) und Fedora mittlerweile standardmäßig mit Wayland statt dem X-Server betrieben - vielleicht macht das auch nochmal einen Unterschied aus.
Manjaro setzt übrigens auf einen eigenen Treibermanager (mhwd) und wäre auf jeden Fall (nochmal) eine zusätzliche Anlaufstelle.
 
Zuletzt bearbeitet:
unter KDE kann man das compositor-rendering-backend wählen, opengl 2.0, 3.1 und xrender, vll. hilft das?
 
Xpect schrieb:
Ich wusste es. Wie immer in diesem Forum, kann man keine Vorgabe stellen, ohne sich erklären zu müssen.

Ich fasse das mal an Kompliment auf, denn damit würdigst Du offensichtlich mein Interesse daran, Dir bei Deinem Problem in meiner Freizeit zu helfen :)

Ich verstehe gut was Du meinst und hatte früher auch oft das nervige Problem, dass wenn ich gleichzeitig gezockt (Counter-Strike: Source) und auf dem anderen Monitor ein Video laufen hatte, dass die FPS teilw. stark gedroppt sind. Noch schlimmer war es, dass es zumindest damals auch noch keinen vernünftigen Pseudo-Vollbildmodus gab und noch schlimmer, der richtige Vollbildmodus hat die Maus nicht eingefangen. Bedeutete: zu schnell gedreht und dann im "falschen" Moment einen linksklick gleichte einem ALT+TAB. Zum Kotzen.

Dennoch habe ich nachgefragt, damit weder Du noch jemand anders auf eine Art ein Problem lösen möchte, weil Du denkst es wäre die einzige Möglichkeit, dabei gibt es ggf. andere Lösungen, welche schneller und besser sind - Du diese aber (aus welchen Gründen auch immer) ausgeschlossen hattest:
http://xyproblem.info/

Ich möchte Dir gerne meine ehrliche Meinung darlegen, da Deine Ausschlusskriterien m.E. nach ggf. unhaltbare Grundannahmen sind. Alle Aussagen beziehen sich auf mich (ggf. nicht auf Dich übertragbar, vielleicht aber ja doch :))

Solche Frickeleien für solche Ausnahmefälle wären mir zu nervig bzw. meine Zeit damit für ein paar FPS mehr zu verschwenden lohnt sich nicht (Zeit = Geld) Im schlechtesten Fall wird Deine verwendete Software irgendwann nicht mehr supportet und die Sucherei fängt von vorne an (wenn Dir das Spaß macht, gilt das natürlich nicht). Die gesparte Zeit = Geld einfach in eine neue GPU investieren (alte verkaufen), aber nur wenn Du getestet hast (ggf. Manjaro oder Arch, da neuester Linux Kernel und neueste Pakete -> bessere Performance), dass alles über eine GPU wirklich krasse Performance-Einbußen mit sich bringt. Und ein DP -> HDMI Adapter ist auch verlustfrei und günstig.
 
Zuletzt bearbeitet: (Erweiterung :))
  • Gefällt mir
Reaktionen: sedot, Win182 und TheDev
JackForceOne schrieb:
[...]
Solche Frickeleien für solche Ausnahmefälle wären mir zu nervig bzw. meine Zeit damit für ein paar FPS mehr zu verschwenden lohnt sich nicht (Zeit = Geld) Im schlechtesten Fall wird Deine verwendete Software irgendwann nicht mehr supportet und die Sucherei fängt von vorne an (wenn Dir das Spaß macht, gilt das natürlich nicht). Die gesparte Zeit = Geld einfach in eine neue GPU investieren (alte verkaufen), [...]
Also ich sehe das auch so. Meiner Meinung nach sind Deine Versuche mehrere Jahre alt und begründen sich auf ältere Hardware. Für meinen vor zwei Jahren ausgemusterten Core2Quad mit der 8600GT würde ich das auch so sehen.
Mit meinem Ryzen habe ich erst vor nem knappen halben Jahr die GraKa auf eine RX570 upgedatet. Daran sind 3 Monitore mit insgesamt knapp über 7000 Pixeln auf der langen Kante angeschlossen. Auf dem Hauptmonitor mit 3440x1440 habe ich absolut keine Probs beim Zocken. Nebenher läuft auf dem "kleineren" 2560x1080 Monitor immer Zattoo, Netflix oder yt.
Im Übrigen hatte ich das Gleiche mal versucht,als ich noch meinen alten Core2Quad hatte. Damals hatte ich bei Ebay noch eine 8600GT für nen Euro erstanden und das versucht. Das Ergebnis in Kürze: Es klappte nicht und mit den aktuelleren GraKas und den vielen Displayanschlüssen hat es sich auch überholt.

Ich kann es verstehen, wenn das Geld knapp sitzt. Aber hier sind 140 € mMn besser investiert, als stundenlanges Herumprobieren.
 
Zuletzt bearbeitet: (Vertippt)
  • Gefällt mir
Reaktionen: TheDev
Wie auch @Win182 muss ich sagen, dass dein Punkt
Xpect schrieb:
Neben einem Spiel ein Video schauen funktioniert nicht oder nur mit stockendem Videobild, da die Grafikkarte sich auf 3D Wiedergabe fokussiert (getestet, vor Jahren)
bei mir nicht zutrifft. Und ich habe schon damals mit meine PhenomX6 eigentlich kein Problem gehabt neben einem Spiel parallel ein Video laufen zu lassen, auch wenn natürlich das eine vom anderen ablenkt, aber das ist ein anderes Thema und man hat ja vielleicht je nach Spiel mal Wartezeiten oder sowas

Gut es ist wohl wirklich so, dass beides Parallel zu rendern etwas Performance kostet wodurch im Spiel evtl. die FPS herunter gehen.


Hier der evtl. wichtige Teil:
Was ich mir vorstellen könnte ist, dass man in der Konsole (tty) das Programm (Desktopumgebung?) eben explizit für das display1 starten kann und eben ein anderes Programm für das 2te Display

Ich meine das ging so (je nach Anwendung) "DISPLAY=:0 startkde" oder "DISPLAY=:0 startx" (man muss kde ja nicht zwangsweise über einen greeter/den displaymanager starten aka sddm/gdm/ldm/etc )

Dazu kommt dann, dass man mit einer anderen Variable ein Anwendung eine bestimmten Grafikkarte zuweisen kann per DRI_PRIME=1 (jedenfalls bei den offenen AMD Treibern - vermutlich auch die offenen Nvidia und Intel Treiber)


Hier eine Infoseite https://wiki.ubuntuusers.de/Hybrid-Grafikkarten/PRIME/

Das starten einer Anwendung die eine bestimmte Grafikakrte benutzen soll habe ich schonmal gemacht, das funktioniert soweit ich das jedenfalls getestet hatte. (habe ich dann doch nie abseits des testen genutzt)

Wenn man dann diese beiden variablen evtl. kombiniert, oder die Desktopumgebung ganz normal starten und nur die prime Variable für das Spiel benutzt wäre dann zu testen was geht und Sinn macht. Jedenfalls ganz unmöglich ist das verteilen der Belastung auf verschiedene Karten/gpu's nicht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: netzgestaltung
Nach eurer Aussage, dass eine einzige Grafikkarte ja vollkommen ausreichend ist und keine Nachteile bringt, habe ich tatsächlich darauf umgestellt. Was soll ich sagen, ich merke eine Reduzierung meiner FPS ingame und vor allem ist es mir im Idle zu laut, da die Grafikkarte nicht vernünftig in den niedrigsten Idle Modus mehr schalten kann.
Und dabei habe ich mit der Rx480 Red Devil schon eine recht leise Grafikkarte, die, wenn nicht gerade zwei Monitore angeschlossen sind, im Idle die Lüfter abschaltet.

Naja, aber ne wirkliche Lösung um Linux mit zwei GPUs zu nutzen gibt es anscheinend immer noch nicht. Schade eigentlich.

Ich werde in nächster Zeit nochmal alle größeren Distributionen vom USB Stick testen und schauen, ob ich da etwas finden kann. Werde ich dann auch gerne hier posten.
 
Möcht hier mal meinen Senf dazu geben:

Aufgrund dessen wie Multi-Monitor auf Xorg X11 Server funktioniert, wird das was du vorhast wahrscheinlich nie klappen. Jeder Screen bei X11 besteht aus der kompletten Fläche, die verfügbar ist, d.h. wenn du zwei 1080p hast hat X11 einen 3840x1080 Screen, der sich halt über die Bildschirme streckt. Dann gibt es unzählige Workarounds in DEs damit du z.b. einen Monitor einzeln ansprechen kannst, aber die ändern nicht die grundlegenden Funktionsweise. Für eine andere Karte bräuchtest du einen zweiten X11 Server, und eine Synchronisation über die CPU und den RAM, und das wäre dann so langsam wie es klingt.

Ich glaube nicht, dass die Distro da irgendeinen Unterschied macht. Eventuell kannst du es ja mal mit Wayland probieren, vielleicht funktioniert es dort. Dann würde ich aber schon eine Distro wie Arch (bzw. Manjaro wenn Arch zu schwierig ist ) nehmen, da neuere Sachen Jahre brauchen bis sie mal in Debian landen. (außer man verwendet Debian Unstable und dann kann man eh schon Arch nehmen).
 
Hm, das erklärt es dann, sogar für mich verständlich.
Meine naive Seite möchte jetzt sagen "Aber unter Windows funktioniert das doch problemlos, warum baut man sowas nicht nach?" aber ich vermute mal, dass das nicht wirklich einfach ist (oder zu selten nachgefragt wird) und deswegen nicht so schnell passieren wird.
 
Xpect schrieb:
Hm, das erklärt es dann, sogar für mich verständlich.
Meine naive Seite möchte jetzt sagen "Aber unter Windows funktioniert das doch problemlos, warum baut man sowas nicht nach?" aber ich vermute mal, dass das nicht wirklich einfach ist (oder zu selten nachgefragt wird) und deswegen nicht so schnell passieren wird.
Wie genau DWM und der Explorer funktioniert kann ich jetzt auch nicht sagen, aber definitiv fast komplett anders als der X11 Server ;)
 
Zurück
Oben