Nombres de dispositivos de tarjetas gráficas no deterministas

8

Mi sistema contiene tres tarjetas gráficas, una radeon y dos nvidia.

Estoy tratando de configurar una configuración de múltiples asientos, pero el "nombre del dispositivo" de las tarjetas gráficas no es estable, cambia de un arranque a otro.

ejemplo

  • arranque 1

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

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

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

  • arranque 2

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

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

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

etc ...

Este problema hace que cualquier configuración de múltiples asientos sea inestable (uso loginctl) porque asignar un dispositivo a un asiento se basa en estos nombres de dispositivo. Otro problema real es que esto altera los nombres de conector de las tarjetas gráficas (es decir, VGA-1 se convierte en VGA-2, etc.) tanto en el nivel del kernel como en el nivel Xorg, por lo que no puedo hacer ninguna configuración de monitor a través de xorg.conf ni usar el " video = "opción de kernel, que es necesaria en mi configuración para forzar la activación de un monitor CRT antiguo sin EDID.

¿Es normal que esta "tarjeta0" "tarjeta1" ... no sea determinista, es un error o algo que se pueda configurar (udev o algo así)?

EDITAR :

Como dijo el usuario @dirkt en los comentarios, a nivel de systemd no es determinista y, de hecho, la configuración de múltiples asientos en sí misma está bien. Mi principal problema es la falta de fiabilidad de los nombres de salida. Los necesito en el nivel del núcleo para especificar "video = VGA-1: e" para forzar la salida a habilitarse. Y necesito a nivel xorg para usar Option "Monitor-VGA-1" "Monitor-x".

el sargento Hartman
fuente
Para Xorg deberías poder usar BusID, que es estable ... aunque no estoy seguro de ninguno de los otros ...
derobert
Hola @derobert, sí, pero hace que la directiva "Opción" Monitor-VGA-1 "" Monitor1 "sea inutilizable porque el nombre del conector está incluido en la tecla de opción.
sgt-hartman
Debajo systemd, casi todo es no determinista. Si el problema principal son los nombres de salida, presentaría un error con Xorg y vería si tienen alguna idea. Al menos se les debe informar sobre el problema.
dirkt
@dirkt sí, ese es mi problema. Edité mi pregunta para agregar algunas aclaraciones. Creo que el problema no está en el nivel de Xorg sino en el kernel
sgt-hartman
Puede encontrar este enlace relevante: devtalk.nvidia.com/default/topic/773204/…
Jakub Klinkovský

Respuestas:

1

No he logrado solucionar el problema, pero he encontrado una solución para los nombres de salida:

  • En las opciones de arranque del kernel, activo ambos tres conectores VGA:

    video=VGA-1:e video=VGA-2:e video=VGA-3:e
    
  • En la sección del dispositivo de xorg.confdefino la opción de monitor para todas las salidas posibles, las irrelevantes simplemente se ignoran:

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

Esto es hack pero resuelve mis problemas principales.

Todavía no acepto esta respuesta ahora porque estoy interesado en una solución mejor y más limpia.

el sargento Hartman
fuente