LINUCA: Configuración de TwinView en tarjetas NVIDIA

Anuncio
LINUCA: Configuración de TwinView en tarjetas NVIDIA
$LOGOIMAGE
LINUCA − Asociación Usuarios GNU/Linux de Cantabria
Configuración de TwinView en tarjetas NVIDIA
Por Amaya Rosa Gil Pippino, Cibeles ()
Creado el 27/05/2003 16:49 y modificado por última vez el 28/05/2003 02:01
Las tarjetas NVIDIA son las más usadas actualmente (por la jugadita que lehizo a 3dfx, pero esa es otra historia...) y
afortunadamente, los chicos de NVIDIA se han currado un driver muy completo para usar nuestras tarjetas en nuestro SO
favorito... claro, que requiere de una ardua tarea de configuración.
Así, que este documento es para todos aquellos de vosotros que hayais intentado configurar el dichosoTwin View (tarea que no
resulta nada trivial) espero queos sirva este mini howto basado en mi experiancia, pues hace unos días, yo lo logré :D
Las tarjetas NVIDIA son las más usadas actualmente (por la jugadita que lehizo a 3dfx, pero esa es otra historia...) y
afortunadamente, los chicos de NVIDIA se han currado un driver muy completo para usar nuestras tarjetas en nuestro SO
favorito... claro, que requiere de una ardua tarea de configuración.
Así, que este documento es para todos aquellos de vosotros que hayais intentado configurar el dichosoTwin View (tarea que no
resulta nada trivial) espero queos sirva este mini howto basado en mi experiancia, pues hace unos días, yo lo logré :D
Que aquí va todo lo que he podido averiguar, espero que os sirva de ayuda, así como si veis algún fallo o cualquier cosa
mejorable, os agradeceré que me lo digais.
Lo primero que hay que tener en cuenta es que el TwinView sólo estádisponibe para las NVIDIA GPUs que soporten la
funcionalidad dual−display,como las GeForce2 MX, GeForce2 Go,Quadro2MXR, Quadro2 Go, y cualquiera de las GeForce4 o
Quadro4GPUs.
TwinView es un modo de duplicar el flujo de datos de video de manera que dosdispositivos de salida de video (pantallas planas
digitales,, CRTs, y TVs) puedan mostrar los contenidos de una única pantalla X. Este método de uso de múltiples monitores tiene
varias ventajas sobre otras técnicas (como porejemplo Xinerama −aún no me he puesto con ésta ;p − ):
• Sólo se usa una única pantalla X. El driver NVIDIA oculta toda la información sobre dispositivos de monitores múltiples
dede el servidor X yaque de las X se ocupa una sóla pantalla
• Ambos dispositivos comparten un framebuffer. Así, todas lasfuncionalidades se presentan en un únicodispositivo (por
ejemplo acceleración OpenGL)
• No se necesita "nada por encima" para emular un sólo escritorio
Como todo lo que sea gráficos, evidentemente hay que configurar el fichero /etc/X11/XF86Config−4, así que ahora voy a detallar
las opciones y secciones más destacadas.
Las opciones más destacadas de la sección Device para configurar el Twin View son las siguientes:
• Option "TwinView" "1"
Esta opción es necesaria para habilitar el TwinView, sin ella, el resto de directivas referentes a TwinView serán
ignoradas. Puede tomar valores 1 o 0 o bien true o false.
• Option "SecondMonitorHorizSync" "30−50"
Igual que la directiva HorizSync de los monitores, pero para pantallas de TV viene expresada en kHz, conviene mirar
las instrucciones de la TV.
• Option "SecondMonitorVertRefresh" "60"
Igual que la directiva VertSync de los monitores, pero para pantallas de TV viene expresada en Hz, conviene mirar las
instrucciones de la TV.
• Option "TwinViewOrientation" "Clone"
Controla la relación entre dos dispositivos de salida de imágen cuando se usa Twin View. Toma uno de los siguientes
valores: "RightOf", "LeftOf", "Above", "Below" ,"Clone". El valor por defecto es NULL. Cuando se usa "Clone", a ambos
dispositivos se les asignará un offset de 0,0.
• Option "TVOutFormat" "SVIDEO"
Se puede usar para forzar la salida a SVIDEO o COMPOSITE. Sin esta directiva el driver autodetecta el formato de
salida, si bien no siempre lo hace de forma correcta (por ejemplo, a mi :p ). Puede tomar valores: "SVIDEO" o
1/3
LINUCA: Configuración de TwinView en tarjetas NVIDIA
$LOGOIMAGE
"COMPOSITE".
• Option "ConnectedMonitor" "DFP,TV"
Esta directiva se puede usar para decirle a las X que use una TV como dispositivo de salida. Sólo es necesaria si la TV
no es detectada por la tarjetao si uas un CRT como dispositivo de arranque, pero quieres redirigir las X paraque usen la
TV.
• Option "MetaModes" "1024x768 @1024x768,..."
Un único MetaMode describe qué modo ha de usarse en cada dispositivo en un momento dado. Múltiples MetaModes
listan una combinación de modos y una secuencia en la cual serán usados. La sintaxis de MetaModes, es poner los
modos separadospor comas, de tal manera que el MetaModo 0 se corresponde con el modo del dispositivo 0
concurrentemente con el 1 usado en el dispositivo 1. El cambio entre modos se hace asignando el modo 2 al dispositivo
0 y el 3 al 1.
La sintaxis sigue el siguiente esquema:
"[mode 0], [mode 1]; [mode 2], [mode3]"
Un ejemplo de una entrad real de la directiva MetaMode en el XF86Config−4sería:
Option "MetaModes" "1280x1024,1280x1024; 1024x768,1024x768"
Si deseamos que para un determinado dispositivo no se active un determinado MetaMode, se puede poner NULL o no
poner nada, de la siguiente manera: "1600x1200, NULL; NULL, 1024x768" o bien "1600x1200; , 1024x768"
De manera adicional se le puede indicar el tamaño de la pantalla para controlar la posición de los displays dentro del
espacio virtual de pantalla, siguiendo este esquema: "1600x1200 +0+0, 1024x768 +1600+0; ..."
Cuando no se especifican offsets para MetaModes, las dimensiones serán calculadas siguiendo el valor de la directiva
TwinViewOrientation, si bien si se especifican MetaModes para un modo, el driver NVIDIA, espera encontrar lo en
todos los demás modos. Si no se especifican, se asumirá el offset +0+0.
También se puede poner un "Dominio de Panorama" (que es lo que he usado yo, lo del NULL no me va) de esta
manera: "1024x768 @1600x1200, 800x600 @1600x1200"
Un "Dominio de Panorama" es un área en la cual el dispositivo de imágen puede "tomar una panorámica" para seguir
al ratón. Lo más útil cuando se usan "Dominios de Panorama" es eliminar las áreas muertas, es decir, regiones de las
pantallas virtuales que son inaccesibles, dado que los dispositivos tienen resoluciones distintas, ejemplo: "1600x1200,
1024x768", lo cual produce una región inaccesible por debajo de 1024x768, pero si se especifica un panning domain
para el segundo dispositivo: "1600x1200, 1024x768@1024x1200" se permite el acceso a las áreas muertas permitiendo
que se vea por arriba a 1024x768 y por debajo a 1024x1200.
Así pues, la sección device nos debería quedar de una forma similar a esta:
Section "Device"
Identifier
"Nvidia Geforce 4 420"
Driver
"nvidia"
BusID
"AGP:01:00:0"
Option
"NoDDC" "1"
Option
"IgnoreEDID" "1"
# Importante si se usa una pantalla TFT
Option
"GenerateRTList"
"0"
Option
"OverridePolarity" "1"
# Switch AGP
Option
"NvAGP" "3"
# Imágen mejorada
Option
"DigitalVibrance" "0"
# TV Twinview
Option
"TwinView" "1"
Option
"SecondMonitorHorizSync" "30−50"
Option
"SecondMonitorVertRefresh" "60"
Option
"TwinViewOrientation" "Clone"
Option
"TVOutFormat" "SVIDEO"
Option
"ConnectedMonitor" "DFP,TV"
Option
"TVStandard" "PAL−B"
Option
"MetaModes" "1024x768 @1024x768,1024x768 @1024x768; 800x600
@800x600,800x600 @800x600; 640x480 @640x480,640x480 @640x480"
EndSection
Bueno, además de Device hay que añadir una nueva sección Screen para la tele y otra sección ServerLayout.
Las opciones para la sección Screen son las mismas que para nuestro monitor, con lo cual, la sección screen nos debería
quedar de una forma similar a esta:
2/3
LINUCA: Configuración de TwinView en tarjetas NVIDIA
$LOGOIMAGE
##Sección para la TV
Section "Screen"
Identifier
"TV"
Device
"Nvidia Geforce 4 420"
Monitor
"Generic Monitor"
DefaultDepth
24
SubSection "Display"
Depth
24
EndSubSection
EndSection
Con ServerLayout ocurre lo mismo que con Screen, es decir, hay que decirle las mismas cosas que a la que tenemos para
nuestro monitor normal, la explicación de por qué hay que repetir estas secciones, es (según me han dicho en foros y en páginas
que he ido mirando) que el driver NVIDIA necesita un ServerLayout y un Screen por pantalla conectada.
Por último, la sección ServerLayout debe quedar como la siguiente:
Section "ServerLayout"
Identifier
Screen
InputDevice
InputDevice
InputDevice
EndSection
"Twinview"
"TV"
"Keyboard0" "CoreKeyboard"
"PS/2 Mouse" "CorePointer"
"USB Mouse" "CorePointer"
Otra cosa importante, es que para que funcione el TwinView hay que arrancar las X con todo conectado.
En fin, con esto se supone que os debería funcionar, de todas maneras, aquípodeis encontrar toda la documentación "oficial" de
NVIDIA, eso sí, en sajón:p
ftp://download.nvidia.com/XFree86/Linux−x86/1.0−4349/README.txt
E−mail del autor: [email protected]
Podrás encontrar este artículo e información adicional en: http://linuca.org/body.phtml?nIdNoticia=186
3/3
Descargar