GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Puede X.org cargar dos controladores diferentes? (configuración de triple cabezal con tarjeta Intel y Nvidia)?

Queremos configurar 3 pantallas con un adaptador de gráficos Intel integrado y una tarjeta nvidia.

Ambas tarjetas son reconocidas en lspci

01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
00:02.0 Display controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

Y básicamente funciona:si cambio a la consola, veo la salida en la tarjeta Intel,
X solo se ejecuta en la tarjeta Nvidia.

Pero cuando escribo xrandr | grep conn Obtengo solo un puerto conectado:

DVI-I-0 disconnected (normal left inverted right x axis y axis)
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
HDMI-0 disconnected (normal left inverted right x axis y axis)

Estoy en Ubuntu 12.10 (y XFCE) e instalé el controlador propietario de nvidia.

Supuse que X tal vez tenga un problema para detectar automáticamente ambas tarjetas, así que pensé en lo siguiente xorg.conf podría ayudar:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    Screen      1  "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 210"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "intel"
    VendorName     "Intel"
    BoardName      "Internal Intel Graphics"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Pero sigue sin funcionar.

  • ¿Es esto generalmente posible usar dos controladores diferentes en X?
  • ¿Es necesario crear un xorg.conf manualmente entonces? (porque Ubuntu 12.10 normalmente funciona sin xorg.conf )
  • ¿Hay algún error en mi xorg.conf? ?

Respuesta aceptada:

Sí, X puede usar varios controladores. La tuya es una configuración muy similar a la que tengo. Tengo una NVIDIA 9800 GT con dos monitores conectados y una tarjeta Intel de segunda generación con un solo monitor.

No veo ningún problema con tu xorg.conf . Sospecho que necesitará crear un xorg.conf aunque solo sea para decirle a X que use los controladores nvidia e intel. Mi xorg.conf se parece mucho al tuyo; Tengo tres secciones de monitor y pantalla porque la tarjeta nvidia tiene dos monitores, pero estoy bastante seguro de que X está ignorando esas secciones.

Primero, querrá asegurarse de que xinerama esté deshabilitado en xorg.conf (tal vez no sea necesario).

xorg.conf :

Section "ServerFlags"
    Option  "xinerama"  "off"
EndSection

Cuando haces un xrandr --listproviders deberías ver ambas tarjetas.

[email protected]> xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x290 cap: 0x1, Source Output crtcs: 2 outputs: 5 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x48 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 6 associated providers: 1 name:Intel

Si no ve ambas tarjetas, es probable que le falte un controlador. (Pero OP dice que la consola está usando uno y X está usando el otro, por lo que probablemente ambos funcionen)

Relacionado:¿La resolución de pantalla de Ubuntu 14.04 es demasiado baja (tarjeta gráfica SiS 671)?

Debería poder usar xrandr --setprovideroutputsource para agregar los puertos Intel a la lista que muestra su xrandr | grep conn En mi caso uso los nombres dados por --listproviders :

xrandr --setprovideroutputsource Intel NVIDIA-0

Si eso no agrega los puertos Intel, es posible que ya esté conectado de una manera que no pueda verlo. Desconéctalo con:

xrandr --setprovideroutputsource Intel 0x0

Luego intente conectarlo de nuevo:

xrandr --setprovideroutputsource Intel NVIDIA-0

Todos los puertos de salida deberían mostrarse ahora. Y debería poder agregar una pantalla con la configuración de pantalla de gnome o con xrandr .

Entonces, cuando finalmente conseguí que mi pantalla Intel funcionara, las pantallas de nvidia decidieron que necesitaban moverse cuando traté de mover el mouse a la tercera pantalla. Ahora mostraría el contenido del tercer monitor tanto en el tercer monitor como en el segundo. Y el contenido original del segundo se deslizó hacia el primer monitor con el contenido del primero fuera de la pantalla. Volvería a la normalidad si tratara de mover el cursor al primer monitor nuevamente.

Finalmente lo arreglé con otro xrandr llamar:

xrandr --output DVI-I-2 --panning 3840x1200+1680+0/1920x1200+1680+0/0/0/0/0

Esta llamada requiere conocimiento de la geometría de la pantalla física y el diseño lógico. Tengo un monitor de 1680×1050, uno de 1920×1200 y otro de 1920×1080. Están en ese orden de izquierda a derecha. El más a la derecha está conectado a la tarjeta Intel.

Esta llamada está configurando la región panorámica en el monitor central. --output DVI-I-2 pasa a ser el puerto conectado a mi monitor medio.

Los primeros cuatro números establecen la región de panoramización en el total de las pantallas central y derecha. 3840 × 1200 como ancho y alto y +1680 + 0 para compensar la región para comenzar en la parte superior izquierda del monitor central. (Aparentemente [0,0] está en la parte superior izquierda del monitor izquierdo)

Los siguientes 4 números son la región de seguimiento del cursor. Configuré esto para rastrear solo el cursor en la pantalla central. De esta forma, cuando el cursor sale de esta pantalla, no intenta cambiar la imagen para seguir al cursor.

Los últimos 4 números definen un borde alrededor de la región de paneo. Solo estoy usando los valores predeterminados aquí.

Versiones de software relacionado que estaba usando:

xorg-server-1.17.4
gnome-3.18.0
xrandr-1.4.3

Ubuntu
  1. Cómo configurar LogAnalyzer con Rsyslog y MySQL

  2. ¿Ubuntu 18.04 dejó de funcionar con los controladores de Nvidia?

  3. ¿Wifi lento con Ubuntu 18.04 e Intel Dual Band Wireless-ac 3168?

  4. Computadora portátil Optimus:¿cortar y tartamudear videos con gráficos integrados Intel y rasgar la pantalla con gráficos Nvidia?

  5. ¿Diferencia entre Acpi Cpufreq e Intel P-state?

Configurar el entorno de desarrollo de Ruby on Rails con Docker y Docker Compose en Ubuntu

Cómo configurar Magento 2 con Varnish y Apache en Ubuntu 16.04

Cómo configurar los servicios Ircd Hybrid y Anope con SSL en Ubuntu

Instale los controladores NVIDIA en Ubuntu (línea de comandos y formas GUI)

¿El sistema no arranca con el controlador Nvidia habilitado?

Configurar el equilibrio de carga con HAProxy, Nginx y Keepalived en Linux