Noms des périphériques des cartes graphiques non déterministes

8

Mon système contient trois cartes graphiques, une radeon et deux nvidia.

J'essaie de configurer une configuration multisiège mais le "nom de périphérique" des cartes graphiques n'est pas stable, il change d'un démarrage à l'autre.

exemple

  • démarrage 1

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

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

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

  • démarrage 2

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

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

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

etc...

Ce problème rend toute configuration multisiège instable (j'utilise loginctl) car l'attribution d'un appareil à un siège est basée sur ces noms d'appareil. Un autre vrai problème est que cela modifie les noms des connecteurs des cartes graphiques (c'est-à-dire que VGA-1 devient VGA-2 etc.) à la fois au niveau du noyau et au niveau Xorg, donc je ne peux pas faire de configuration de moniteur via xorg.conf ni utiliser le " video = "kernel option, qui est nécessaire dans ma configuration pour forcer l'activation d'un ancien moniteur crt sans EDID.

Est-il normal que cette "card0" "card1" .. ne soit pas déterministe, est-ce un bug ou quelque chose qui peut être configuré (udev ou quelque chose comme ça)?

MODIFIER :

Comme l'a dit l'utilisateur @dirkt dans les commentaires, au niveau de systemd, il n'est pas déterministe et, en fait, la configuration multi-siège en elle-même est OK. Mon principal problème est le manque de fiabilité des noms de sortie. J'ai besoin d'eux au niveau du noyau pour spécifier "video = VGA-1: e" pour forcer la sortie à être activée. Et j'ai besoin au niveau xorg à utiliser Option "Monitor-VGA-1" "Monitor-x".

sgt-hartman
la source
Pour Xorg, vous devriez pouvoir l'utiliser BusID, ce qui est stable ... mais pas sûr des autres ...
derobert
Salut @derobert, oui mais cela rend la directive "Option" Monitor-VGA-1 "" Monitor1 "inutilisable car le nom du connecteur est inclus sur la touche d'option.
sgt-hartman
Sous systemd, à peu près tout est non déterministe. Si le problème principal est les noms de sortie, je déposerais un bogue avec Xorg et verrais s'ils ont une idée. Au moins, ils devraient être informés du problème.
dirkt
@dirkt oui c'est mon problème. J'ai modifié ma question pour ajouter quelques clarifications. Je pense que le problème n'est pas au niveau Xorg mais au niveau du noyau
sgt-hartman
Vous pourriez trouver ce lien pertinent: devtalk.nvidia.com/default/topic/773204/…
Jakub Klinkovský

Réponses:

1

Je n'ai pas réussi à résoudre le problème mais j'ai trouvé une solution de contournement pour les noms de sortie:

  • Dans les options de démarrage du noyau, j'active les trois connecteurs VGA:

    video=VGA-1:e video=VGA-2:e video=VGA-3:e
    
  • Dans la section appareil de l' xorg.confoption i define monitor pour toutes les sorties possibles, celles qui ne sont pas pertinentes sont simplement ignorées:

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

C'est hackish mais ça résout mes principaux problèmes.

Je n'accepte toujours pas cette réponse maintenant parce que je suis intéressé par une solution meilleure et plus propre.

sgt-hartman
la source