# [xorg] Nvidia Dual Head

## Theasker

Hola, tengo esta tarjeta de video la cual tiene como se ve, una salida propia de hp (DMS-59) y una de S-Video, la tarjeta viene con este cable el cual divide la señal en 2 como si fueran 2 salidas diferentes.

A los extremos del cable tengo conectados 2 monitores, un CRT de 21'' y otro LCD de 19''. 

He de decir que he arrancado con un liveusb de ubuntu y automáticamente sin hacer nada funcionan perfectamente los 2 a la vez sin configurar nada.

He hecho muchas pruebas y no consigo hacer que funcionen a la vez.

 - /etc/X11/xorg.conf

 - /var/log/Xorg.0.log

----------

## gsardou

Saludos Theasker...

Hace varios meses que no tengo un escritorio dual head, pero a ver si te puedo dar una mano  :Rolling Eyes: 

En tu primer enlace, veo que intentas activar twinview para activar ambos monitores.

Si usas twinview, no necesitas repetir las entradas para "device", "screen" o "monitor" configuras  todo una sola vez, y defines la resolución del segundo monitor en la parte de los "metamodes".

En tu segundo enlace, veo que te tira un warning, por culpa de twinview. Te dice:

```
 [  1313.887] (WW) NVIDIA(0): TwinView requested, but only 1 display devices found. 
```

¿Estas seguro que esa placa lo soporta?

Quizás tengas que tirar de xinerama puro y duro.

En tu xorg.conf, agrega:

```
 Section "ServerFlags"

  Option    "Xinerama" "true"

EndSection
```

 Y elimina toda referencia a twinview...

Edito y agrego (luego de buscar en mi pila de backups), mi último xorg.conf con twinview (es de noviembre de 2011), en una nvidia 9800GT PCIE totalmente funcional (quizas te sea útil):

```

Section "ServerLayout" 

   Identifier "X.org Configured" 

   Screen 0 "Screen[0]" 

   InputDevice "Mouse0" "CorePointer" 

   InputDevice "Keyboard0" "CoreKeyboard" 

EndSection

Section "Files"

   #RgbPath      "/usr/share/X11/rgb"

   ModulePath   "/usr/lib64/xorg/modules"

   # EXTRAS

    FontPath    "/usr/share/fonts/100dpi"

    FontPath    "/usr/share/fonts/75dpi"

    FontPath    "/usr/share/fonts/arphicfonts"

    FontPath    "/usr/share/fonts/baekmuk-fonts"

    FontPath    "/usr/share/fonts/corefonts"

    FontPath    "/usr/share/fonts/cyrillic"

    FontPath    "/usr/share/fonts/default"

    FontPath    "/usr/share/fonts/encodings"

    FontPath    "/usr/share/fonts/kochi-substitute"

    FontPath    "/usr/share/fonts/liberation-fonts-ttf"

    FontPath    "/usr/share/fonts/misc"

    FontPath    "/usr/share/fonts/sharefonts"

    FontPath    "/usr/share/fonts/ttf-bitstream-vera"

    FontPath    "/usr/share/fonts/urw-fonts"

    FontPath    "/usr/share/fonts/util"

    FontPath    "/usr/share/fonts/unifont"

    FontPath    "/usr/share/fonts/terminus"

    FontPath    "/usr/local/share/fonts"

EndSection

Section "Module"

   Load  "glx"

   Load  "record"

   Load  "extmod"

   Load  "dbe"

   Load  "xtrap"

   Load  "freetype"

   Load  "type1"

EndSection

Section "ServerFlags"

  Option    "AutoAddDevices" "False"

  Option    "Xinerama" "0"

  Option    "RandR"    "on"

EndSection

Section "InputDevice"

   Identifier  "Keyboard0"

   Driver      "kbd"

   Option     "XkbModel"   "pc105"

   Option     "XkbLayout"   "es"

EndSection

Section "InputDevice"

   Identifier  "Mouse0"

   Driver      "mouse"

   Option       "Protocol" "ImPS/2"

   Option       "ZAxisMapping" "4 5"

   Option       "Device" "/dev/input/mice"

   Option       "Resolution" "800"

   Option       "SendCoreEvents" "True"

EndSection

##########################################################

#-- MONITOR ---------------------------------------------#

##########################################################

Section "Monitor" 

    Identifier "Monitor[0]" #CRT 

        VendorName   "Monitor Vendor"

        ModelName    "Monitor Model"

        HorizSync    30.0 - 96.0

        VertRefresh  50.0 - 160.0

        Option "DPMS"

    EndSection

###########################################################

#-- DEVICE -----------------------------------------------#

###########################################################

Section "Device"

   Identifier "Device[0]"

   Driver      "nvidia"

   BusID       "PCI:1:0:0"

        Option                "DPMS" "on"

        Option                "RenderAccel" "true"

   Option        "AllowGLXWithComposite" "On"

#-------Composite--------

   Option        "AddARGBGLXVisuals" "true"

#------------------------

#   Option        "NvAGP" "0"

   Option       "NoLogo" "true"

   Option       "CursorShadow" "true"

EndSection 

#######################################################

#-- SCREEN -------------------------------------------#

#######################################################

Section "Screen"

   Identifier "Screen[0]"

   Device     "Device[0]"

   Monitor    "Monitor[0]"

   DefaultDepth 24

   Option         "TwinView" "1"

   Option         "metamodes" "CRT-0: 1024x768_85 +0+0, CRT-1: 1024x768_85 +1024+0; CRT-0: 1024x768_85 +0+0, CRT-1: NULL; CRT-0: 800x600 +0+0, CRT-1: 800x600 +1024+0; CRT-0: 800x600_85 +0+0, CRT-1: NULL; CRT-0: 640x480_85 +0+0, CRT-1: 640x480 +1024+0; CRT-0: 640x480_85 +0+0, CRT-1: NULL; CRT-0: 640x400 +0+0, CRT-1: 640x400 +1024+0; CRT-0: 640x400_85 +0+0, CRT-1: NULL; CRT-0: 320x240 +0+0, CRT-1: 320x240 +1024+0; CRT-0: 320x240_85 +0+0, CRT-1: NULL; CRT-0: 320x200 +0+0, CRT-1: 320x200 +1024+0; CRT-0: 320x200_85 +0+0, CRT-1: NULL"

   SubSection "Display"

      Viewport   0 0

      Depth     4

      Modes   "1024x768" "800x600" "640x480" "640x400" "320x240" "320x200"

   EndSubSection

   SubSection "Display"

      Viewport   0 0

      Depth     8

      Modes   "1024x768" "800x600" "640x480" "640x400" "320x240" "320x200"

   EndSubSection

   SubSection "Display"

      Viewport   0 0

      Depth     15

      Modes   "1024x768" "800x600" "640x480" "640x400" "320x240" "320x200"

   EndSubSection

   SubSection "Display"

      Viewport   0 0

      Depth     16

      Modes   "1024x768" "800x600" "640x480" "640x400" "320x240" "320x200"

   EndSubSection

   SubSection "Display"

      Viewport   0 0

      Depth     24

      Modes   "1024x768" "800x600" "640x480" "640x400" "320x240" "320x200" 

   EndSubSection

EndSection

#################################################################################

#-------------------------------------------------------------------------------#

#################################################################################

Section "Extensions"

   Option   "Composite"   "Enable"

#MUMBLE

   Option  "XEVIE"      "Enable"

EndSection

```

----------

## Theasker

Gracias por la pronta respuesta y yo he tardado en responder por que he estado intentando todo lo que me has dicho, pero no me ha servido de na.

He intentado con un solo "monitor" y "device" y "screen" pero había un problema, en "screen" tengo que tener por obligación la línea

```
Option      "ConnectedMonitor" "CRT-1"
```

por lo que he tenido que usar 2 screen diferentes pero sigue sin funcionar.

- /etc/X11/xorg.conf

- wgetpaste /var/log/Xorg.0.log

He intentado mirar el xorg.conf que genera el liveusb de ubuntu, pero ... no genera ninguno.

Tampoco se muy bien como nombrar el segundo monitor, el lcd. Creo que se nombra así (DVI-I-0) por que en una de las configuraciones se encendió ese monitor y el CRT no. Con xrandr no me sale nada conectado.

```
xrandr 

xrandr: Failed to get size of gamma for output default

Screen 0: minimum 320 x 175, current 1600 x 1200, maximum 2304 x 1200

default connected 1600x1200+0+0 0mm x 0mm

   1600x1200      50.0*    56.0     57.0     58.0     59.0  

   2304x1024      51.0     53.0     55.0  

   1280x1024      52.0     62.0     63.0  

   1024x768       54.0     67.0     68.0     69.0     70.0  

   1400x1050      60.0     61.0  

   1280x960       64.0     65.0  

   1152x864       66.0  

   832x624        71.0  

   800x600        72.0     73.0     74.0     75.0     76.0  

   720x400        77.0  

   700x525        78.0     79.0  

   640x480        80.0     81.0     82.0     83.0  

   640x400        84.0  

   640x350        85.0  

   512x384        86.0     87.0     88.0  

   400x300        89.0  

   320x240        90.0     91.0  

   320x175        92.0  

   2304x1200      50.0  
```

----------

## Txema

Jamás he tenido más de un monitor así que no tengo ni idea del tema, pero ¿has revisado bien la configuración del livecd en el que dices que va todo perfecto?

Un saludo.

----------

## gsardou

Theasker:

Según esta wiki: http://www.gentoo-wiki.info/HOWTO_nVidia_TwinView el nombre correcto del monitor LCD, debería ser algo así como "DFP-0" o "DFP-1".

De todos modos, no sé hasta que punto el identificador que le asignes te pueda dar problemas.

Sigo viendo en tus logs el dichoso mensaje...

```
[ 46875.431] (WW) NVIDIA(0): TwinView requested, but only 1 display devices found.
```

¿Levantan las X con un solo monitor conectado?

Quizás no influya, pero... ¿probaste forzar la tasa de refresco?

En la linea de "metamodes" que puse en el post anterior, verás que al lado de cada resolución, hay un "_85".

Si pones algo como:

```
Option         "metamodes" "DFP-0: 1024x768_85 +0+0, CRT-1: 800x600_60 +1024+0"
```

Tendrías un LCD a 1024x768 a 85hz y un CRT a 800x600 a 60hz.

Te lo comento, porque a veces la placa no responde bien, y trata de asignar la misma taza de refresco a las dos pantallas (algo que lógicamente no funcionaría en tu caso), y otras veces se hace lío entre la taza de cada pantalla, y la taza de ambas pantallas combinadas (cuando usas dos monitores es muy común que xrandr se vuelva loco, y te detecte una sola pantalla gigante a 30 o 50hz; aunque cada monitor siga funcionando a otras resoluciones).

A ver como evoluciona tu problema   :Wink: 

----------

## Luciernaga

Hola:

Os daré mi opinión al respecto.

Conseguir tener vídeo en varios monitores ha sido siempre una de mis debilidades desde tiempos remotos.

La primera vez lo conseguí con una Matrox que aún conservo y ya obsoleta, no obstante, actualmente tengo la Gentoo con dos Nvidias 6600GT en un equipo Phenom II que va de lujo, ver este mensaje ... https://forums.gentoo.org/viewtopic-t-868765.html

Anteriormente también lo conseguí con una Nvidia 9600GT ... ¿cuál es la diferencia entre ambas tarjetas?

Nótese que ambos procesos fueron lanzados en la misma placa Asus M3A32-MVP DeLuxe.

Mis experiencias en la materia resultan que se precisa de dos monitores con la misma resolución para sincronizar la salida de pantalla, difícilmente se podrá conseguir entre un monitor digital (o CRTs) y una TV emulando salida de monitor.

El problema está en la tarjeta y en los parámetros que debe procesar, a menos que la tarjeta incorpore dos GPUs (este modo no lo he probado porque no dispongo de ella), una salida DVI que se derive por cable a dos monitores puede conseguir la misma pantalla en cada monitor pero no una sola pantalla en que una ventana de diálogo se pueda traspasar con el ratón de un monitor al otro y viceversa.

En el enlace que os pongo está descrito la configuración de las dos tarjetas que mento, en primer término para la 9600GT y finalmente el xorg.conf para las 6600GT que tengo actualmente.

Espero que os sirva mi comentario, tal vez existan otros procesos igualmente válidos que desconozco pero ahí queda eso.

Gracias por leerme.  :Wink: 

----------

## Theasker

 *Luciernaga wrote:*   

> Hola:....

 

Yo antes de probar el liveusb de ubuntu, también me había pasado por la cabeza eso pero en ubuntu funciona perfectamente, lo que no me he fijado bien si se le puede cambiar el refresco a cada una independientemente, eso si, a mi crt que lo tengo a 1600x1200 me parece que no me dejaba ponerlo a esa resolución y sólo me dejaba el máximo del lcd que era 1280. También he de decir que no le ponía drivers privativos, creo que le asignaba los nouveau o vesa, no se muy bien como pero si que lo hacía con monitores separados de los de pasar el ratón de uno a otro perfectamente.

 *gsardou wrote:*   

> 

 

Se que en una de las veces que arrancó el lcd en vez del crt había en log del xorg conectado DVI-I-0, pero no estoy seguro que sea ese el conectado. No se que utilidad me podría decir que monitores hay conectados, creía que xrandr me lo diría pero cuando lo ejecuto desde el crt (que si que arranca ya que el twinview sólo detecta uno conectado) me sale esto:

```
# xrandr 

xrandr: Failed to get size of gamma for output default

Screen 0: minimum 320 x 175, current 1600 x 1200, maximum 1600 x 1200

default connected 1600x1200+0+0 0mm x 0mm

   1600x1200      50.0*    54.0     55.0     56.0     57.0  

   1280x1024      51.0     60.0     61.0  

   1024x768       52.0     53.0     65.0     66.0     67.0     68.0  

   1400x1050      58.0     59.0  

   1280x960       62.0     63.0  

   1152x864       64.0  

   832x624        69.0  

   800x600        70.0     71.0     72.0     73.0     74.0  

   720x400        75.0  

   700x525        76.0     77.0  

   640x480        78.0     79.0     80.0     81.0  

   640x400        82.0  

   640x350        83.0  

   512x384        84.0     85.0     86.0  

   400x300        87.0  

   320x240        88.0     89.0  

   320x175        90.0  
```

También he probado con la configuración de refresco que me dices pero nada.

Option		"metamodes" "CRT-1: 1024x768_85 +0+0, DFP-0: 1024x768_85 +1024+0;"

- xorg

- Xorg.0.log

No lo hago funcionar ni con la matros g200 de 32Mg que va integrada en la placa, por lo que en teoría podría usar 3 monitores (2 con nvidia y uno con la matrox) y la salida de TV de s-video que lleva la nvidia.

----------

## Luciernaga

Como comenté antes el problema reside en la capacidad de proceso de la GPU y en sus drivers privativos, con controladores genéricos (léase Nouveau, Vesa, etc.) nunca podrás conseguir vídeo extra y menos con altas resoluciones, por otra parte hay que contar con la capacidad de refresco del Ramdac que no se puede cambiar su frecuencia (creo), por consiguiente estos factores te limitan y mucho, otra cosa (que no tengo probada) es que la tarjeta de vídeo incorpore dos GPUs entonces ya sería otro cantar, pero con la que has manifestado que dispones (me parece) estás perdiendo el tiempo ....

Suerte  :Wink: 

----------

## Theasker

He descubierto cual puede ser el problema:

Comentando la línea de ConnectedMonitor la nvidia me detecta las 3 salidas:

```
[ 33024.815] (--) NVIDIA(0): Connected display device(s) on GeForce 8400 GS at PCI:9:0:0

[ 33024.815] (--) NVIDIA(0):     Acer AL1916 (CRT-0)

[ 33024.815] (--) NVIDIA(0):     CRT-1

[ 33024.815] (--) NVIDIA(0):     NVIDIA TV Encoder (TV-0)
```

y me arranca el LCD (nombrado/detectado como CRT-0), viendo el escritorio completo sin extender (aun no se como se hace eso), pero el CRT-1 (el principal) al no tener la línea ConnectedMonitor no se conecta.

Con este xorg me arranca pero comentando ConnectedMonitor.

Genera este log.

----------

## Luciernaga

Vamos a ver, fíjate en el xorg.conf del enlace que te puse antes ...

Para poder tener una extensión de la pantalla (con drivers privativos) debes poner en primer término la sección Xinerama.

Luego tienes que tener una sección correctamente configurada por cada monitor y por ende otra sección también correctamente configurada por cada pantalla incluyendo las opciones que se mentan en mi xorg.conf ... siempre que la tarjeta de video las admita.

Insisto en que no se le pueden pedir peras al olmo. Saludetes  :Wink: 

----------

## Theasker

Bueno, lo he conseguido, modificando y modificando y al final sin casi ninguna configuración como tenía antes.

El xorg.conf ha quedado de esa forma, y ahora tengo el CRT-1 (CRT Hitachi de 21'') como escritorio principal a 1600x1200 a 85Hz y el Acer LCD de 19'' de extensión a la derecha del escritorio con una resolución de 1280x1024.

Todo genial, ahora lo que quiero hacer funcionar es la salida de TV a la vez, aunque ... con los drivers nvidia en win7 q me puse para ver como funcionaba los 2 monitores no se podía conectar a la vez 2 monitores y la salida de tv, sólo podía uno de los 2 y la tv.

Bueno, ... ¿la salida de tv se toma como otro monitor?, aunque en alguna configuración me lo ha detectado ahora no. 

¿Qué creeis que tengo que hacer?

----------

## Theasker

Después de un tiempo, se me había olvidado poner las configuraciones:

Configuración para 2 monitores

```
Section "ServerLayout"

        Identifier     "Layout0"

        Screen      0  "Screen0"

        Option         "Xinerama" "0"

EndSection

Section "Module"

        Load "dbe"

        Load "glx"

        Load "record"

        Load "extmod"

EndSection

Section "Files"

EndSection

Section "Monitor"

        Identifier      "Monitor0"

        VendorName      "HITACHI Aer"

        ModelName       "CM813ET Acer AL1916"

        HorizSync       30.0 - 115.0

        VertRefresh     50.0 - 260.0

        Option          "DPI" "98 x 98"

        Option          "DPMS" "on"

EndSection

Section "Device"

        Identifier      "Device0"

        Driver          "nvidia"

        VendorName      "NVIDIA Corporation"

        BoardName       "GeForce 8400 GS"

        Option          "RenderAccel" "true"

        Option          "AllowGLXWithComposite" "On"

        BusID           "PCI:9:0:0"

        Option          "ConnectedMonitor" "CRT-1, CRT-0"

EndSection

Section "Screen"

        Identifier     "Screen0"

        Device         "Device0"

        Monitor        "Monitor0"

        DefaultDepth    24

        Option         "TwinView" "1"

        Option         "TwinViewXineramaInfoOrder" "CRT-1"

#       Option         "MetaModes" "nvidia-auto-select, nvidia-auto-select"

        Option         "metamodes" "CRT-0: 1280x1024_75 +1600+176, CRT-1: 1600x1200 +0+0"

        SubSection     "Display"

                Depth       24

        EndSubSection

EndSection

Section "Extensions"

        Option  "Composite" "Enable"

EndSection

Section "InputClass"

        Identifier "keyboard-all"

        Driver "evdev"

        Option "XkbLayout" "es"

        MatchIsKeyboard "on"

EndSection

Section "InputClass"

        Identifier "mouse-all"

        Driver "evdev"

        MatchIsPointer "on"

EndSection
```

Configuración para monitor + TV

```
Section "ServerLayout"

        Identifier     "Layout0"

        Screen      0  "Screen0"

        Option         "Xinerama" "0"

EndSection

Section "Files"

EndSection

Section "Monitor"

        Identifier      "Monitor0"

        VendorName      "HITACHI Aer"

        ModelName       "CM813ET Acer AL1916"

        HorizSync       30.0 - 115.0

        VertRefresh     50.0 - 260.0

        Option          "DPI" "98 x 98"

        Option          "DPMS" "on"

EndSection

Section "Device"

        Identifier     "Device0"

        Driver         "nvidia"

        VendorName     "NVIDIA Corporation"

        BoardName      "GeForce 8400 GS"

#       Option          "ConnectedMonitor" "CRT-1, CRT-0"

        Option          "ConnectedMonitor" "CRT-0, TV-0"

EndSection

Section "Screen"

        Identifier     "Screen0"

        Device         "Device0"

        Monitor        "Monitor0"

        DefaultDepth    24

        Option         "TwinView" "1"

        Option         "TwinViewXineramaInfoOrder" "CRT-0"

#       Option         "MetaModes" "nvidia-auto-select, nvidia-auto-select"

#       Option         "metamodes" "CRT-0: 1280x1024_75 +1600+176, CRT-1: 1600x1200 +0+0"

        Option         "metamodes" "CRT: 1280x1024 +0+0, TV: 1024x768 +1280+424"

        SubSection     "Display"

                Depth       24

        EndSubSection

EndSection

Section "Extensions"

        Option  "Composite" "Enable"

EndSection

Section "InputClass"

        Identifier "keyboard-all"

        Driver "evdev"

        Option "XkbLayout" "es"

        MatchIsKeyboard "on"

EndSection

Section "InputClass"

        Identifier "mouse-all"

        Driver "evdev"

        MatchIsPointer "on"

EndSection

```

Lo malo es que tengo que cambiar de configuración para cada vez que quiero activar la tele.

Otro problema es que al usar el XBMC por ejemplo se maximiza no en la televisión sino en las 2 pantallas como si fuera una sola. ¿Cómo puedo arreglar eso?. Había pensado en hacerlo con 2 screens diferentes pero no se muy bien como hacerlo.

Gracias anticipadas, un saludo[/code] y espero que las configuraciones le sirva a alguien.

----------

## i92guboj

No he leído todo el hilo, pero se me ocurre que, si todo funciona en Ubuntu tal y como quieres y no puedes encontrar la configuración que genera, siempre puedes echarle al menos un vistazo al log de Ubuntu y ver qué driver está usando. El log te dirá muchas cosas sobre la configuración, y también sobre la versión de los componentes usados, lo cual puede ser decisivo.

----------

## Theasker

Ya se que usa nouveau al mirar el log del xorg, pero bueno, por ahora lo he conseguido, aunque lo único que me queda es que algunos programas que se ejecutan en pantalla completa usan los 2 monitores o el monitor + tv como si fuera una pantalla sola, por lo que es bastante incómodo y en el caso de XBMC en el televisor sólo se ve la mitad de la pantalla.

----------

## i92guboj

Eso ocurre o bien porque los programas no tienen soporte para xinerama o bien porque el use flag en cuestión está desactivado.

----------

## Theasker

xinerama lo tengo activado en el make.conf directamente.

En vez del tipo de configuración de xorg.conf que uso, ¿funcionaría usando 2 screens diferentes?, lo he intentado pero no lo he hecho funcionar y como me funcionaba así no lo he vuelto a intentar.

----------

