Gerätenamen für nichtdeterministische Grafikkarten

8

Mein System enthält drei Grafikkarten, eine Radeon und zwei NVIDIA.

Ich versuche, ein Multiseat-Setup zu konfigurieren, aber der "Gerätename" der Grafikkarten ist nicht stabil. Er ändert sich von einem Start zum anderen.

Beispiel

  • booten 1

    Radeon-Karte /sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/drm/card1

    Nvidia 1 Karte /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/drm/card0

    Nvidia 2 Karte /sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/drm/card2

  • booten 2

    Radeon-Karte /sys/devices/pci0000:00/0000:00:03.0/0000:01:00.0/drm/card0

    Nvidia 1 Karte /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/drm/card1

    Nvidia 2 Karte /sys/devices/pci0000:00/0000:00:1c.4/0000:04:00.0/drm/card2

usw...

Dieses Problem macht jede Multiseat-Konfiguration instabil (ich verwende loginctl), da das Zuweisen eines Geräts zu einem Sitz auf diesen Gerätenamen basiert. Ein weiteres echtes Problem ist, dass dadurch die Anschlussnamen der Grafikkarten (dh VGA-1 wird zu VGA-2 usw.) sowohl auf Kernel- als auch auf Xorg-Ebene geändert werden, sodass ich keine Monitorkonfiguration über xorg.conf vornehmen oder die " video = "Kernel-Option, die in meinem Setup benötigt wird, um die Aktivierung eines alten CRT-Monitors ohne EDID zu erzwingen.

Ist es normal, dass diese "card0" "card1" .. nicht deterministisch ist, ist es ein Fehler oder etwas, das konfiguriert werden kann (udev oder so ähnlich)?

EDIT :

Wie Benutzer @dirkt in den Kommentaren sagte, ist es auf Systemebene nicht deterministisch, und tatsächlich ist die Konfiguration mit mehreren Sitzen an sich in Ordnung. Mein Hauptproblem ist die Unzuverlässigkeit der Ausgabenamen. Ich brauche sie auf Kernel-Ebene, um "video = VGA-1: e" anzugeben, damit die Ausgabe aktiviert wird. Und ich brauche auf xorg-Ebene zu verwenden Option "Monitor-VGA-1" "Monitor-x".

sgt-hartman
quelle
Für Xorg sollten Sie in der Lage sein, zu verwenden BusID, was stabil ist ... nicht sicher über einen der anderen ...
derobert
Hallo @derobert, ja, aber es macht die Direktive "Option" Monitor-VGA-1 "" Monitor1 "unbrauchbar, weil der Anschlussname auf dem Optionsschlüssel enthalten ist.
sgt-hartman
Unter systemdist so ziemlich alles nicht deterministisch. Wenn das Hauptproblem Ausgabennamen sind, würde ich einen Fehler bei Xorg melden und prüfen, ob sie eine Idee haben. Zumindest sollten sie über das Problem informiert werden.
Dirkt
@dirkt ja das ist mein problem. Ich habe meine Frage bearbeitet, um einige Klarstellungen hinzuzufügen. Ich denke, das Problem liegt nicht auf Xorg-Ebene, sondern im Kernel
sgt-hartman
Sie könnten diesen Link relevant finden: devtalk.nvidia.com/default/topic/773204/…
Jakub Klinkovský

Antworten:

1

Ich habe es nicht geschafft, das Problem zu beheben, aber ich habe eine Problemumgehung für Ausgabenamen gefunden:

  • In den Kernel-Boot-Optionen aktiviere ich beide drei VGA-Konnektoren:

    video=VGA-1:e video=VGA-2:e video=VGA-3:e
    
  • Im Geräteabschnitt von xorg.confi define monitor option für alle möglichen Ausgänge werden nicht relevante einfach ignoriert:

    Option "Monitor-VGA-1"  "my-monitor"
    Option "Monitor-VGA-2"  "my-monitor"
    Option "Monitor-VGA-3"  "my-monitor"
    

Das ist hackisch, aber es löst meine Hauptprobleme.

Ich akzeptiere diese Antwort immer noch nicht, weil ich an einer besseren, saubereren Lösung interessiert bin.

sgt-hartman
quelle