Configurar la salida de TV en tarjetas nVidia
Hay muchos manuales para configurar la salida de television de una tarjeta nVidia. Es sencillo y sin embargo puede hacer perder mucho tiempo, por ello dejo aquí unas notas de como lo he hecho yo.
Mi guía (he seguido muchas pero esta resultó la buena) ha sido la receta en inglés de Wikibooks (nVidia/TV-OUT).
No voy a repetir lo que está allí, solo añadiré algunos comentarios.
Prerequisito: Tener correctamente configurado el controlador de la tarjeta.
Preparación
Lo primero que debemos hacer es identificar las conexiones físicas (SVideo/SVHS, RCA, SCART/Euroconector…). Hay mucha información en internet así que solo comentaré un par de cosas.
Hay conectores de SVideo de 4, 7 y 9 pines. En principio son compatibles (salvo fabricantes extraños), lo que quiere decir que aunque tu tarjeta tenga una salida de 7 pines puedes utilizar un cable de 4 pines, por ejemplo.
Puedes necesitar conversores SVideo-RCA, RCA-SCART, SVideo-SCART… en teoría todas funcionan pero si no lo consigues con una, prueba otra.
¡Ojo!, no todos los SCART, ni todos los conversores son compatibles con SVideo.
En mi caso la TV solo tiene dos entradas SCART, de las cuales solo una admite SVideo. Se puede detectar porque cambiando la entrada con el mando a distancia pasa de modo TV, a modo Ext1, luego a modo Ext2 y luego a modo SVHS2.
Del mismo modo disponía de un conversor de RCA a SCART que tampoco admite SVideo (y me costó darme cuenta).
Actualmente utilizo una salida SVideo con un conversor SVideo/SCART. Si conecto el SVideo a la entrada RCA del conversor a SCART no funciona…
Resumiendo: tras configurar correctamente el sistema no veia la tele por culpa de los conectores, y me pasé toda una tarde cambiando y recambiando la configuración, probando manuales distintos…
Así que verifica varias veces tus conectores y si es necesario compra nuevos (en España al menos el conversor y el cable cuestan menos de 6 euros). Yo tuve que ir dos veces a la tienda hasta encontrar la combinación adecuada.
En ningún sitio lo he leido pero hay un modo muy sencillo de verificar las conexiones físicas (quiza la gente no ha tenido el mismo problema que yo): con el equipo apagado se realizan las conexiones y se enciende. Si la conexión es buena verás el arranque por la TV. Sin configurar controladores, software o sistemas operativos. El arranque ya debe verse en la TV, al menos con una GeForce 8400 GS (si lo hubiera sabido antes…).
Configuración
Hay dos aproximaciones al problema: o utilizar un solo servidor gráfico con dos monitores (nVidia TwinView) o utilizar dos servidores gráficos diferentes.
La guía utiliza la segunda aproximación. Yo he seguido muchas guías intentando configurar la primera y no lo he conseguido. Parece que está más orientada al uso de dos monitores, porque los errores me los da únicamente en los metamodes.
Siguiendo la guía
No la voy a repetir, pero aquí está mi fichero xorg.conf (simplemente tuve que añadir la parte que se encuentra bajo “Configuracion para la TV”):
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
#Screen 1 "Screen1" RightOf "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
#Section "ServerFlags"
# Option "Xinerama" "0"
#EndSection
Section "Files"
# path to defoma fonts
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
EndSection
Section "Monitor"
Identifier "Monitor TFT"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
Option "DPMS"
EndSection
Section "Device"
Identifier "nVidia Corporation NVIDIA Default Card"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8400 GS"
Busid "PCI:3:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "nVidia Corporation NVIDIA Default Card"
Monitor "Monitor TFT"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
#############################################################
# Configuracion para Compiz #
#############################################################
Section "Extensions"
Option "Composite" "Enable"
EndSection
Section "DRI"
Mode 0666
EndSection
#############################################################
# Configuracion para la TV #
#############################################################
Section "ServerLayout"
Identifier "TV"
Screen 0 "Screen1" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "Screen"
Identifier "Screen1"
Device "nVidia TV"
Monitor "Monitor TV"
DefaultDepth 16
SubSection "Display"
Depth 16
#Modes "1024x768" "800x600" "640x480"
Modes "640x480"
EndSubSection
EndSection
Section "Monitor"
Identifier "Monitor TV"
HorizSync 30.0 - 50.0
VertRefresh 60.0
EndSection
Section "Device"
Identifier "nVidia TV"
Driver "nvidia"
Busid "PCI:3:0:0"
#Option "TwinView" "1"
#Option "SecondMonitorHorizSync" "30-50"
#Option "SecondMonitorVertRefresh" "60"
#Option "TwinViewOrientation" "Clone"
Option "TVStandard" "PAL-G"
#Option "TVOutFormat" "COMPOSITE"
#Option "TVOutFormat" "SVIDEO"
#Option "ConnectedMonitor" "CRT,DFP,TV"
Option "ConnectedMonitor" "TV"
EndSection
Por último configure un sencillo ~/.xinitrc:
metacity & totem & xterm
Junto con un miniscript ~/bin/TV del que hice un lanzador en el escritorio:
#!/bin/bash xinit -- :1 -layout TV # ver ~/.xinitrc
Además de los scripts indicados en la guía.
tv-mplayer:
#!/bin/sh exec /usr/X11R6/bin/xinit /usr/bin/xterm -ut -e \ /usr/bin/mplayer -stop-xscreensaver -fs -vo sdl "$@" -- /usr/X11R6/bin/X :1 -layout TV
tv-totem:
exec /usr/X11R6/bin/xinit /usr/bin/xterm -ut -e \ /usr/bin/totem -- /usr/X11R6/bin/X :1 -layout TV
La ventaja de llamarlos tv-* es que es más facil lanzarlos desde bash con autocompletar (TAB).
¡Y ya está!
Ahora estoy intentando que cuando enciendo el equipo con la TV conectada siga utilizando el monitor, porque actualmente me toca desconectar la TV en el arranque.
Solventando errores
Una buena fuente es la FAQ de X.org.
X: user not authorized to run the X server, aborting.
Dos opciones, la sencilla:
# dpkg-reconfigure X11-common
Para entenderlo mejor:
# vi /etc/X11/Xsession.options
allow-user-resources allow-user-xsession
# vi /etc/X11/Xwrapper.config
allowed_users=anybody
Xlib: connection to “:1.0″ refused by server
$ mv ~/.Xauthority ~/.Xauthority.old
Configurar la salida de TV en tarjetas nVidia, tv-out nvidia Linux, salida tv en GNU/Linux

