Guía de instalación y archivo README del juego de controladores acelerados para Solaris de NVIDIA NVIDIA Corporation Última actualización: 2005/04/28 Versión del controlador más reciente: 1.0-7664 __________________________________________________________________________ Prólogo __________________________________________________________________________ El juego de controladores acelerados para Solaris de NVIDIA aporta a Solaris x64/x86 funcionalidad 2D acelerada, compatibilidad con OpenGL y alto rendimiento, todo ello mediante las unidades de procesamiento gráfico (GPU) de NVIDIA. Estos controladores proporcionan aceleración optimizada por hardware a las aplicaciones OpenGL y X y son compatibles con casi todos los chips de gráficos NVIDIA más recientes (consulte el Apéndice A para ver la lista completa de los chips soportados). También soportan TwinView, salida a televisión y pantallas planas digitales. Este archivo README contiene las instrucciones de instalación, configuración y uso del juego de controladores acelerados para Solaris de NVIDIA. También ofrece respuestas a preguntas frecuentes y diagnósticos para problemas comunes. __________________________________________________________________________ Introducción __________________________________________________________________________ Este documento contiene las instrucciones de instalación y uso del juego de controladores acelerados para Solaris de NVIDIA. Los capítulos 1 y 2 explican el proceso de instalación y configuración del controlador. El Capítulo 3 responde a preguntas frecuentes sobre el proceso de instalación y el Capítulo 4 ofrece soluciones a problemas comunes. Si se precisa información adicional, el Capítulo 5 contiene datos de contacto para los recursos del controlador para Solaris de NVIDIA y el Capítulo 6 incluye una breve lista de recursos externos. Se da por sentado que el usuario cuenta con conocimientos básicos sobre las técnicas y terminología de Solaris. No obstante, el Capítulo 7 explica en detalle algunas partes del proceso de instalación, lo que puede resultar útil para los usuarios noveles. En los distintos apéndices se presenta información adicional, como los requisitos del sistema y el hardware soportado, listas completas de las opciones de las distintas utilidades asociadas al controlador, detalles del ajuste de configuraciones específicas y temas y características avanzados. ÍNDICE: Prólogo Introducción I. Instrucciones de instalación 1. Instalación del controlador de NVIDIA 2. Configuración de X para el controlador de NVIDIA II. Más información 3. Preguntas más frecuentes (FAQ) 4. Problemas comunes 5. Información de contacto 6. Otros recursos 7. Sugerencias para los nuevos usuarios de Solaris III. Apéndices A. Chips de gráficos de NVIDIA soportados B. Requisitos mínimos de software C. Componentes instalados D. Opciones de configuración de X E. Configuración de la variable de entorno OpenGL F. Configuración de AGP G. Configuración de Twinview H. Configuración de la salida de TV I. Configuración de un portátil J. Modos de programación K. Flipping y UBB L. Cambio de tarjeta M. Problemas conocidos N. Soporte de GLX O. Configuración de varias pantallas X en una tarjeta P. Nombres de dispositivos de visualización Q. La extensión Composite de X R. Utilidad nvidia-settings S. Soporte de GLX en Xinerama __________________________________________________________________________ Capítulo 1. Instalación del controlador de NVIDIA __________________________________________________________________________ Este capítulo contiene las instrucciones de instalación del controlador de NVIDIA. Recuerde que, después de la instalación pero antes de utilizar el controlador, deberá seguir los pasos del Capítulo 2. 1. El archivo 'NVIDIA-Solaris-x86-1.0-7664.run' se descomprime automáticamente y debe instalarlo el superusuario. Para convertirse en superusuario (usuario root), ejecute el comando 'su' e introduzca la contraseña de superusuario. 2. Ejecute el archivo del paquete para instalar los paquetes que conforman el juego de controladores para Solaris de NVIDIA: # sh NVIDIA-Solaris-x86-1.0-7664.run 3. Reinicie: # reboot -- -r La opción -r provoca un arranque de reconfiguración. _________________________________________________________________________ Capítulo 2. Configuración de X para el controlador de NVIDIA __________________________________________________________________________ El archivo de configuración de X ofrece un medio para configurar X server. Esta sección describe los ajustes necesarios para activar el controlador de NVIDIA. El Apéndice D incluye la lista completa de parámetros. La distribución de Solaris para x64/x86 incorpora dos X servers: Xsun y X.org. Xsun es el servidor X desarrollado por Sun Microsystems. X.org es el servidor X lanzado por la X.org Foundation. El controlador acelerado para Solaris de NVIDIA se Activa con el servidor X.org. El proceso de instalación coloca un archivo de configuración de muestra de X.org en '/etc/X11/xorg.conf.nvidia'. También se instala un archivo getconfig rules de X.org, '/usr/X11/lib/X11/getconfig/nvda.cfg'. Este archivo de configuración elige automáticamente el controlador de NVIDIA si el dispositivo de consola está vinculado al controlador del kernel de NVIDIA. El archivo de configuración de X.org se denomina '/etc/X11/xorg.conf'. En este documento nos referiremos a este archivo con el nombre "archivo de configuración de X". El archivo de registro de X.org log se denomina '/var/log/Xorg.#.log' (donde '#' es el número de servidor, normalmente 0). En este documento nos referiremos a este archivo con el nombre "archivo de registro de X". Para poder leer los cambios en X server, debe modificar el archivo que utiliza el servidor. Es fácil localizar el archivo correcto buscando la línea (==) Using config file: en el archivo de registro de X. Esta línea indica el nombre del archivo de configuración de X en uso. Si no dispone de un archivo de configuración de X ya en uso, hay varias formas de obtener uno. El paquete del controlador NVIDIA incorpora un archivo de configuración de muestra (en '/usr/share/doc/NVIDIA/xorg.conf.nvidia'). Las distribuciones Solaris incluyen herramientas para generar archivos de configuración (como 'xorgconfig'). Si desea más información sobre la sintaxis del archivo de configuración de X, consulte la ayuda del manual en línea sobre xorgconfig (`man xorg.conf`). Si ya dispone de un archivo de configuración de X funcionando con otro controlador (como el controlador "nv" o "vesa"), tan sólo tendrá que modificar el archivo de este modo. Elimine la línea: Driver "nv" (o Driver "vesa") (o Driver "fbdev") y sustitúyala por la línea: Driver "nvidia" Elimine las líneas siguientes: Load "dri" Load "GLCore" En la sección "Module" del archivo, añada la línea (si no existe todavía): Load "glx" Hay numerosas opciones que se pueden añadir al archivo de configuración de X para ajustar con precisión el controlador de NVIDIA para X. En el Apéndice D encontrará una lista completa de estas opciones. Una vez finalizadas las modificaciones del archivo de configuración de X, puede reiniciar en X y empezar a utilizar las librerías OpenGL aceleradas. Después de reiniciar en X, todas las aplicaciones OpenGL deberían utilizar automáticamente las nuevas librerías NVIDIA. Si surge algún problema, consulte el diagnóstico de los problemas comunes en el Capítulo 4. __________________________________________________________________________ Capítulo 3. Preguntas más frecuentes (FAQ) __________________________________________________________________________ Esta sección contiene respuestas a las preguntas más frecuentes con respecto al controlador NVIDIA Solaris x64/x86 y su instalación. El Capítulo 4 incluye el diagnóstico de los problemas comunes y el Capítulo 7 ofrece sugerencias para los nuevos usuarios. Además, los apéndices proporcionan información detallada sobre configuraciones específicas. CONTROLADOR NVIDIA P. ¿Qué debo hacer para diagnosticar problemas de visualización en pantalla? R. Una de las herramientas más útiles para diagnosticar los problemas es el archivo de registro de X en '/var/log'. Las líneas que empiezan por "(II)" son información, mientras que las que empiezan por "(WW)" son advertencias y las que empiezan por "(EE)" son errores. Asegúrese de que el archivo de configuración (el archivo de configuración que está editando) es el correcto; busque la línea que comienza por: (==) Using config file: Compruebe también que está utilizando el controlador NVIDIA, y no el controlador "nv" o "vesa". Busque: (II) LoadModule: "nvidia" Las líneas del controlador deben empezar por: (II) NVIDIA(0) P. ¿Cómo puedo incrementar la cantidad de datos que se muestran en el archivo de registro de X? R. En principio, el controlador X de NVIDIA escribe relativamente pocos mensajes en stderr y el archivo de registro de X. Si necesita resolver algún problema, le será de gran ayuda activar la salida en modo explícito utilizando las opciones de línea de comandos de X -verbose y -logverbose, que se pueden utilizar para establecer el nivel de detalle de los mensajes de error de 'stderr' y el archivo de registro, respectivamente. El controlador X de NVIDIA escribirá más mensajes de error cuando el nivel de detalle sea igual o superior a 5 (el nivel de detalle predeterminado en X es 1 para 'stderr' y 3 para el archivo de registro). Por tanto, para activar el modo de detalle de los mensajes que el controlador X de NVIDIA escribe en el archivo de registro y en 'stderr', inicie la sesión X introduciendo el siguiente comando % startx -- -verbose 5 -logverbose 5 P. ¿Por qué X utiliza tanta memoria? R. Al medir el uso de memoria de cualquier aplicación, es conveniente distinguir entre la memoria RAM (física) del sistema y las asignaciones virtuales de los recursos compartidos. Por ejemplo, la mayor parte de las librerías compartidas existen una vez en la memoria física, pero se asignan a varios procesos. Esta memoria sólo debería contabilizarse una vez cuando se calcula el uso total de memoria. Del mismo modo, la memoria de vídeo de una tarjeta gráfica o la memoria de registro (registry) de cualquier dispositivo puede asignarse a varios procesos. Estas asignaciones no consumen memoria RAM del sistema. La utilidad 'pmap' está disponible en el directorio /usr/proc/bin y resulta ser una herramienta práctica para distinguir los distintos tipos de mapas de memoria. Por ejemplo, aunque 'prstat' puede indicar que X está utilizando varios cientos de MB de memoria, la última línea de pmap -x: total Kb 337904 335884 53320 - revela que, en realidad, X está utilizando sólo unos 53 MB de RAM del sistema (el valor "anon"). Observe también que X debe asignar recursos en nombre de los clientes X (el administrador de ventanas, el navegador, etc.). El uso de memoria de X aumentará a medida que los clientes soliciten recursos tales como mapas de píxeles y disminuirá conforme se vayan cerrando aplicaciones X. P. El archivo de registro de X server contiene el siguiente mensaje: (WW) NVIDIA(0): You appear to be using the XFree86-DGA extension. Please (WW) NVIDIA(0): be aware that support for this extension will be (WW) NVIDIA(0): removed from the NVIDIA driver in a future driver (WW) NVIDIA(0): release. See the NVIDIA README for details. ¿Qué planes tiene NVIDIA para el soporte de la extensión XFree86-DGA? R. En una futura versión de sus controladores, NVIDIA eliminará el soporte de la extensión XFree86-DGA, lo que significa que, aunque la extensión seguirá publicitándose y XDGASelectInput() continuará funcionando correctamente para que los clientes DGA disfruten de un relativo movimiento del puntero, los puntos de entrada DGA, como XDGASetMode() y XDGAOpenFramebuffer(), no funcionarán bien. Si prefiere no eliminar el soporte DGA del controlador X de NVIDIA, no deje de comunicarlo en el foro de Solaris en nvnews.net. P. El archivo de registro del kernel contiene mensajes con el prefijo "Xid"; ¿qué significan? R. Los mensajes "Xid" indican que se ha producido un error general en la GPU, en su mayoría debidos a que el controlador ha programado incorrectamente la GPU o a daños en los comandos enviados a la unidad. Estos mensajes proporcionan información de diagnóstico que NVIDIA puede utilizar para resolver los problemas notificados. __________________________________________________________________________ Capítulo 4. Problemas comunes __________________________________________________________________________ Esta sección proporciona soluciones a problemas comunes relacionados con el controlador NVIDIA Solaris x64/x86. P. X server no puede iniciarse y el archivo de registro de X contiene el error: (EE) NVIDIA(0): Failed to load the NVIDIA kernel module! R. El controlador de X interrumpirá su ejecución con este mensaje si el módulo kernel de NVIDIA no se carga o no están presentes los archivos de dispositivo. En caso de recibir este error, debería comprobar si la salida de `dmesg` contiene mensajes de error del kernel. Si `modinfo` informa de que se ha cargado el módulo kernel "nvidia", es posible que falten los archivos de dispositivo ('/dev/nvidiactl', '/dev/nvidia0..7', '/dev/fbs/nvidia0..7'). P. X server no puede iniciarse y el archivo de registro de X contiene el error: (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module! R. Si el módulo kernel de NVIDIA no funciona adecuadamente, el resto de los elementos tampoco lo harán. Si en el archivo de registro de X aparece un mensaje del estilo (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!" ((EE) NVIDIA (0): No se puede inicializar el módulo kernel de NVIDIA), es posible que haya algún problema relacionado con ese módulo. El módulo kernel de NVIDIA presentará mensajes de error para indicar la existencia de un problema. Para ver estos mensajes, examine la salida de `dmesg`, '/var/log/messages', o cualquier otro archivo en el que syslog deba escribir los mensajes del kernel. Estos mensajes aparecen precedidos del prefijo "NVRM". P. X server no puede iniciarse y el archivo de registro de X contiene el error: (EE) NVIDIA(0): The NVIDIA kernel module does not appear to be receiving (EE) NVIDIA(0): interrupts generated by the NVIDIA graphics device. (EE) NVIDIA(0): Please see the FREQUENTLY ASKED QUESTIONS section in (EE) NVIDIA(0): the README for additional information." R. Este error puede deberse a diversos problemas como, por ejemplo, errores de enrutamiento de las IRQ PCI, problemas de E/S de APIC o conflictos con otros dispositivos que comparten la IRQ (o sus drivers). Si es posible, configure el sistema de forma que la tarjeta gráfica no comparta su IRQ con otros dispositivos (si es posible, pruebe a instalarla en otra ranura o bien trate de descargar/desactivar el controlador (o controladores) del dispositivo (o dispositivos) que comparte la IRQ con la tarjeta o retire/desactive dicho dispositivo. P. X se inicia, pero las aplicaciones OpenGL se cierran inmediatamente. R. Si consigue iniciar X, pero OpenGL causa problemas, lo más probable es que el problema resida en otras librerías o que haya enlaces simbólicos obsoletos. Si desea más información, consulte el Apéndice C. También debería comprobar que las extensiones son las correctas; 'xdpyinfo' debería tener las extensiones "GLX" y "NV-GLX". Si no es así, lo más probable es que el módulo glx esté teniendo problemas o que no se pueda cargar implícitamente GLcore. Compruebe el archivo de configuración de X y asegúrese de que está cargando glx (consulte el Capítulo 2). Si el archivo de configuración de X es el correcto, compruebe si el archivo de registro de X contiene advertencias o errores relativos a GLX. Verifique también que todos los enlaces simbólicos necesarios están en el lugar correspondiente (consulte el Apéndice C). P. Al activar TwinView no se inician CDE y JDS. R. Cuando está activado el modo TwinView, el controlador X de NVIDIA normalmente proporciona un extensión Xinerama que los clientes X (como son los administradores de ventanas) pueden utilizar para detectar la configuración que tiene TwinView. Esto confunde a algunos administradores de ventanas. Utilice la opción siguiente en la sección "device" del archivo de configuración de Xorg para desactivar este comportamiento: Option "NoTwinViewXineramaInfo" "1" P. El sistema funciona pero parece inestable. ¿Cuál es el problema? R. Puede que el problema de estabilidad esté relacionado con AGP. Consulte el Apéndice F para obtener más información. P. Las aplicaciones OpenGL son lentas. R. Probablemente la aplicación todavía utiliza una librería diferente de su sistema, en vez de la librería OpenGL proporcionada por NVIDIA. Si desea más detalles consulte el Apéndice C. P. Tengo problemas para ejecutar Quake2. R. Quake2 requiere una pequeña labor de configuración para poder ejecutarse. En primer lugar, la instalación crea en el directorio Quake2 un enlace simbólico llamado 'libGL.so' que apunta a 'libMesaGL.so'. Este enlace simbólico debe eliminarse o cambiarse de nombre. A continuación, para ejecutar Quake2 en modo OpenGL, escriba: % quake2 +set vid_ref glx +set gl_driver libGL.so Aunque, en principio, Quake2 no admite ningún tipo de modo de pantalla completa, puede ejecutar X server a la misma resolución a la que se esté ejecutando Quake2 para emular el modo de pantalla completa. P. Estoy utilizando gráficos internos nForce o nForce2 y veo mensajes como éste en el archivo de registro de X: Not using mode "1600x1200" (exceeds valid memory bandwidth usage) (No se está utilizando el modo "1600x1200" - supera el uso de ancho de banda de memoria válido) R. Los gráficos integrados tienen limitaciones de uso del ancho de banda que restringen en mayor medida la resolución y la tasa de refresco de los modos solicitados. Para evitar este problema, puede reducir la tasa de refresco máxima disminuyendo el valor superior de VertRefresh en la sección 'Monitor' del archivo de configuración de X. Aunque no lo recomendamos, también puede desactivar la prueba de ancho de banda de memoria con la opción NoBandWidthTest del archivo de configuración. P. X tarda mucho en iniciarse (incluso varios minutos). R. Hemos descubierto que la mayoría de los problemas de demora de startx están causados por datos incorrectos de la BIOS relacionados con los posibles dispositivos de visualización conectados o el puerto i2c que debería utilizarse para la detección. Puede resolver estos problemas con la opción IgnoreDisplayDevices del archivo de configuración de X (consulte la descripción en el Apéndice D). P. Los tipos de letra muestran un tamaño incorrecto después de instalar el controlador de NVIDIA. R. El tamaño incorrecto de los tipos de letra generalmente se debe a que el monitor informa erróneamente sobre su tamaño físico y hace que las aplicaciones X presenten las letras de forma inadecuada. Puede comprobar qué tamaño físico de monitor detecta X ejecutando: % xdpyinfo | grep dimensions El resultado del comando es el tamaño en píxeles y en milímetros. Si el dato en milímetros es drásticamente incorrecto, puede corregirlo agregando el campo DisplaySize a la sección monitor del archivo de configuración de X (consulte la ayuda del manual en línea sobre XF86Config o xorg.conf para obtener más información). Puede comprobar qué tamaño físico suministra el monitor ejecutando X en modo completo de registro completo: `startx -- -logverbose`. A continuación, busque en el archivo de registro de X una línea similar a la siguiente: (II) NVIDIA(0): Max H-Image Size [cm]: horiz.: 36 vert.: 27 (los números serán distintos). El controlador de NVIDIA utiliza estos valores para calcular los PPP. __________________________________________________________________________ Capítulo 5. Información de contacto __________________________________________________________________________ Existe un foro web dedicado a los controladores Solaris de NVIDIA. Puede acceder a él entrando en http://www.nvnews.net y haciendo clic en los vínculos "Forum" y "Solaris Discussion Area". Esta es la mejor herramienta para buscar ayuda; los usuarios pueden plantear preguntas, contestar a las preguntas de otros usuarios y realizar búsquedas en los archivos de mensajes anteriores. Y si todo esto falla, puede solicitar ayuda a Sun Microsystems en http://sunsolve.sun.com o a su proveedor de servicios local. __________________________________________________________________________ Capítulo 6. Otros recursos __________________________________________________________________________ Recursos SunSolve http://sunsolve.sun.com/ XFree86 Video Timings HOWTO http://www.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/index.html X.org Foundation http://www.x.org/ OpenGL http://www.opengl.org/ __________________________________________________________________________ Capítulo 7. Sugerencias para los nuevos usuarios de Solaris __________________________________________________________________________ En esta guía de instalación se presupone que el usuario tiene al menos conocimientos básicos sobre las técnicas y la terminología de Solaris. Esta sección contiene sugerencias que pueden resultar útiles para los usuarios noveles. Aunque su objetivo es esclarecer conceptos y ayudar a los usuarios a instalar y configurar el controlador de NVIDIA para Solaris, no pretende de ningún modo ser un manual sobre el uso o la administración del sistema operativo Solaris. A diferencia de muchos sistemas operativos de escritorio, es relativamente fácil ocasionar daños irreparables a un sistema Solaris. Si no está familiarizado con el uso de Solaris, le recomendamos encarecidamente que solicite un manual a su distribuidor antes de continuar. INDICADOR DE COMANDOS Aun cuando las versiones más recientes de Solaris aportan nuevas interfaces de escritorio para el usuario, en Solaris gran parte del trabajo se realiza con la línea de comandos. Si conoce bien el sistema operativo Windows, advertirá que el indicador de comandos de Solaris es similar, aunque varían su sintaxis y uso. Todos los comandos de esta sección se ejecutan en la línea de comandos. Algunos sistemas están configurados para arrancar en modo de consola, en cuyo caso al usuario se le presenta un indicador al registrarse. Otros sistemas están configurados para iniciarse en ventanas X, en cuyo caso el usuario debe abrir una ventana de terminal o consola para que el indicador de comandos aparezca. Normalmente, para ello se busca un programa de terminal o consola en los menús del escritorio. Aunque es personalizable, el indicador básico consta de una breve cadena de información, uno de los caracteres '#', '$' o '%', y un cursor (posiblemente intermitente) que indica dónde aparecerá lo que introduzca el usuario. DESPLAZAMIENTO POR LA ESTRUCTURA DE DIRECTORIOS La estructura de directorios de Solaris es jerárquica. Desde cualquier lugar de la estructura, el comando 'ls' muestra la lista del contenido del directorio de que se trate. El comando 'file' imprime el tipo de archivos de un directorio. Por ejemplo: % file archivo imprime el tipo de archivo 'archivo'. Para cambiar de directorio se utiliza el comando 'cd'. % cd directorio cambia el directorio actual por 'directorio'. Desde cualquier punto de la estructura, el comando 'pwd' imprime el nombre del directorio actual. Hay dos directorios especiales, '.' y '..', que hacen referencia al directorio actual y al directorio superior en la jerarquía, respectivamente. Con los comandos que exigen un nombre de archivo o de directorio como argumento, es posible especificar las rutas absoluta o relativa a dichos elementos. Una ruta absoluta comienza por el carácter "/", que hace referencia a la raíz o inicio de la estructura de directorios. Una ruta relativa comienza por un directorio del directorio de trabajo actual. La ruta relativa puede empezar por '.' o '..'. Los elementos de una ruta se separan con el carácter "/". Por ejemplo, si el directorio actual es '/home/jesse' y el usuario desea cambiar al directorio '/usr/local', puede utilizar uno de los siguientes comandos: % cd /usr/local o % cd ../../usr/local PERMISOS Y PROPIETARIOS DE ARCHIVOS Todos los archivos y directorios llevan asociados permisos y propietarios. Esta característica resulta útil para evitar que los usuarios no administrativos dañen el sistema accidentalmente (o con mala intención). Para averiguar qué permisos y propietarios tiene un archivo o directorio, pase la opción -l al comando 'ls'. Por ejemplo: % ls -l drwxr-xr-x 2 jesse users 4096 Feb 8 09:32 bin drwxrwxrwx 10 jesse users 4096 Feb 10 12:04 pub -rw-r--r-- 1 jesse users 45 Feb 4 03:55 testfile -rwx------ 1 jesse users 93 Feb 5 06:20 myprogram -rw-rw-rw- 1 jesse users 112 Feb 5 06:20 README % La primera columna de caracteres del primer campo de salida indica el tipo de archivo, donde 'd' es un directorio y '-' un archivo ordinario. Las siguientes nueve columnas especifican los permisos del elemento (véase más abajo). El segundo campo indica el número de archivos asociados al elemento; el tercero, el propietario; el cuarto indica el grupo al que está asociado el archivo; el quinto, el tamaño del elemento en bytes; el sexto, el séptimo y el octavo indican la hora en la que se modificó el archivo por última vez y el noveno es el nombre del elemento. Como ya se ha mencionado, las últimas nueve columnas del primer campo indican los permisos del elemento. Estas columnas se agrupan tres grupos: el primero indica los permisos del propietario del elemento (en este caso, 'jesse'), el segundo los permisos del grupo asociado al elemento y el tercero indica los permisos asociados al resto de personas. Los caracteres 'r', 'w' y 'x' indican permisos de lectura, escritura y ejecución, respectivamente, de cada una de estas agrupaciones. Por ejemplo, el usuario 'jesse' dispone de permisos de lectura y escritura para 'testfile', los usuarios del grupo 'users' disponen de permiso de lectura y el resto de personas también dispone únicamente de permiso de lectura. Sin embargo, con el archivo 'myprogram', el usuario 'jesse' tiene permiso de lectura, escritura y ejecución (lo que sugiere que 'myprogram' es un programa que puede ejecutarse), mientras que el grupo 'users' y el resto de personas no tiene ningún permiso (lo que sugiere que el propietario no desea que nadie más ejecute este programa). Los permisos, propietarios y grupos asociados a un elemento pueden modificarse con los comandos 'chmod', 'chown' y 'chgrp', respectivamente. Si un usuario con los permisos adecuados desease cambiar el propietario jesse/users (usuario/grupo) de 'README' por joe/admin, haría lo siguiente: # chown joe README # chgrp admin README La sintaxis de chmod es ligeramente más complicada y presenta algunas variaciones. El modo más conciso de configurar los permisos de un solo elemento consiste en utilizar un trío de números, cada uno de ellos correspondiente a usuario, grupo y resto de personas. El valor de cada número del trío corresponde a una combinación de permisos de lectura, escritura y ejecución. Sólo ejecución se representa con un 1, sólo escritura se representa con un 2 y sólo lectura, con un 4. Las combinaciones de estos permisos se representan con sumas entre ellos. Lectura y ejecución se representa con un 5, mientras que lectura, escritura y ejecución se representa con un 7. Ningún permiso se representa con un 0. Por lo tanto, para otorgar al propietario permiso de lectura, escritura y ejecución, al grupo permiso de lectura y ejecución y al resto de personas ningún permiso, el usuario debería hacer lo siguiente: % chmod 750 myprogram EL SHELL El shell proporciona una interfaz entre el usuario y el sistema operativo. Su tarea es interpretar lo que el usuario introduce en el indicador de comandos y ordenar al sistema que actué en consecuencia. Hay disponibles varios shells distintos, cada uno con diferentes sintaxis y posibilidades. Los dos tipos de shells habituales en distribuciones de Solaris son el Borne shell ('sh') y el C-shell ('csh'). Cada usuario tiene sus propias preferencias e inclinaciones por un shell u otro, y algunos sin duda son más fáciles de utilizar (o al menos más intuitivos) para ciertas tareas. Para averiguar cuál es el shell en uso, imprima el valor de 'SHELL' desde la línea de comandos mediante % echo $SHELL Para iniciar otro shell, basta con introducir su nombre en la línea de comandos: % csh o % sh Y, para iniciar un programa desde un shell específico, anteponga su nombre al del archivo ejecutable: % sh myprogram El shell predeterminado de un usuario cuando se registra depende de quién haya configurado su cuenta. Aunque hay numerosas diferencias concretas entre los shells, quizá la más frecuente es el modo en que se ajustan las variables de entorno. AJUSTE DE LAS VARIABLES DE ENTORNO Cada sesión lleva asociadas sus variables de entorno, que consisten en parejas de nombre/valor y controlan el modo en que se ejecutan el shell y los programas según el comportamiento del shell. Un ejemplo de variable de entorno es 'PATH', que indica al shell en qué directorios debe buscar cuando intente localizar un archivo ejecutable que el usuario ha introducido en la línea de comandos. Si está seguro de que un comando existe pero el shell asegura que no puede encontrarlo cuando lo intenta ejecutar, lo más probable es que haya un problema con la variable 'PATH'. Las variables de entorno son diferentes en función del shell utilizado. Con el Borne shell ('sh'), el procedimiento es: % export MYVARIABLE="avalue" Con el C-shell, el procedimiento es: % setenv MYVARIABLE "avalue" En ambos casos, las comillas sólo son necesarias si el valor contiene espacios. El comando 'echo' puede utilizarse para examinar el valor de una variable de entorno: % echo $MYVARIABLE Los comandos que ajustan variables de entorno también pueden incluir referencias a otras variables de entorno (si se antepone el carácter "$"), incluidas ellas mismas. Para añadir la ruta '/usr/local/bin' al principio de la ruta de búsqueda y el directorio actual '.' al final, el usuario debería introducir % export PATH=/usr/local/bin:$PATH:. en el Borne shell y % setenv PATH /usr/local/bin:${PATH}:. En el C-shell. Observe que hacen falta llaves para proteger el nombre de la variable en el C-shell. MODIFICACIÓN DE ARCHIVOS DE TEXTO Hay varios editores de texto disponibles para el sistema operativo Solaris. Algunos de ellos requieren el sistema de ventanas X, mientras que otros están diseñados para consolas o terminales. En general es interesante conocer los editores para terminales, ya que a veces los archivos necesarios para ejecutar X son los que deben modificarse. Tres editores de uso extendido son 'vi', 'pico' y 'emacs', todos los cuales pueden iniciarse desde la línea de comandos y, optativamente, admitir el nombre del archivo que va a editarse. Cabría decir que 'vi' es el más utilizado, así como el menos intuitivo de los tres. 'pico' es relativamente fácil para los usuarios nuevos, aunque no suele instalarse tanto en sistemas. 'emacs' es enormemente extensible y bastante fácil de obtener, pero puede resultar un poco difícil de manejar en un entorno ajeno a X. Las nuevas versiones llevan ayuda en línea y también puede obtenerse ayuda en el manual y las páginas informativas en línea de cada una de ellas (consulte la sección Manual e información en línea de Solaris). Muchos programas utilizan la variable de entorno 'EDITOR' para determinar qué editor de texto iniciar cuando hace falta editar. SUPERUSUARIO (ROOT) Durante la instalación, casi todas las distribuciones configuran el usuario administrativo predeterminado con el nombre de usuario 'root'. Hay muchas tareas que sólo el usuario 'root' (u otro con los mismos privilegios) puede realizar en el sistema, una de las cuales es instalar el controlador Solaris de NVIDIA. Hay tres modos de convertirse en 'root'. Puede registrarse como superusuario como si se tratara de cualquier usuario, puede utilizar el comando de sustitución de usuario ('su') en el indicador de comandos o, en los sistemas que lo incorporan, emplear la utilidad 'sudo', que permite a los usuarios ejecutar programas como superusuarios manteniendo el registro de sus actividades. Este último método es útil en caso de que un usuario dañe inadvertidamente el sistema y no recuerde lo que ha hecho (o prefiera no admitirlo). En general es recomendable permanecer registrado como superusuario únicamente mientras sea preciso realizar tareas que requieren los privilegios correspondientes (otra característica práctica de la utilidad 'sudo'). DETENCIÓN DE X SERVER Es aconsejable instalar el controlador Solaris de NVIDIA sin que esté ejecutándose X. Para salir de ventanas X, finalice el registro y seleccione la opción "Command Line Login" en la pantalla de registro. X server se detendrá y se iniciará una sesión de texto. Tras cerrar esta sesión, X server y la pantalla gráfica de registro se reiniciarán automáticamente. MANUAL E INFORMACIÓN EN LÍNEA DE SOLARIS La mayoría de las distribuciones instalan el manual y la información de forma predeterminada. Estas páginas suelen estar actualizadas y contienen una lista completa del uso de los programas y utilidades del sistema. Además, tradicionalmente muchas implantaciones de programas incluyen la opción -help, que en general imprime la lista de las opciones habituales de ese programa. Para ver la ayuda del manual en línea sobre un comando, introduzca % man commandname en el indicador de comandos, donde commandname representa el comando que le interese. Igualmente, al introducir % info commandname aparecerá la página informativa sobre el comando de que se trate. Algunas distribuciones afirman que unas están más actualizadas que otras. La interfaz del sistema informativo es interactiva y navegable. Si no puede localizar la ayuda del manual en línea sobre el comando que le interese, quizá tenga que añadir más elementos a la variable de entorno 'MANPATH'. Consulte la sección sobre variables de entorno. __________________________________________________________________________ Apéndice A. Chips de gráficos de NVIDIA soportados __________________________________________________________________________ Nombre del chip de NVIDIA ID del dispositivo PCI ------------------------------- ------------------------------- Quadro FX 4000 0x004E Quadro FX 1400 0x00CE Quadro FX 3400/4400 0x00F8 Quadro FX 330 0x00FC Quadro NVS 280 PCI-E/Quadro FX 0x00FD 330 Quadro FX 1300 0x00FE Quadro FX 540 0x014E Quadro NVS 0x017A Quadro NVS with AGP8X 0x018A Quadro FX 2000 0x0308 Quadro FX 1000 0x0309 Quadro NVS 280 PCI 0x032A Quadro FX 500/600 PCI 0x032B Quadro FX 3000 0x0338 Quadro FX 700 0x033F Quadro FX Go1000 0x034C Quadro FX 1100 0x034E __________________________________________________________________________ Apéndice B. Requisitos mínimos de software __________________________________________________________________________ El requisito mínimo oficial para el juego de controladores de Solaris de NVIDIA es: - Solaris 10 en x64/x86 __________________________________________________________________________ Apéndice C. Componentes instalados __________________________________________________________________________ El juego de controladores acelerados para Solaris de NVIDIA consta de los siguientes componentes: Librerías de 64 bits: - /usr/X11/lib/NVIDIA/amd64/libGL.so.1 - /usr/X11/lib/NVIDIA/amd64/libGL.so -> libGL.so.1 - /usr/X11/lib/NVIDIA/amd64/libnvidia-tls.so.1 - /usr/X11/lib/NVIDIA/amd64/libnvidia-tls.so -> libnvidia-tls.so.1 - /usr/X11/lib/NVIDIA/amd64/libGLcore.so.1 Los enlaces simbólicos instalados en /usr/lib/amd64 conducen a los archivos anteriores. Librerías de 32 bits: - /usr/X11/lib/NVIDIA/libGL.so.1 - /usr/X11/lib/NVIDIA/libGL.so -> libGL.so. - /usr/X11/lib/NVIDIA/libnvidia-tls.so.1 - /usr/X11/lib/NVIDIA/libnvidia-tls.so -> libnvidia-tls.so - /usr/X11/lib/NVIDIA/libGLcore.so.1 Los enlaces simbólicos instalados en /usr/lib conducen a los archivos anteriores. Módulo y extensión de X: - /usr/X11/lib/modules/drivers/nvidia_drv.so - /usr/X11/lib/modules/drivers/libglx.so - /usr/X11/lib/modules/drivers/libglx.so.1 Archivos de dispositivo: - /dev/nvidia0 -> /dev/fbs/nvidia0 - /dev/fbs/nvidia0 - /dev/nvidiactl -> ../devices/pseudo/nvidia@255:nvidiactl Controlador del kernel: - nvidia /kernel/drv/amd64 - nvidia /kernel/drv/nvidia - nvidia.conf /kernel/drv/nvidia Archivos de encabezado: - gl.h /usr/include/NVIDIA - glext.h /usr/include/NVIDIA - glx.h /usr/include/NVIDIA - glxext.h /usr/include/NVIDIA Los enlaces simbólicos instalados en /usr/include conducen a los archivos anteriores. Documentación: - README.txt /usr/share/doc/NVIDIA __________________________________________________________________________ Apéndice D. Opciones de configuración de X __________________________________________________________________________ El controlador X de NVIDIA admite las siguientes opciones, que deben especificarse en las secciones Screen o Device del archivo de configuración de X: Opciones de configuración de X Opción "NvAGP" "entero" Esta opción sirve para configurar el soporte AGP. El argumento "entero" puede ser uno de los siguientes: Valor Comportamiento ----------------------------- ----------------------------- 0 desactivar agp 1 utilizar el soporte AGP interno de NVIDIA, si es posible 2 utilizar AGPGART, si es posible 3 utilizar cualquier soporte agp (probar con AGPGART y luego con AGP de NVIDIA) Tenga en cuenta que el soporte AGP interno de NVIDIA no puede funcionar si AGPGART está compilado estáticamente en el kernel o si ha sido generado como módulo. Por el contrario, tiene que cargarse en el kernel (algunas distribuciones cargan AGPGART en el kernel al iniciar el equipo). Valor predeterminado: 3 (el valor predeterminado era 1 hasta la versión 1.0-1251). Opción "NoLogo" "booleano" Para desactivar la aparición del logotipo de NVIDIA en la pantalla de bienvenida al iniciar X. Valor predeterminado: logotipo activo. Opción "RenderAccel" "booleano" Activa o desactiva la aceleración por hardware de la extensión RENDER. ESTA OPCIÓN ES EXPERIMENTAL. PUEDE ACTIVARLA BAJO SU PROPIA RESPONSABILIDAD. No existe ninguna prueba que certifique el funcionamiento de la extensión RENDER, por lo que NVIDIA no puede verificar el correcto funcionamiento de su aceleración. Valor predeterminado: la aceleración está desactivada. Opción "NoRenderExtension" "booleano" Desactiva la extensión RENDER. Aparte de recompilarla, X server no parece tener otra forma de desactivarla. Afortunadamente, podemos controlar esta función desde el controlador, así que exportamos esta opción. Resulta útil con profundidad 8, donde RENDER normalmente se apropiaría de la mayor parte del mapa de colores predeterminado. Valor predeterminado: se proporciona RENDER siempre que es posible. Opción "UBB" "booleano" Activa o desactiva el Unified Back Buffer en cualquier GPU Quadro. En el Apéndice M encontrará una descripción de este búfer. Esta opción no afecta a los chipsets que no pertenecen a la gama Quadro. Valor predeterminado: activado en los chipsets Quadro. Opción "NoFlip" "booleano" Desactiva la opción de Flipping de OpenGL. Si precisa más información, consulte el Apéndice K. Valor predeterminado: OpenGL realizará el intercambio mediante flipping siempre que sea posible. Opción "DigitalVibrance" "entero" Activa la función Digital Vibrance Control. Los valores válidos se sitúan entre 0 y 255. Esta función no está disponible en productos anteriores a GeForce2. Valor predeterminado: 0. Opción "Dac8Bit" "booleano" La mayoría de los productos Quadro utilizan de forma predeterminada una tabla de búsqueda de colores de 10 bits (Lookup Table o LUT). Cuando esta opción se configura con TRUE, estos procesadores utilizan una LUT de 8 bits. Valor predeterminado: utilizar LUT de 10 bits cuando esté disponible. Opción "Overlay" "booleano" Activa la superposición de objetos (overlays) RGB en las estaciones de trabajo. Sólo puede utilizarse en los procesadores Quadro4 y Quadro FX (Quadro4 NVS está excluido) con profundidad 24. Esta opción hace que el servidor detecte la propiedad SERVER_OVERLAY_VISUALS de la ventana raíz y GLX informe de la existencia de superposiciones de 16 bits (uno o dos búfers y búfer Z). La clave de transparencia es el píxel 0x0000 (hex). No existe soporte de corrección gamma en el plano de superposición. Esta función precisa XFree86 versión 4.1.0 o una versión posterior, o bien X server de Xorg. Los procesadores Quadro basados en NV17/18 (p. ej. 500/550 XGL) tienen restricciones adicionales, lo que significa que no se admiten superposiciones en modo TwinView ni con escritorios virtuales mayores de 2046 x 2047 en cualquier dimensión (p. ej. no funcionará en modos 2048 x 1536). Los modelos Quadro 7xx/9xx y Quadro FX ofrecerán overlays en estos modos (TwinView o escritorios virtuales mayores de 2046 x 2047), pero se hará a través de emulación con un considerable perjuicio para el rendimiento. Las superposiciones RGB no pueden utilizarse cuando está activada la extensión Composite. Valor predeterminado: desactivada. Opción "CIOverlay" "booleano" Activa la superposición de elementos visuales (overlay) en modo de índice de colores (Color Index) con restricciones similares a las que presenta la opción "Overlay" anterior. El servidor ofrece los objetos gráficos con y sin clave de transparencia. Se trata de elementos visuales PseudoColor con profundidad 8. La activación de la superposición de objetos en modo Color Index en servidores X anteriores a XFree86 4.3 desactiva automáticamente la extensión RENDER a causa de algunos errores de software de dicha extensión en servidores X previos a la citada versión. Las superposiciones en el modo índice de colores no pueden utilizarse cuando está activada la extensión Composite. Valor predeterminado: desactivada. Opción "TransparentIndex" "entero" Cuando están activadas las superposiciones (overlays) en modo de índice de colores, esta opción permite elegir cuál será el valor de transparencia que se utilizará para los elementos visuales que incluyan píxeles transparentes. Puede ser cualquier valor situado entre 0 y 255 (Nota: algunas aplicaciones como Maya de Alias necesitan que el valor sea 0 para funcionar correctamente). Valor predeterminado: 0. Opción "OverlayDefaultVisual" "booleano" Cuando se utilizan superposiciones (overlays), esta opción configura el elemento visual predeterminado como elemento de superposición, con lo que sitúa la ventana raíz en la superposición. No es una opción recomendada para overlays en modo RGB. Valor predeterminado: desactivada. Opción "RandRRotation" "booleano" Proporciona soporte para la función de rotación de la extensión XRandR. Permite utilizar la extensión XRandR de X server para configurar la orientación de la pantalla a través de la rotación. Esta función está disponible en modelos GeForce2 o superiores con una profundidad de 24 y requiere la versión XOrg 6.8.1 u otra posterior de X server. No funciona con superposiciones por hardware, sino que se utilizan superposiciones emuladas con una considerable penalización del rendimiento. Consulte para obtener más información. Valor predeterminado: desactivada. Opción "AllowDDCCI" "booleano" Activa el soporte DDC/CI en la extensión NV-CONTROL X. DDC/CI es un mecanismo de comunicación entre el sistema y el dispositivo de visualización. Puede utilizarse para ajustar los valores que normalmente se controlan con On Screen Display del dispositivo de visualización. Consulte los atributos de NV- CONTROL para DDC/CI en 'NVCtrl.h' y las funciones de 'NVCtrlLib.h' en el código fuente de 'nvidia-settings'. Valor predeterminado: DDC/CI desactivado. Opción "SWCursor" "booleano" Activa o desactiva el modo de renderizado por software del cursor X. Valor predeterminado: desactivado. Opción "HWCursor" "booleano" Activa o desactiva el modo de renderizado por hardware del cursor X. Valor predeterminado: activado. Opción "CursorShadow" "booleano" Activa o desactiva el uso de una sombra con el cursor acelerado por hardware; se trata de una sombra de color negro translúcido con la misma forma que el cursor, situada a una determinada distancia del cursor real. Esta opción sólo está disponible en la GeForce2 o versiones superiores del hardware (lo que significa todas excepto TNT/TNT2, GeForce 256, GeForce DDR y Quadro). Valor predeterminado: cursor sin sombra. Opción "CursorShadowAlpha" "entero" Define el valor alfa que se debe utilizar para la sombra del cursor; sólo se puede aplicar si la opción CursorShadow está activada. Este valor debe estar comprendido en el rango [0, 255], donde 0 es completamente transparente y 255 es totalmente opaco. Valor predeterminado: 64. Opción "CursorShadowXOffset" "entero" Indica el desplazamiento hacia la derecha, calculado en píxeles, de la sombra con respecto a la imagen del cursor real; sólo se puede aplicar si la opción CursorShadow está activada. Este valor debe estar comprendido en el rango [0, 32]. Valor predeterminado: 4. Opción "CursorShadowYOffset" "entero" Indica el desplazamiento hacia abajo, calculado en píxeles, de la sombra con respecto a la imagen del cursor real; sólo se puede aplicar si la opción CursorShadow está activada. Este valor debe estar comprendido en el rango [0, 32]. Valor predeterminado: 2. Opción "ConnectedMonitor" "cadena" Permite omitir lo que el módulo kernel de NVIDIA detecta como conectado a la tarjeta de vídeo. Esto puede resultar útil, por ejemplo, si utiliza un conmutador KVM (teclado, vídeo, ratón) y está desconectado cuando se inicia X. En este caso, el módulo kernel de NVIDIA no puede detectar qué dispositivos de visualización están conectados y el controlador X de NVIDIA supone que hay un único monitor CRT. Los valores válidos para esta opción son "CRT" (tubo de rayos catódicos), "DFP" (pantalla digital plana) o "TV" (televisión); si se utiliza TwinView, esta opción puede estar formada por una lista de dispositivos de visualización separados por comas, como por ejemplo "CRT, CRT" o "CRT, DFP". NOTA: el controlador considera cualquier dispositivo enchufado a un conector VGA de 15 patillas como un monitor CRT (tubo de rayos catódicos). "DFP" sólo debe utilizarse para hacer referencia a pantallas planas conectadas mediante un puerto DVI. Valor predeterminado: el valor de la cadena es NULL. Opción "UseEdidFreqs" "booleano" Esta opción hace que X server utilice los rangos HorizSync y VertRefresh que aparecen en los datos EDID del dispositivo de visualización, si los hay. La información de intervalo proporcionada por los datos EDID anulará los rangos HorizSync y VertRefresh especificados en la sección "Monitor". Si el dispositivo de pantalla no proporciona los datos EDID, o estos datos no especifican ningún rango hsync o vrefresh, X server utilizará como valores predeterminados los rangos HorizSync y VertRefresh especificados en la sección "Monitor". Opción "IgnoreEDID" "booleano" Desactiva la obtención de datos EDID (datos extendidos de identificación de la pantalla) de su monitor. Los modos solicitados se comparan con los valores obtenidos de los datos EDID de su monitor (en caso de que los haya) durante la validación del modo. Algunos monitores proporcionan datos incorrectos acerca de sus capacidades. Si se ignoran los valores que ofrece el monitor puede resultar más sencillo validar un determinado modo. Por otra parte, puede ser peligroso ni no se sabe lo que se está haciendo. Valor predeterminado: utilizar los datos EDID. Opción "NoDDC" "booleano" Igual que la opción "IgnoreEDID". Opción "FlatPanelProperties" "cadena" Solicita las propiedades de cualquier pantalla plana en forma de una lista de equivalencias propiedad=valor separadas por comas. Las dos propiedades disponibles en este momento son 'Scaling' y 'Dithering'. Los valores admitidos para 'Scaling' son: 'default' (el controlador utiliza la escala que esté seleccionada en ese momento), 'native' (utiliza el escalador de la pantalla plana, si lo tiene), 'scaled' (utiliza el escalador de NVIDIA, si es posible), 'centered' (centra la imagen, si es posible) y 'aspect-scaled' (utiliza el escalador de NVIDIA pero mantiene la relación de aspecto adecuada). Los valores admitidos para 'Dithering' son: 'default' (el controlador decide cuándo aplicar tramado), 'enabled' (el controlador trata de aplicar tramado siempre que es posible) y 'disabled' (nunca aplica tramado). Si no se especifica alguna propiedad, su valor se establece como 'default'. Un ejemplo de cadena de propiedades podría ser: "Scaling = centered, Dithering = enabled" Opción "UseInt10Module" "booleano" Permite utilizar el módulo Int10 de X para realizar un reinicio suave de todas las tarjetas secundarias, en vez de hacer que pasen por el módulo kernel de NVIDIA. Valor predeterminado: desactivada (las tarjetas pasan por el módulo kernel de NVIDIA). Opción "TwinView" "booleano" Activa o desactiva TwinView. Si desea más detalles consulte el Apéndice G. Valor predeterminado: desactivada. Opción "TwinViewOrientation" "cadena" Controla la relación entre dos dispositivos de visualización cuando se está utilizando TwinView. Existen los siguientes valores: "RightOf" (a la derecha) "LeftOf" (a la izquierda) "Above" (arriba) "Below" (abajo) "Clone" (clónico). Si desea más detalles consulte el Apéndice G. Valor predeterminado: el valor de la cadena es NULL. Opción "SecondMonitorHorizSync" "rango(s)" Esta opción es como la entrada HorizSync de la sección "Monitor", pero para el segundo monitor cuando se utiliza TwinView. Si desea más detalles consulte el Apéndice G. Valor predeterminado: ninguno. Opción "SecondMonitorVertRefresh" "rango(s)" Esta opción es como la entrada VertRefresh de la sección "Monitor", pero para el segundo monitor cuando se utiliza TwinView. Si desea más detalles consulte el Apéndice G. Valor predeterminado: ninguno. Opción "MetaModes" "cadena" Esta opción describe la combinación de modos que se pueden utilizar en cada monitor cuando está activa la función TwinView. Si desea más detalles consulte el Apéndice G. Valor predeterminado: el valor de la cadena es NULL. Opción "NoTwinViewXineramaInfo" "booleano" Cuando está activado el modo TwinView, el controlador X de NVIDIA normalmente proporciona un extensión Xinerama que los clientes X (como son los administradores de ventanas) pueden utilizar para detectar la configuración que tiene TwinView. Esto confunde a algunos administradores de ventanas, así que esta opción se incluye para desactivar este comportamiento. Valor predeterminado: suministrar la información de Xinerama en TwinView. Opción "TVStandard" "cadena" Consulte el Apéndice H para obtener más información sobre la configuración de la salida de TV. Opción "TVOutFormat" "cadena" Consulte el Apéndice H para obtener más información sobre la configuración de la salida de TV. Opción "TVOverScan" "Valor decimal situado entre 0.0 y 1.0" Los valores admitidos se sitúan entre 0.0 y 1.0. Consulte el Apéndice H para obtener más información sobre la configuración de la salida a TV. Opción "Stereo" "entero" Activa la visualización de imágenes estereoscópicas a través de un cuatro búfers en los procesadores Quadro. El entero indica el tipo de gafas de visión estereoscópica utilizado: Valor Equipo ----------------------------- ----------------------------- 1 Gafas DDC. La señal de sincronización se envía a las gafas a través de la señal DDC transmitida al monitor. Normalmente implican la conexión de un cable entre el monitor y la tarjeta de vídeo. 2 Gafas "Blueline". Suelen implicar la conexión de un cable entre el monitor y la tarjeta de vídeo. Las gafas saben a qué ojo deben enviar la imagen basándose en la longitud de una línea azul visible en la parte inferior de la pantalla. Cuando se activa esta opción, las dimensiones de la ventana raíz son un píxel más cortas en el eje Y de lo requerido. Este modo no funciona con ventanas raíz más grandes que la ventana raíz visible (desktop panning). 3 Soporte de gafas estereoscópicas en la placa. Normalmente esta función sólo se encuentra en tarjetas de uso profesional. Las gafas se conectan a través de un puerto DIN a la parte posterior de la tarjeta de vídeo. 4 Imagen estereoscópica en modo clonación de TwinView (también conocida como visión pasiva). En las tarjetas de vídeo que incluyen la función winView, el ojo izquierdo recibe la primera imagen y el derecho la segunda. Esto se utiliza normalmente en combinación con unos proyectores especiales para generar 2 imágenes polarizadas que se ven con gafas polarizadas. Para utilizar este modo, es preciso configurar TwinView en modo clonación con la misma resolución, el mismo desplazamiento panorámico y similares dominios de panoramización en cada monitor. El modo estereoscópico sólo está disponible en las tarjetas Quadro. Las opciones de Stereo 1, 2 y 3 (también conocidas como visión "activa") pueden utilizarse con TwinView si todos los modos dentro de cada MetaMode tienen idénticos valores de tiempo. Consulte el Apéndice J para conocer la forma de comprobar si los modos incluidos en los MetaMode son idénticos. Este requisito no es necesario para la opción 4 de Stereo (visión "pasiva"). El funcionamiento de la visión estereoscópica puede resultar algo "tosco" en el procesador Quadro (NV10) original y el cambio de izquierda a derecha puede ser errático. Estamos tratando de resolver el problema en futuras versiones. Valor predeterminado: visión estereoscópica desactivada. UBB debe estar activada cuando se activa la visión estereoscópica (es el valor predeterminado). Las opciones 1, 2 y 3 (visión "activa") de visión estereoscópica no pueden utilizarse con pantallas planas digitales. Opción "AllowDFPStereo" "booleano" El controlador de NVIDIA X realiza automáticamente una comprobación que desactiva la visión estéreo activa (opciones 1, 2 y 3) si la pantalla de X está controlando una pantalla plana digital (DFP). La opción "AllowDFPStereo" desactiva esta comprobación. Opción "NoBandWidthTest" "booleano" Como parte del modo de validación, el controlador X comprueba si un determinado modo se ajusta a las restricciones de ancho de banda de la memoria del hardware. Esta opción desactiva esta prueba. Valor predeterminado: realizar la prueba de ancho de banda. Opción "IgnoreDisplayDevices" "cadena" Esta opción indica al módulo kernel de NVIDIA que no tenga en cuenta las clases de dispositivos de visualización indicadas cuando compruebe qué dispositivos están conectados. Puede especificar una lista que contenga cualquiera de los dispositivos, "CRT", "DFP" y "TV", separados por comas. Por ejemplo: La opción "IgnoreDisplayDevices" "DFP, TV" impedirá que el controlador NVIDIA trate de detectar si hay pantallas planas o televisores conectados. Normalmente esta opción no es necesaria, pero algunas BIOS del sistema de vídeo contienen información incorrecta sobre los dispositivos de visualización que pueden conectarse o el puerto i2c que debería utilizarse para la detección. Estos errores pueden provocar retrasos en el arranque de X. Si experimenta tales retrasos, puede evitarlos indicando al controlador NVIDIA que no tenga en cuenta los dispositivos que usted sabe que no están conectados. NOTA: el controlador considera cualquier dispositivo enchufado a un conector VGA de 15 patillas como un monitor CRT (tubo de rayos catódicos). "DFP" sólo debe utilizarse para hacer referencia a pantallas planas conectadas mediante un puerto DVI. Opción "MultisampleCompatibility" "booleano" Activa o desactiva el uso de un búfer frontal y otro posterior para operaciones de multimuestreo. Esto consume más memoria, pero es indispensable para corregir la salida cuando se renderiza en ambos búfers al realizar antialiasing en pantalla completa (FSAA). Es un opción necesaria para el correcto funcionamiento de SoftImage XSI. Valor predeterminado: un solo búfer de muestras compartido por los búfers frontal y posterior. Opción "NoPowerConnectorCheck" "booleano" El controlador X de NVIDIA interrumpirá la inicialización de X server si detecta que una GPU que necesita alimentación externa no tiene ningún conector introducido. Esta opción puede utilizarse para sortear esta prueba. Valor predeterminado: realizar la prueba de la conexión de alimentación. Opción "XvmcUsesTextures" "booleano" Obliga a XvMC a usar el motor 3D para las peticiones XvMCPutSurface en lugar de la superposición (overlay) de vídeo. Valor predeterminado: utilizar la superposición de vídeo si está disponible. Opción "AllowGLXWithComposite" "booleano" Habilita el uso de GLX incluso cuando está cargada la extensión Composite de X. SI SE ACTIVA, ES BAJO LA RESPONSABILIDAD DEL USUARIO. En muchas circunstancias, las aplicaciones OpenGL no se verán correctamente si esta opción está activada. Valor predeterminado: GLX está desactivada si está cargada la extensión Composite. Opción "Coolbits" "entero" Permite manipular con la extensión NV-CONTROL de X los ajustes del reloj de la GPU. Cuando se ajusta en "1", la utilidad nvidia-settings contendrá una página denominada "Clock Frequencies" en la que pueden manipularse los ajustes del reloj. ADVERTENCIA: Esta acción puede dañar el sistema e invalidar la garantía. La utilidad puede hacer que el sistema incumpla las especificaciones de diseño del fabricante, incluidas, pero no sólo, tensiones más altas, temperaturas superiores a las normales, frecuencias excesivas y cambios en la BIOS que pueden dañarla. El sistema operativo puede bloquearse y provocar pérdidas de datos o perjudicar las imágenes. Dependiendo del fabricante del sistema informático, las garantías del software y del hardware pueden quedar invalidadas y ya no recibirá asistencia del fabricante. NVIDIA tampoco presta asistencia técnica a clientes para la opción Coolbits. Por estas razones, no se otorga expresa ni implícitamente ninguna clase de garantía. Antes de activar y utilizar esta opción, deberá decidir si la utilidad es apropiada para el uso que pretenda darle y asumir toda la responsabilidad que se desprenda de ello. Opción "LoadKernelModule" "booleano" De forma predeterminada, el modulo del controlador NVIDIA Solaris X intentará cargar el módulo kernel de NVIDIA para Solaris. Ajuste esta opción en "off" para que el controlador X de NVIDIA no cargue automáticamente el módulo kernel de NVIDIA. __________________________________________________________________________ Apéndice E. Configuración de la variable de entorno OpenGL __________________________________________________________________________ ANTIALIASING EN PANTALLA COMPLETA (FSAA) El antialiasing o antidistorsión es una técnica utilizada para suavizar los bordes de los objetos que aparecen en una escena y reducir el efecto "dentado" que se observa en ocasiones. La función de antialiasing se incluye en todo el hardware de NVIDIA a partir de GeForce. Si se establece la variable de entorno adecuada, se podrá activar la función de antialiasing en cualquier aplicación OpenGL en estas GPU. Hay disponibles varios métodos de antidistorsión y se pueden seleccionar definiendo adecuadamente la variable de entorno __GL_FSAA_MODE. Tenga en cuenta que el hecho de aumentar el número de muestras tomadas cuando la función de antidistorsión en pantalla completa está activada puede disminuir el rendimiento. En las tablas siguientes se describen los valores disponibles para __GL_FSAA_MODE y su efecto en las distintas GPU NVIDIA. __GL_FSAA_MODE GeForce, GeForce2, Quadro y Quadro2 Pro ------------------------------- ------------------------------- 0 FSAA desactivado 1 FSAA desactivado 2 FSAA desactivado 3 Supermuestreo 1,5 x 1,5 4 Supermuestreo 2 x 2 5 FSAA desactivado 6 FSAA desactivado 7 FSAA desactivado __GL_FSAA_MODE GeForce4 MX, GeForce4 4xx Go, Quadro4 380,550,580 XGL y Quadro4 NVS ------------------------------- ------------------------------- 0 FSAA desactivado 1 Multimuestreo bilineal 2x 2 Multimuestreo Quincunx 2x 3 FSAA desactivado 4 Supermuestreo 2 x 2 5 FSAA desactivado 6 FSAA desactivado 7 FSAA desactivado __GL_FSAA_MODE GeForce3, Quadro DCC, GeForce4 Ti, GeForce4 4200 Go y Quadro4 700,750,780,900,980 XGL ------------------------------- ------------------------------- 0 FSAA desactivado 1 Multimuestreo bilineal 2x 2 Multimuestreo Quincunx 2x 3 FSAA desactivado 4 Multimuestreo bilineal 4x 5 Multimuestreo gaussiano 4x 6 Multimuestreo bilineal 2x por supermuestreo 4x 7 FSAA desactivado __GL_FSAA_MODE GeForce FX, Quadro FX ------------------------------- ------------------------------- 0 FSAA desactivado 1 Multimuestreo bilineal 2x 2 Multimuestreo Quincunx 2x 3 FSAA desactivado 4 Multimuestreo bilineal 4x 5 Multimuestreo gaussiano 4x 6 Multimuestreo bilineal 2x por supermuestreo 4x 7 Multimuestreo bilineal 4x por supermuestreo 4x 8 Multimuestreo bilineal 4x por supermuestreo 2x (disponible en GeForce FX y GPU posteriores; no disponible en los procesadores Quadro). FILTRADO ANISOTRÓPICO DE TEXTURAS El filtrado anisótropo de texturas automático puede activarse configurando la variable de entorno __GL_DEFAULT_LOG_MAX_ANISO. Los valores disponibles son: __GL_LOG_MAX_ANISO Tipo de filtrado ------------------------------- ------------------------------- 0 Sin filtrado anisótropo 1 Filtrado anisótropo 2x 2 Filtrado anisótropo 4x 3 Filtrado anisótropo 8x 4 Filtrado anisótropo 16x El valor 4x y superiores sólo están disponibles a partir de los modelos GeForce3. El valor 16x sólo está disponible en los modelos GeForce 6800 y superiores. SINCRONIZACIÓN DEL BLANQUEO VERTICAL (VBLANK) Al establecer la variable de entorno __GL_SYNC_TO_VBLANK en un valor distinto de cero, glXSwapBuffers se sincroniza a la velocidad de actualización vertical de su monitor (se realiza un cambio únicamente durante el periodo de blanqueo vertical). Si se utiliza __GL_SYNC_TO_VBLANK con TwinView, OpenGL sólo puede sincronizarse con una de las pantallas, lo cual puede provocar defectos de visualización en la pantalla no sincronizada. Mediante la variable de entorno __GL_SYNC_DISPLAY_DEVICE es posible especificar el dispositivo de visualización con el que debe sincronizarse OpenGL. Para hacerlo, es preciso configurar la variable con el nombre del dispositivo, por ejemplo, "CRT-1". Busque la línea "Connected display device(s):" en el archivo de registro de X para conocer la lista de dispositivos de visualización existentes y sus nombres. DESACTIVACIÓN DE FUNCIONES ESPECÍFICAS DE LA CPU Si la variable de entorno __GL_FORCE_GENERIC_CPU se configura con un valor distinto de cero, se inhibirá el uso de funciones específicas de la CPU como MMX, SSE o 3DNOW!. El uso de esta opción puede provocar una disminución del rendimiento, aunque puede ser útil en combinación con determinado software como el depurador de memoria Valgrind. __________________________________________________________________________ Apéndice F. Configuración de AGP __________________________________________________________________________ Es posible desactivar el módulo AGP de NVIDIA (NVAGP)mediante la opción "NvAGP" del archivo de configuración de X. Es la misma opción que se usa en Linux. Su efecto en Solaris es el siguiente: La opción "NvAgp" "0" ... deshabilita el soporte AGP La opción "NvAgp" "1" ... utiliza NVAGP, si es posible La opción "NvAgp" "2" ... deshabilita el soporte AGP La opción "NvAGP" "3" ... utiliza NVAGP, si es posible El valor predeterminado es 3 (anteriormente era 1, hasta que apareció la versión 1.0-1251). Si tiene problemas de estabilidad, es conveniente que desactive el puerto AGP y compruebe si de este modo se resuelven los problemas. Los controladores AGP de NVIDIA son compatibles con los chipsets AGP que se indican a continuación; para todos los demás chipsets, se recomienda utilizar el módulo AGPGART. Chipsets AGP soportados ------------------------------------------------- Intel 440LX Intel 440BX Intel 440GX Intel 815 ("Solano") Intel 820 ("Camino") Intel 830 Intel 840 ("Carmel") Intel 845 ("Brookdale") Intel 845G Intel 850 ("Tehama") Intel 855 ("Odem") Intel 860 ("Colusa") Intel 865G ("Springdale") Intel 875P ("Canterwood") Intel E7205 ("Granite Bay") Intel E7505 ("Placer") AMD 751 ("Irongate") AMD 761 ("IGD4") AMD 762 ("IGD4 MP") AMD 8151 ("Lokar") VIA 8371 VIA 82C694X VIA KT133 VIA KT266 VIA KT400 VIA P4M266 VIA P4M266A VIA P4X400 VIA K8T800 RCC CNB20LE RCC 6585HE Micron SAMDDR ("Samurai") Micron SCIDDR ("Scimitar") NVIDIA nForce NVIDIA nForce2 NVIDIA nForce3 ALi 1621 ALi 1631 ALi 1647 ALi 1651 ALi 1671 SiS 630 SiS 633 SiS 635 SiS 645 SiS 646 SiS 648 SiS 648FX SiS 650 SiS 655FX SiS 730 SiS 733 SiS 735 SiS 745 SiS 755 ATI RS200M Si AGP presenta problemas de estabilidad, debe tener en cuenta lo siguiente: Más información sobre AGP Configuración de la fuerza de la señal de control de AGP en la BIOS (placas base con chips Via) Muchas placas base con chips Via permiten ajustar la fuerza de la señal de control de AGP en la BIOS del sistema. La configuración de esta opción afecta considerablemente a la estabilidad del sistema y los valores hexadecimales situados entre 0xEA y 0xEE son los que parecen funcionar mejor con el hardware de NVIDIA. La configuración de cualquiera de las dos mitades del byte como 0xF suele generar serios problemas de estabilidad. Si decide realizar cambios en esta opción, recuerde que los hace bajo su propia responsabilidad y que, si los valores son inadecuados, es posible que el sistema no pueda arrancar hasta que vuelva a definir un valor aceptable (con una tarjeta gráfica PCI o restableciendo los valores predeterminados de la BIOS). Versión de la BIOS del sistema Cerciórese de tener la última versión de la BIOS del sistema suministrada por el fabricante de la placa. En los chipsets ALi1541 y ALi1647, los controladores de NVIDIA deshabilitan el puerto AGP para solucionar los problemas de temporización y los de integridad de la señal. Se puede establecer el modo AGP en estos chipsets configurando la variable NVreg_EnableALiAGP con el valor 1. Tenga en cuenta que esto puede hacer que el sistema se vuelva inestable. Versiones antiguas de SBIOS de la placa base A7V8X-X KT400 de ASUS configuran el chipset de forma incorrecta cuando se instala una tarjeta gráfica AGP 2.x. Si X se bloquea en el sistema ASUS KT400 cuando está activado el controlador NvAGP en una tarjeta gráfica que no es AGP 8x, compruebe si tiene la última versión de SBIOS instalada. __________________________________________________________________________ Apéndice G. Configuración de Twinview __________________________________________________________________________ Únicamente admiten la función TwinView las GPU de NVIDIA con soporte para la función de doble monitor, como por ejemplo GeForce2 MX, GeForce2 Go, Quadro2 MXR, Quadro2 Go y cualquiera de las GPU GeForce4, Quadro4, GeForce FX o Quadro FX. Consulte a su fabricante de tarjetas de vídeo si su tarjeta admite la función TwinView. TwinView es un modo de funcionamiento en el que dos dispositivos de visualización (pantallas digitales planas, monitores CRT y televisiones) pueden visualizar el contenido de una única pantalla X en cualquier configuración arbitraria. Este método, que permite utilizar varios monitores a la vez, ofrece una serie de ventajas con respecto a otras técnicas (tales como Xinerama): Se utiliza una única pantalla X. El controlador oculta a X server toda la información relativa al uso de varios dispositivos de visualización; para X, sólo se está utilizando un monitor. Ambos dispositivos comparten el mismo búfer de fotogramas. De este modo, todas las funciones presentes en una única pantalla (por ejemplo, aceleración OpenGL) están disponibles en TwinView. No se necesita ningún dato de control adicional para emular un único escritorio. Si quiere utilizar cada monitor como una pantalla X independiente, consulte el Apéndice O. OPCIONES DE TWINVIEW EN EL ARCHIVO DE CONFIGURACIÓN DE X Para activar TwinView es necesario especificar las siguientes opciones en la sección "Device" del archivo de configuración de X: Option "TwinView" Option "MetaModes" "" También es preciso especificar: Option "SecondMonitorHorizSync" "" Option "SecondMonitorVertRefresh" "" o bien: Option "HorizSync" "" Option "VertRefresh" "" También se pueden utilizar las siguientes opciones, aunque no son necesarias: Option "TwinViewOrientation" "" Option "ConnectedMonitor" "" A continuación, le ofrecemos una descripción detallada de cada opción: Descripción detallada de las opciones TwinView Esta opción es necesaria para activar TwinView; sin ella, no se pueden activar las demás opciones relacionadas con TwinView. SecondMonitorHorizSync SecondMonitorVertRefresh Con estas opciones se pueden especificar las restricciones del segundo monitor. Los valores dados deberían ajustarse a las mismas convenciones que las entradas "HorizSync" y "VertRefresh" de la sección "Monitor". Tal y como figura en el manual de ayuda en línea de XF86Config: los rangos pueden consistir en una lista en la que figuran los distintos valores y/o rangos de valores separados por comas, en la que cada rango viene dado por dos valores diferentes separados por un guión. La opción HorizSync está expresada en kHz, y la opción VertRefresh viene expresada en Hz. Si confía en los datos EDID de su dispositivo de visualización puede utilizar la opción "UseEdidFreqs" en lugar de estas opciones (en el Apéndice D encontrará una descripción de la opción "UseEdidFreqs"). HorizSync VertRefresh A veces no está claro qué dispositivo de visualización es el "primero" y cuál es el "segundo". Por este motivo, se facilita el uso de estas opciones en lugar de la versión de SecondMonitor. Con ellas, es posible especificar una lista de rangos de frecuencias separados por punto y coma y precedidos (cada uno de ellos) de un nombre de dispositivo de visualización. Por ejemplo: Option "HorizSync" "CRT-0: 50-110; DFP-0: 40-70" Option "VertRefresh" "CRT-0: 60-120; DFP-0: 60" Consulte el Apéndice P sobre nombres de dispositivos de visualización para obtener más información. MetaModes Un único MetaMode indica el modo que se debería utilizar en cada dispositivo de visualización en un momento dado. Varios MetaModes indican las combinaciones de modos y la secuencia en que se deberían utilizar. Cuando el controlador de NVIDIA indica a X los modos disponibles, en realidad lo único que se está comunicando a X es el cuadro delimitador mínimo del Metamode, mientras que el modo "per display device" (por dispositivo de visualización) se mantiene de forma interna en el controlador de NVIDIA. En la sintaxis MetaMode, los modos están separados por comas, y los MetaModes múltiples aparecen separados por punto y coma. Por ejemplo: ", ; , " Donde es el nombre del modo que se debe utilizar en el dispositivo de pantalla 0 simultáneamente con que es el modo utilizado en el dispositivo de pantalla 1. Un cambio de modo hará que pase a utilizarse en el dispositivo de pantalla 0 y que se utilice en el dispositivo de pantalla 1. He aquí una entrada real de MetaMode del archivo de configuración de X de ejemplo: Option "MetaModes" "1280x1024,1280x1024; 1024x768,1024x768" Si quiere que un determinado MetaMode no esté activado en uno de los dispositivos de visualización, puede utilizar el modo "NULL", o simplemente omitir por completo el nombre del modo: "1600x1200, NULL; NULL, 1024x768" o "1600x1200; , 1024x768" Opcionalmente, los nombres de los modos pueden ir seguidos de información sobre el desplazamiento para controlar la posición de los dispositivos de visualización dentro del espacio de pantalla virtual; por ejemplo: "1600x1200 +0+0, 1024x768 +1600+0; ..." Las descripciones sobre desplazamiento siguen las pautas utilizadas en la opción de la línea de comando "-geometry" de X; por ejemplo, tanto los desplazamientos negativos como los positivos son válidos, aunque los desplazamientos negativos sólo están permitidos cuando el archivo de configuración de X indica explícitamente un tamaño de pantalla virtual. Cuando no se indica ningún desplazamiento para un determinado MetaMode, se calculan los desplazamientos siguiendo el valor de la opción TwinViewOrientation (véase más abajo). Tenga en cuenta que si se determinan desplazamientos para cualquiera de los modos de un MetaMode, estos desplazamientos serán válidos para todos los modos de dicho MetaMode; en tal caso, se asumirá que el valor de los desplazamientos es +0+0 cuando no se han especificado. Asimismo, el tamaño de la pantalla virtual se calculará a partir del cuadro delimitador de todos los cuadros delimitadores del MetaMode. Se descartarán los MetaModes que tengan un cuadro delimitador mayor que el tamaño de pantalla virtual especificado. Una cadena MetaMode se puede modificar con una especificación de "Panning Domain"; por ejemplo: "1024x768 @1600x1200, 800x600 @1600x1200" Un panning domain (dominio de panoramización) es el área del dispositivo de visualización que se panoramiza para seguir al ratón. Con TwinView, la panoramización tiene lugar en dos niveles: en primer lugar, el área de visualización de uno de los dispositivos de pantalla se incrementará hasta alcanzar su dominio de panoramización, siempre que dicha área quede dentro del cuadro delimitador del MetaMode. Cuando el ratón salga del cuadro delimitador del MetaMode, el MetaMode completo (es decir, todos los dispositivos de visualización) se incrementarán para seguir al ratón dentro de la pantalla virtual. Tenga en cuenta que, de forma predeterminada, los dominios de panoramización de cada dispositivo de visualización se sitúan en la posición del área de visualización de los dispositivos de visualización; de este modo, las áreas de visualización quedan "bloqueadas" de forma predeterminada y sólo realizan el segundo tipo de panoramización. La principal ventaja de los dominios de panoramización es que eliminan las zonas muertas: partes de la pantalla virtual que son inaccesibles debido a que los dispositivos de visualización tienen resoluciones diferentes. Por ejemplo: "1600x1200, 1024x768" genera una zona inaccesible por debajo de 1024x768. Sin embargo, si se especifica un dominio de panoramización para el segundo dispositivo de pantalla: "1600x1200, 1024x768 @1024x1200" se obtiene acceso a esa zona muerta, lo que le permite ampliar la perspectiva de la vista de 1024x768 por encima y por debajo dentro del dominio de panoramización de 1024x1200. Los desplazamientos se pueden utilizar junto con los dominios de panoramización para posicionar estos dominios en el área de pantalla virtual (hay que tener en cuenta que el desplazamiento describe el dominio de panoramización y que sólo afecta al área de visualización comprendida en el rango de visualización). El siguiente ejemplo describe dos modos, cada uno de ellos con un ancho de panoramización de 1900 píxeles; además, la segunda pantalla está situada por debajo de la primera: "1600x1200 @1900x1200 +0+0, 1024x768 @1900x768 +0+1200" Dado que muchas veces no está claro qué modo de MetaMode se utilizará en cada dispositivo de visualización, es posible anteponer las descripciones del modo dentro de cada MetaMode indicando el nombre de dispositivo de visualización. Por ejemplo: "CRT-0: 1600x1200, DFP-0: 1024x768" Si no se especifica ninguna cadena MetaMode, el controlador X utiliza los modos listados en la subsección "Display" correspondiente, para que los modos de cada pantalla coincidan. TwinViewOrientation Esta opción controla la posición del segundo dispositivo de visualización en relación con el primero dentro de la pantalla X virtual, cuando los desplazamientos no aparecen explícitamente indicados en los MetaModes. Los posibles valores son: "RightOf" (a la derecha) (valor predeterminado) "LeftOf" (a la izquierda) "Above" (arriba) "Below" (abajo) "Clone" (clónico) Si se elige la opción "Clone", se asignará a cada dispositivo el valor de desplazamiento 0,0. Dado que muchas veces no está claro qué dispositivo es el "primero" y cuál es el "segundo", la opción TwinViewOrientation puede resultar confusa. Es posible aclarar el valor de TwinViewOrientation utilizando nombres de dispositivos de visualización para indicar qué dispositivo está ubicado con determinada posición con respecto a otro dispositivo. Por ejemplo: "CRT-0 LeftOf DFP-0" ConnectedMonitor Con esta opción es posible modificar qué elementos detecta el módulo kernel de NVIDIA como conectados a la tarjeta de vídeo. Esto puede resultar útil, por ejemplo, si alguno de los dispositivos de visualización no admite la detección mediante los protocolos DDC (Canal de Visualización de Datos). Los valores admitidos son una lista de dispositivos de visualización separados por coma. Por ejemplo: "CRT-0, CRT-1" "CRT" "CRT-1, DFP-0" ADVERTENCIA: Esta opción determina los dispositivos que detecta el módulo kernel de NVIDIA y se necesita raras veces. Realmente sólo es útil si no se detecta un determinado dispositivo de visualización porque no proporciona información DDC o porque está al otro lado de un conmutador de KVM (Teclado-Vídeo-Ratón). En la mayoría de los casos es mejor no especificarla. Al igual que en todas las entradas del archivo de configuración de X, no se tienen en cuenta los espacios y no se hace distinción entre mayúsculas y minúsculas. PREGUNTAS MÁS FRECUENTES (FAQ) ACERCA DE TWINVIEW: P. No se visualiza nada en el segundo monitor; ¿cuál puede ser el problema? R. Los monitores que no admiten la detección de monitor mediante los protocolos DDC (la mayoría de los monitores antiguos no la admiten) no pueden ser detectados por la tarjeta NVIDIA. Por lo tanto, es necesario indicar explícitamente al controlador X de NVIDIA los elementos que se han conectado, utilizando la opción "ConnectedMonitor"; por ejemplo: Option "ConnectedMonitor" "CRT, CRT" P. ¿Podrá el administrador de ventanas situarlas del modo adecuado (por ejemplo, evitando que las ventanas queden situadas entre ambos dispositivos de visualización o en zonas inaccesibles del escritorio virtual)? R. Sí. El controlador X de NVIDIA proporciona una extensión Xinerama que los clientes X (como son los administradores de ventanas) pueden usar para averiguar la configuración actual de TwinView. Tenga en cuenta que el protocolo Xinerama no proporciona ningún modo de comunicar a los clientes cuándo tiene lugar un cambio de configuración. Por lo tanto si cambia a un MetaMode diferente, el administrador de ventanas seguirá creyendo que tiene la configuración previa. Sin embargo, al utilizar la extensión Xinerama, junto con la extensión XF86VidMode para obtener los eventos de cambio de modo, los administradores de ventanas podrán determinar la configuración de TwinView en cualquier momento. Lamentablemente, los datos suministrados por XineramaQueryScreens() parecen confundir a algunos administradores de ventanas. Para resolver el problema, puede desactivar la comunicación de la distribución de pantalla de TwinView con la opción "NoTwinViewXineramaInfo" del archivo de configuración de X (consulte el Apéndice D para ampliar la información). Tenga presente que el controlador NVIDIA no proporciona la extensión Xinerama si se está utilizando la propia extensión Xinerama de X server. La especificación expresa de Xinerama en el archivo de configuración de X o en la línea de comandos de X server impedirá que se instale la extensión Xinerama de NVIDIA, por tanto, asegúrese de que el archivo de registro de X server no contenga: (++) Xinerama: enabled si quiere que el controlador NVIDIA proporcione la extensión Xinerama mientras utiliza la función TwinView. Otra solución es utilizar dominios de panoramización para eliminar las zonas inaccesibles de la pantalla virtual (consulte la descripción de MetaMode ofrecida anteriormente). Una tercera solución es utilizar dos pantallas X independientes en lugar de TwinView. Consulte el Apéndice O. P. ¿Por qué no puedo disponer de una resolución de 1600x1200 en el segundo dispositivo de visualización cuando utilizo una GeForce2 MX? R. Porque, en GeForce2 MX, el segundo dispositivo de visualización ha sido diseñado para ser una pantalla plana digital y, por lo tanto, el reloj de píxel del segundo dispositivo es sólo de 150 MHz. Esto limita la resolución del segundo dispositivo de pantalla a cerca de 1280x1024 (si desea más información sobre cómo limitan las frecuencias del reloj de píxel los modos programables, consulte XFree86 Video Timings HOWTO). Esta limitación no está presente en los procesadores GeForce4 y GeForce FX, donde la frecuencia de reloj para el procesamiento de píxeles es igual en ambos monitores. P. ¿Funciona la característica de superposición de vídeo en los dos dispositivos de pantalla? R. La superposición de vídeo por hardware sólo funciona en el primer dispositivo de visualización. La solución consiste en utilizar la opción blitted video en lugar de TwinView. P. ¿Cómo se determinan las dimensiones de la pantalla virtual en TwinView? R. Después de validar los modos solicitados, y de calcular los valores de desplazamiento para cada área de visualización de los MetaMode, el controlador de NVIDIA calcula el cuadro delimitador del dominio de panoramización para cada MetaMode. A continuación se calcula el alto y el ancho del cuadro delimitador. Como resultado, es posible que la anchura virtual y la altura virtual procedan de MetaModes diferentes. Por ejemplo, en la siguiente cadena MetaMode: "1600x1200,NULL; 1024x768+0+0, 1024x768+0+768" el tamaño de la pantalla virtual resultante será de 1600 x 1536. P. ¿Se pueden ejecutar juegos en pantalla completa en ambos dispositivos de visualización? R. Sí. Aunque la configuración puede variar de un juego a otro, la idea básica es que MetaMode presente X en un modo cuya resolución sea el cuadro delimitador del área de visualización correspondiente a dicho MetaMode. Los siguientes ejemplos: Option "MetaModes" "1024x768,1024x768; 800x600,800x600" Option "TwinViewOrientation" "RightOf" producen dos modos: uno cuya resolución es 2048x768, y otro cuya resolución es 1600x600. Determinados juegos como Quake 3 Arena utilizan la extensión VidMode para descubrir las resoluciones de los modos disponibles. Para configurar Quake 3 Arena para que utilice la cadena MetaMode anterior, añada lo siguiente al archivo q3config.cfg: seta r_customaspect "1" seta r_customheight "600" seta r_customwidth "1600" seta r_fullscreen "1" seta r_mode "-1" Tenga en cuenta que, dada la configuración anterior, no existe ningún modo con una resolución de 800x600 (recuerde que el MetaMode "800x600, 800x600" tiene una resolución de 1600x600"); de este modo, si cambia Quake 3 Arena para utilizar una resolución de 800x600, se visualizará en la esquina inferior izquierda de la pantalla, y el resto de la pantalla aparecerá en gris. Para poder disponer también del modo single head, la cadena MetaMode debería ser algo como: "800x600,800x600; 1024x768,NULL; 800x600,NULL; 640x480,NULL" Este documento no puede ofrecer información más precisa sobre la configuración de juegos concretos, pero los ejemplos anteriores, junto con los numerosos recursos en línea existentes deberían indicarle la dirección correcta. __________________________________________________________________________ Apéndice H. Configuración de la salida de TV __________________________________________________________________________ Las tarjetas de vídeo basadas en GPU de NVIDIA que cuentan con un conector de salida de TV (S-Video) se pueden emplear para utilizar un televisor como dispositivo de visualización, como si se tratara de un monitor CRT o una pantalla plana digital. El televisor se puede utilizar sólo o (con la tarjeta de vídeo adecuada) junto con otro dispositivo de visualización en una configuración TwinView. Si el único dispositivo de visualización conectado a la tarjeta de vídeo es un televisor, el sistema lo utilizará como monitor principal al iniciar el equipo (es decir la consola aparecerá en el televisor como si fuera un monitor CRT). Para utilizar el televisor con X, es necesario prestar especial atención a algunos parámetros del archivo de configuración de X: Los valores VertRefresh y HorizSync de la sección "Monitor"; asegúrese de que estos valores sean adecuados para su televisor. Por lo general, estos valores suelen ser: HorizSync 30-50 VertRefresh 60 Los modos de la sección "Screen"; los modos válidos para el codificador de TV se indican en un archivo de registro de X detallado (generado con `startx -- -logverbose 5`) cuando se ejecuta X con un televisor. Algunos modos pueden estar limitados a ciertos estándares de TV. Si es éste el caso, aparecerá indicado así en el archivo de registro de X. Generalmente se admiten como mínimo los modos 800x600 y 640x480. Es necesario añadir la opción "TVStandard" a la sección "Screen"; los valores válidos son los siguientes: __MODO GL_FSAA_ GeForce FX, Quadro FX ----------------------------- ----------------------------- "PAL-B" utilizado en Bélgica, Dinamarca, Finlandia, Alemania, Guinea, Hong Kong, India, Indonesia, Italia, Malasia, Países Bajos, Noruega, Portugal, Singapur, España, Suecia y Suiza "PAL-D" utilizado en China y Corea del Norte "PAL-G" utilizado en Dinamarca, Finlandia, Alemania, Italia, Malasia, Países Bajos, Noruega, Portugal, España, Suecia y Suiza "PAL-H" utilizado en Bélgica "PAL-I" utilizado en Hong Kong y el Reino Unido "PAL-K1" utilizado en Guinea "PAL-M" utilizado en Brasil "PAL-N" utilizado en Francia, Paraguay y Uruguay "PAL-NC" utilizado en Argentina "NTSC-J" utilizado en Japón "NTSC-M" utilizado en Canadá, Chile, Colombia, Costa Rica, Ecuador, Haití, Honduras, México, Panamá, Puerto Rico, Corea del Sur, Taiwán, Estados Unidos de América y Venezuela "HD480i" Entrelazado, 480 líneas "HD480p" Progresiva, 480 líneas "HD720p" Progresiva, 720 líneas "HD1080i" Entrelazado, 1080 líneas "HD1080p" Progresiva, 1080 líneas "HD576i" Entrelazado, 576 líneas "HD576p" Progresiva, 576 líneas La línea del archivo de configuración de X debería ser parecida a la siguiente: Option "TVStandard" "NTSC-M" Si no se especifica un estándar de televisión o se especifica un valor inválido, se utilizará como estándar predeterminado "NTSC-M". Nota: si su país no aparece en la lista anterior, seleccione el país más cercano al suyo. La opción "ConnectedMonitor" se puede utilizar para indicar a X que utilice el televisor como pantalla. Esto sólo será necesario si su tarjeta de vídeo no detecta el televisor o si utiliza un monitor CRT (o una pantalla plana digital) como monitor principal, pero quiere redirigir a X para utilizar el televisor. La línea del archivo de configuración debería ser: Option "ConnectedMonitor" "TV" La opción "TVOutFormat" se puede utilizar para forzar la salida SVIDEO o COMPOSITE. Sin esta opción, el controlador detecta de forma automática el formato de salida. Desafortunadamente, esta operación no siempre se realiza correctamente. El formato de salida se puede forzar con las siguientes opciones: Option "TVOutFormat" "SVIDEO" o Option "TVOutFormat" "COMPOSITE" La opción "TVOverScan" se utiliza para activar la corrección de la imagen para salida a TV (Overscan) allí donde sea posible usar esta función. Los valores admitidos pueden estar entre 1.0 (efectúa la máxima corrección: hace la imagen tan grande como sea posible) y 0.0 (desactiva la corrección: hace la imagen tan pequeña como sea posible). Esta función está desactivada (0.0) de forma predeterminada. Actualmente la opción Overscan sólo está disponible en todas las GPU a partir de GeForce4 con codificadores de TV NVIDIA o Conexant. Si la consola es un televisor, es posible que el controlador X de NVIDIA no la restaure correctamente con versiones de XFree86 anteriores a la 4.3. Esto es debido a incompatibilidades binarias entre los módulos int10. Si se utiliza un televisor como consola, recomendamos actualizar a XFree86 4.3 o posterior. __________________________________________________________________________ Apéndice I. Configuración de un portátil __________________________________________________________________________ INSTALACIÓN Y CONFIGURACIÓN La instalación y configuración del juego de controladores NVIDIA para Solaris en un portátil es la misma que para cualquier equipo fijo, salvo por algunas pequeñas diferencias que se indican a continuación. A partir de la versión 1.0-2802, la información sobre la pantalla del portátil que se utiliza al inicializar la visualización se genera a partir de los datos almacenados en la BIOS del sistema de vídeo. Esto se puede desactivar configurando la opción "SoftEDIDs" del kernel con el valor 0. Si "SoftEDIDs" se desactiva, los datos se obtendrán de una tabla codificada en el sistema y se basarán en el valor de la opción "Mobile" del kernel. La opción "Mobile" puede configurarse con cualquiera de los valores siguientes: Valor Significado ------------------------------- ------------------------------- 0xFFFFFFFF deja que el módulo kernel detecte automáticamente el valor 1 portátiles Dell 2 portátiles Toshiba no fabricados por Compal 3 otros portátiles 4 portátiles Toshiba fabricados por Compal 5 portátiles Gateway De nuevo, la opción "Mobile" sólo es necesaria si la opción SoftEDIDs está desactivada. Cuando se utiliza, suele ser más seguro dejar que el módulo kernel detecte automáticamente el valor adecuado (es la configuración predeterminada). Si necesita modificar alguna de estas opciones, puede hacerlo mediante uno de estos procedimientos: Modificando os-registry.c en el directorio usr/src/nv/ del archivo .run. Configurando el valor en la línea de comandos de modprobe (p. ej.: `modprobe nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=3`) Añadiendo una línea "options" al archivo de configuración del módulo, normalmente /etc/modules.conf (p. ej.: "options nvidia NVreg_Mobile=5") FUNCIONES ADICIONALES En esta sección se explican otras funciones relativas a la configuración de un portátil. TWIN VIEW Todos los procesadores NVIDIA para portátiles incorporan TwinView. La función TwinView se configura en un portátil de la misma forma que en un equipo de sobremesa (consulte el Apéndice G); tenga en cuenta que en una configuración de TwinView donde se utiliza la pantalla plana interna del portátil y un CRT externo, este último es el monitor principal (especifique HorizSync y VertRefresh en la sección de monitor del archivo de configuración de X) y la pantalla plana es el secundario (especifique HorizSync y VertRefresh a través de las opciones SecondMonitorHorizSync y SecondMonitorVertRefresh). También puede utilizar la opción UseEdidFreqs para obtener los valores HorizSync y VertRefresh del EDID de cada monitor y no preocuparse por definirlas en el archivo de configuración de X (sólo en caso de que confíe en los informes EDID generados sobre el monitor. Consulte la descripción de la opción UseEdidFreqs incluida en el Apéndice D para obtener más detalles). CAMBIO DE MONITORES CON TECLA RÁPIDA Además de la función TwinView, los portátiles con procesadores NVIDIA para portátiles admiten un evento de tecla rápida para cambio de monitores LCD/CRT, con lo que puede cambiar entre cada uno de los monitores conectados y cada posible combinación de los mismos (tenga en cuenta que sólo pueden estar activos 2 monitores al mismo tiempo). La función TwinView configurada en el archivo de configuración de X y la función de tecla rápida son mutuamente excluyentes, es decir, si activa TwinView en el archivo de configuración, el controlador X de NVIDIA no tendrá en cuenta los eventos de tecla rápida de LCD/CRT. Otro aspecto importante de la función de tecla rápida es que el usuario puede conectarse de forma dinámica y eliminar monitores a/desde el portátil y utilizar la tecla rápida sin necesidad de reiniciar X. Con todo esto, surge la duda sobre cómo validar y determinar los modos que se deben programar en cada dispositivo de visualización. En primer lugar, es bastante práctico utilizar la opción UseEdidFreqs para recuperar de los EDID del monitor los valores de sincronización horizontal y actualización vertical de cada uno de ellos; de lo contrario, la semántica del contenido de la sección del monitor varía constantemente con cada evento de tecla rápida. Cuando se inicia X, o cuando se detecta un cambio en la lista de monitores conectados, se crea una nueva lista de secuencias de tecla rápida que contiene los monitores que se utilizarán con cada evento de tecla rápida. Cuando se produce uno de estos eventos, se elige el siguiente estado de tecla rápida de la secuencia. Cada modo solicitado en el archivo de configuración de X se valida con cada requisito del monitor, y los modos resultantes son los disponibles para ese monitor. Si hay varios monitores activos a la vez, los modos de cada uno se cotejan; si no se puede encontrar un ajuste exacto (misma resolución), se localiza el ajuste más aproximado y el monitor con la resolución más pequeña se adapta a la resolución del otro monitor. Cuando se realiza una conexión VT fuera de X, la consola VGA siempre se restablecerá en el monitor en el que estaba cuando se inició X. De igual forma, cuando se devuelve la conexión VT a X, se utilizará la misma configuración del monitor que cuando se realizó la conexión fuera de X, independientemente de si la actividad de tecla rápida LCD/CRT ocurrió durante este último momento. PROBLEMAS COMUNES EN LOS PORTÁTILES Hay algunos problemas comunes relativos a los portátiles. El cambio LCD/CRT con tecla rápida actualmente no funciona en los portátiles Toshiba, con la excepción de los Toshiba Satellite Serie 3000. La función TwinView no está disponible actualmente en portátiles Toshiba de la serie Satellite 2800. La superposición de vídeo sólo funciona en el primer monitor en el que se ha iniciado X. Por ejemplo, si inicia X en la pantalla LCD interna, ejecuta una aplicación de vídeo que utiliza la superposición (emplea el adaptador "Video Overlay" anunciado a través de la extensión XV) y, a continuación, utiliza la tecla rápida para añadir un segundo monitor, el vídeo no aparecerá en este segundo monitor. Para solucionar esto, puede configurar la aplicación de vídeo para utilizar el adaptador "Video Blitter" anunciado a través de la extensión XV (siempre disponible) o cambiar con la tecla rápida al monitor en el que va a utilizar la superposición de vídeo *antes* de iniciar X. __________________________________________________________________________ Apéndice J. Modos de programación __________________________________________________________________________ El juego de controladores acelerados para Solaris de NVIDIA es compatible con todos los modos VGA y VESA estándar, así como con la mayoría de las líneas de modos personalizadas; los modos doble-scan son compatibles con todo el hardware. Los modos de entrelazado se admiten en todas las GPU GeForce FX/Quadro FX y las GPU más recientes, así como en ciertos modelos de GPU antiguas. Si la GPU admite los modos de entrelazado, el archivo de registro de X lo indicará con el mensaje "Interlaced video modes are supported on this GPU". En general, su dispositivo de visualización (monitor/pantalla plana/televisión) presentará más requisitos sobre los modos que puede utilizar que la tarjeta de vídeo con tecnología NVIDIA GPU o el juego de controladores de NVIDIA para Solaris. Para solicitar uno o varios modos estándar para utilizar en X, sencillamente puede añadir una línea de modos como: Modes "1600x1200" "1024x768" "640x480" en la subsección apropiada de pantalla del archivo de configuración de X (consulte el manual de ayuda en línea de XF86Config(5x) o xorg.conf (5x) para obtener más información). La siguiente documentación es interesante sobre todo si el usuario crea sus propias líneas de modos personalizadas o simplemente está interesado en aprender más. Tenga en cuenta que no se trata de una explicación ni una guía sobre el arte de elaborar líneas de modos personalizadas para X. Eso lo dejamos para documentos como XFree86 Video Timings HOWTO (que puede encontrar en http://www.tldp.org). PROFUNDIDAD, BITS POR PÍXEL Y PITCH Si bien no se trata de una cuestión grave cuando se programan modos, los bits empleados por píxel se convierten en un problema a la hora de considerar la máxima resolución programable; por esta razón, merece la pena aclarar la confusión existente en torno los términos "profundidad" y "bits por píxel". La profundidad se refiere a la cantidad de bits de datos almacenados por píxel. Las profundidades utilizadas son 8, 15, 16 y 24. Sin embargo, la mayor parte del hardware de vídeo almacena datos de píxel en tamaños de 8, 16 o 32 bits; esta es la cantidad de memoria asignada por píxel. Cuando se especifica una profundidad, X selecciona el tamaño de los bits por píxel (bpp) en el que se almacenan los datos. A continuación, se muestra una tabla de los bpp que se utilizan para cada profundidad: Profundidad BPP ------------------------------- ------------------------------- 8 8 15 16 16 16 24 32 Por último, el "pitch" se refiere a la cantidad de bytes del búfer de fotogramas lineales existente entre los datos de un píxel y los datos del píxel situado inmediatamente debajo. Se puede decir que equivale a la resolución horizontal multiplicada por los bytes por píxel (bits por píxel dividido entre 8). En la práctica, el pitch puede ser algo más que el producto de esta multiplicación debido a algunas restricciones de alineación. RESOLUCIONES MÁXIMAS El juego de controladores acelerados para Solaris de NVIDIA y las tarjetas de vídeo con tecnología NVIDIA GPU admiten resoluciones máximas de 2048x1536, aunque la resolución máxima que un sistema puede admitir está también limitada por la cantidad de memoria de vídeo (consulte el apartado FÓRMULAS PRÁCTICAS para obtener más detalles) y la resolución máxima admitida del dispositivo de visualización (monitor/pantalla plana/televisión). Además, tenga en cuenta que aunque el uso de la superposición de vídeo no limita la resolución máxima ni la velocidad de actualización, el ancho de banda de la memoria de vídeo empleado en un modo programado influye en la calidad de la superposición. FÓRMULAS PRÁCTICAS La resolución máxima es una función dependiente de la cantidad de memoria de vídeo y los bits por píxel que decida utilizar: HR * VR * (bpp/8) = memoria de vídeo utilizada Dicho de otro modo, la cantidad de memoria de vídeo utilizada es igual a la resolución horizontal (HR) multiplicada por la resolución vertical (VR) multiplicada por los bytes por píxel (bits por píxel dividido entre ocho). Desde el punto de vista técnico, la memoria de vídeo utilizada es en realidad el pitch multiplicado por la resolución vertical, y el pitch puede ser ligeramente mayor que (HR * (bpp/8)) para satisfacer el requisito del hardware de que el pitch sea múltiplo de algún valor. Tenga en cuenta que esto es sólo el uso de la memoria para el búfer de fotogramas; la memoria de vídeo se emplea también para otras cosas, como OpenGL o la memoria caché de pixmap. Otra relación importante es aquella entre la resolución, el reloj de píxel (también conocido como reloj de puntos) y la velocidad de actualización vertical: RR = PCLK / (HFL * VFL) Dicho de otro modo, la velocidad de actualización (RR) es igual al reloj de píxel (PCLK) dividido entre el número total de píxeles: la longitud de fotograma horizontal (HFL) multiplicada por la longitud de fotograma vertical (VFL). (Tenga en cuenta que se trata de las longitudes de fotograma, no sólo de las resoluciones visibles). Según se describe en XFree86 Video Timings HOWTO, la fórmula anterior es equivalente a esta otra: PCLK = RR * HFL * VFL Dado un reloj de píxel máximo, se puede ajustar RR, HFL y VFL según convenga, siempre que el resultado de los tres sea coherente. En el archivo de registro se genera un informe sobre el reloj de píxel cuando se ejecuta X en un lenguaje de registro elaborado: `startx -- -logverbose 5`. El archivo de registro de X debe contener varias líneas como: (--) NVIDIA(0): Display Device 0: maximum pixel clock at 8 bpp: 350 MHz (--) NVIDIA(0): Display Device 0: maximum pixel clock at 16 bpp: 350 MHz (--) NVIDIA(0): Display Device 0: maximum pixel clock at 32 bpp: 300 MHz lo que indica el reloj de píxel máximo en cada tamaño de bit por píxel. VALIDACIÓN DE MODOS Durante la fase PreInit de X server, el controlador X de NVIDIA valida todos los modos solicitados de la siguiente manera: Toma la intersección de los rangos de HorizSync y VertRefresh proporcionados por el usuario en el archivo de configuración de X con los rangos generados por el monitor en el EDID (datos extendidos de identificación de la pantalla); esta acción se puede desactivar mediante la opción "IgnoreEDID", en cuyo caso el controlador X aceptará sin más los rangos de HorizSync y VertRefresh introducidos por el usuario. Solicita la función del asistente xf86ValidateModes() para localizar modos con los nombres que el usuario ha especificado en el archivo de configuración de X, descartando modos con frecuencias de sincronización horizontal o velocidades de actualización vertical no válidas, relojes de píxel mayores que el reloj de píxel máximo para la tarjeta de vídeo o resoluciones superiores al tamaño de la pantalla virtual (si se ha especificado un tamaño de pantalla virtual en el archivo de configuración de X). Existen otras validaciones aplicables. Consulte 'xc/programs/Xserver/hw/xfree86/common/xf86Mode.c' : xf86ValidateModes(). Todos los modos devueltos de xf86ValidateModes() se examinan para asegurar que sus resoluciones no son superiores al modo de resolución mayor generado por el EDID del monitor (esto se puede desactivar con la opción "IgnoreEDID". Si se trata de una pantalla de televisión, se comprueba cada modo para verificar que tiene una resolución compatible con la codificación de TV (generalmente el codificador sólo admite resoluciones de 800x600 y 640x480). Todos los modos se comprueban para verificar que se ajustan a las limitaciones de ancho de banda de memoria del hardware. Esta prueba puede desactivarse con la opción NoBandWidthTest del archivo de configuración de X. Todos los modos restantes se revisan para garantizar que superan los requisitos descritos más adelante en REQUISITOS ADICIONALES DE MODOS. Los últimos tres pasos se realizan también cuando se programa cada modo para conocer los posibles modos no válidos enviados por XF86VidModeExtension (xvidtune(1)). Respecto de la función TwinView, la validación antes mencionada se realiza en los modos solicitados para cada monitor. REQUISITOS ADICIONALES DE MODOS A continuación, se muestra una lista de requisitos adicionales que deben cumplir ciertos parámetros de los modos. En algunos casos, son específicos de cada procesador. La resolución horizontal (HR) debe ser múltiplo de 8 e inferior o igual al valor especificado en la tabla siguiente. El ancho de blanqueo horizontal (el máximo de longitud de fotograma horizontal y el final de sincronización horizontal menos el mínimo de resolución horizontal y el inicio de sincronización horizontal (máx(HFL,HSE) - mín(HR,HSS)) debe ser múltiplo de 8 e inferior o igual al valor especificado en la tabla siguiente. El inicio de sincronización horizontal (HSS) debe ser múltiplo de 8 e inferior o igual al valor especificado en la tabla siguiente. El ancho de sincronización horizontal (el final de sincronización horizontal menos el inicio de sincronización horizontal (HSE - HSS)) debe ser múltiplo de 8 e inferior o igual al valor especificado en la tabla siguiente. La longitud de fotograma horizontal (HFL) debe ser múltiplo de 8, superior o igual a 40, e inferior o igual al valor especificado en la tabla siguiente. La longitud de fotograma horizontal (HFL) debe ser múltiplo de 8, superior o igual a 40 e inferior o igual al valor especificado en la tabla siguiente. La resolución vertical (VR) debe ser inferior o igual al valor especificado en la tabla siguiente. El ancho de blanqueo vertical (el máximo de longitud de fotograma vertical y el final de sincronización vertical menos el mínimo de resolución vertical y el inicio de sincronización vertical (máx(VFL,VSE) - mín(VR,VSS)) debe ser inferior o igual al valor especificado en la tabla siguiente. El inicio de sincronización vertical (VSS) debe ser inferior o igual al valor especificado en la tabla siguiente. El ancho de sincronización vertical (el final de sincronización vertical menos el inicio de sincronización vertical(VSE - VSS)) debe ser inferior o igual al valor especificado en la tabla siguiente. La longitud de fotograma vertical (VFL) debe ser superior o igual a 2, e inferior o igual al valor especificado en la tabla siguiente. He aquí un ejemplo de línea de modo donde se muestra el uso de cada abreviatura utilizada anteriormente: # Línea de modo personalizada para la pantalla plana SGI 1600SW # name PCLK HR HSS HSE HFL VR VSS VSE VFL FORMA DE COMPROBAR SI LOS TIEMPOS DE LOS MODOS SON IDÉNTICOS Algunas funciones como Active Stereo en TwinView necesitan controlar con exactitud qué tiempos utilizan los modos. Hay varias formas de conseguirlo: Si únicamente se quiere verificar que las dos pantallas utilizan los mismos modos, basta ver si ambas tienen los mismos valores en HorizSync y VertRefresh al realizar la validación de modos. Esto puede hacerse viendo primero si coinciden HorizSync y SecondMonitorHorizSync y, a continuación, si coinciden VertRefresh y SecondMonitorVertRefresh. Existe un modo más explícito que consiste en especificar la línea de modo (modeline) que se quiere utilizar (usando uno de los generadores de líneas de modo disponibles) y asignar un nombre exclusivo. Por ejemplo, si quisiera utilizar 1024 x 768 a 120 Hz en cada monitor con la función TwinView y visión estereoscópica activa, debería añadir algo como: # 1024x768 @ 120.00 Hz (GTF) hsync: 98.76 kHz; pclk: 139.05 MHz Modeline "1024x768_120" 139.05 1024 1104 1216 1408 768 769 772 823 - HSync +Vsync En la sección monitor del archivo de configuración X y luego en la sección Screen de ese mismo archivo, especifique un MetaMode como éste: Option "MetaModes" "1024x768_120, 1024x768_120" MÁS INFORMACIÓN Un generador de líneas de modos XFree86, que se ajusta a la norma GTF, está disponible en la siguiente dirección: http://gtf.sourceforge.net/. Para localizar otros generadores, realice una búsqueda por "modeline" en freshmeat.net __________________________________________________________________________ Apéndice K. Flipping y UBB __________________________________________________________________________ El juego de controladores acelerados para Solaris de NVIDIA incorpora las funciones UBB (Unified Back Buffer) y OpenGL Flipping. Estas funciones ofrecen mejoras del rendimiento en determinadas situaciones. Unified Back Buffer (UBB): UBB está disponible sólo en Quadro (salvo Quadro4 NVS). Se puede desactivar con la opción UBB del archivo de configuración X descrita en el Apéndice D. Cuando se activa la función UBB, todas las ventanas comparten el mismo búfer de fondo, stencil y de profundidad. Cuando hay muchas ventanas, el uso del búfer de fondo, stencil y de profundidad nunca excede el tamaño del utilizado por una ventana de pantalla completa. No obstante, incluso para una ventana pequeña el uso de memoria de vídeo con el búfer de fondo, stencil y de profundidad equivale al de una ventana de pantalla completa, de forma que, en ese caso, la memoria de vídeo se puede emplear de forma menos eficaz que en caso de no tener la función UBB. Flipping: Cuando esta función se activa, OpenGL puede realizar el intercambio de búfers cambiando el búfer que el convertidor DAC explora en vez de copiar el contenido del búfer de fondo en el búfer frontal; en general, este mecanismo proporciona un mayor rendimiento y permite un intercambio sin problemas durante el barrido vertical (cuando se define __GL_SYNC_TO_VBLANK). Las condiciones en las que OpenGL puede realizar el intercambio son algo complicadas pero, en general, es posible hacerlo en unidades GeForce o más modernas cuando se está ejecutando una sola aplicación OpenGL en primer plano y en pantalla completa, y está activada la variable __GL_SYNC_TO_VBLANK. También puede realizar el intercambio en unidades Quadro incluso aunque la ventana OpenGL esté parcialmente oculta, no se ejecute en pantalla completa o no esté activada __GL_SYNC_TO_VBLANK. __________________________________________________________________________ Apéndice L. Cambio de tarjeta __________________________________________________________________________ Este es un problema común que se produce tras cambiar una tarjeta por un modelo diferente. Xorg no puede iniciarse y presenta el mensaje: (EE) NVIDIA(0): Failed to initialize the NVIDIA graphics device! (EE) NVIDIA(0): *** Aborting *** (II) UnloadModule: "nvidia" (EE) Screen(s) found, but none have a usable configuration. La razón es que Solaris "recuerda" el modelo anterior que estaba instalado y aumenta la numeración de las tarjetas utilizadas. Por ejemplo, si la tarjeta original era una NVS 280 y se sustituye por una FX 1100, el reinicio de configuración creará los siguientes enlaces de dispositivo: /dev/fbs/nvidia0 ----> NVS 280 instance /dev/fbs/nvidia1 ----> FX 1100 instance El modo más fácil de resolver el problema es eliminar la(s) línea(s) "nvidia" del archivo /etc/path_to_inst antes del reinicio de configuración: # reboot -- -r o escribir b -r en el indicador de arranque. Si ya ha efectuado el reinicio de configuración, modifique el archivo y repita el reinicio. Tenga en cuenta que, si el archivo se daña, la máquina no arrancará correctamente, en cuyo caso será necesario un reinicio con -a y el archivo se volverá a crear de nuevo. __________________________________________________________________________ Apéndice M. Problemas conocidos __________________________________________________________________________ Los problemas expuestos a continuación aún existen en esta versión y están en proceso de resolución. Portátiles Si utiliza un portátil, consulte "Problemas comunes en los portátiles" en el Apéndice I. FSAA Cuando está activada la función FSAA (la variable de entorno __GL_FSAA_MODE tiene un valor que activa FSAA y se selecciona modo multimuestreo), el renderizado puede fallar si se redimensiona la ventana. Finalizador DSO de libGL y pthreads Cuando se ejecuta una aplicación OpenGL multihilo (multithread), es posible que se hagan llamadas al DSO de finalización de libGL (también conocido como destructor o "_fini") mientras otros subprocesos están ejecutando código de OpenGL. Este "finalizador" tiene que liberar los recursos asignado por libGL, lo cual puede provocar problemas en los procesos que siguen utilizando tales recursos. El problema se soluciona poniendo la variable de entorno "__GL_NO_DSO_FINALIZER" a "1", lo que obliga al finalizador de libGL a mantener los recursos como están. Cuando el proceso finalice, el sistema operativo seguirá reclamando esos recursos. Tenga presente que el finalizador también se ejecuta como parte de dlclose(3), de forma que, si tiene una aplicación que abre y cierra libGL varias veces (dlopens(3) y dlcloses(3)), "__GL_NO_DSO_FINALIZER" provocará la fuga de recursos hasta que el proceso termine. El uso de esta opción puede mejorar la estabilidad en algunas aplicaciones multihilo, incluidas las aplicaciones Java3D. XVideo y la extensión Composite de X XVideo no funciona correctamente si está activada la extensión Composite. Consulte el Apéndice Q. En esta sección se describen problemas que no tienen solución. Por lo general, el origen del problema está fuera del alcance de NVIDIA. Ésta es una lista de dichos problemas: Problemas que no tienen solución Placa base Gigabyte GA-6BX Esta placa base utiliza un regulador LinFinity en la ranura de 3,3 V con una corriente de tan sólo 5 A, menos que la especificación AGP, que exige 6 A. Cuando se ejecutan diagnósticos o aplicaciones, la temperatura del regulador aumenta, lo que provoca que el voltaje del chip NVIDIA disminuya hasta 2,2 V. En estas circunstancias, el regulador no puede suministrar la corriente de 3,3 V que el chip NVIDIA necesita. Este problema no sucede cuando la tarjeta gráfica tiene un regulador de corriente o cuando se conecta una fuente de alimentación externa a la ranura de 3,3 V. Chipsets VIA KX133 y 694X con AGP 2x En las placas base Athlon con el chipset VIA KX133 o 694X, como la ASUS K7V, los controladores NVIDIA se presentan con el modo predeterminado AGP 2x para solucionar la falta de fuerza de una de las señales de control. Chipsets Irongate con AGP 1x Las transferencias AGP 1x se utilizan en las placas base Athlon con el chipset Irongate para solucionar un problema con la integridad de la señal del chipset. Chipset Ali: ALi1541 y ALi1647 En los chipsets ALi1541 y ALi1647, los controladores NVIDIA desactivan AGP para solucionar problemas de control e integridad de la señal de reloj. Consulte el para obtener más información sobre los chipsets ALi. __________________________________________________________________________ Apéndice N. Soporte de GLX __________________________________________________________________________ Esta versión soporta GLX 1.3 con las siguientes extensiones: GLX_EXT_visual_info GLX_EXT_visual_rating GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_ARB_get_proc_address Para obtener una descripción cualquiera de ellas, consulte el registro de extensiones OpenGL http://oss.sgi.com/projects/ogl-sample/registry/index.html. Algunas de las extensiones de la lista forman parte de las funciones centrales de GLX 1.3, pero también se exportan como extensiones para proporcionar compatibilidad con versiones anteriores. __________________________________________________________________________ Apéndice O. Configuración de varias pantallas X en una tarjeta __________________________________________________________________________ Los procesadores gráficos que soportan TwinView (Apéndice G) también pueden configurarse para tratar cada dispositivo de visualización como una pantalla X independiente. Aunque esta alternativa presenta varios inconvenientes con respecto al uso de TwinView (p. ej.: las ventanas no pueden arrastrarse de una pantalla X a otra, las funciones OpenGL aceleradas por hardware no se aplican a ambas pantallas), también ofrece algunas ventajas: Si cada dispositivo de visualización es una pantalla X independiente, las propiedades de cada pantalla pueden ser distintas en cada dispositivo (por ejemplo, profundidad, tamaño de la ventana raíz, etc.). Las funciones que sólo pueden utilizarse en un monitor cada vez (por ejemplo, la superposición de vídeo o la superposición RGB acelerada por hardware) y que, por tanto, no son aptas para TwinView, pueden utilizarse en la primera pantalla X cuando hay dos pantallas independientes. Históricamente la asociación 1-1 entre dispositivos de visualización y pantallas X está más en línea con X. Para configurar dos pantallas X distintas que compartan un mismo procesador de gráficos, es preciso hacer lo siguiente: En primer lugar, cree dos secciones Device, cada una de ellas con el BusID de la tarjeta gráfica que van a compartir, el controlador "nvidia" y una de las pantallas asignadas: Section "Device" Identifier "nvidia0" Driver "nvidia" # Especificar en BusID la ubicación de la tarjeta gráfica utilizada BusID "PCI:2:0:0" Screen 0 EndSection Section "Device" Identifier "nvidia1" Driver "nvidia" # Especificar en BusID la ubicación de la tarjeta gráfica utilizada BusId "PCI:2:0:0" Screen 1 EndSection A continuación, cree dos secciones Screen, en cada una de las cuales utilizará una de las secciones Device: Section "Screen" Identifier "Screen0" Device "nvidia0" Monitor "Monitor0" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1600x1200" "1024x768" "800x600" "640x480" EndSubsection EndSection Section "Screen" Identifier "Screen1" Device "nvidia1" Monitor "Monitor1" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1600x1200" "1024x768" "800x600" "640x480" EndSubsection EndSection (Nota: también necesitará crear otra sección Monitor.) Por último, actualice la sección ServerLayout para utilizar y ubicar ambas secciones Screen: Section "ServerLayout" ... Screen 0 "Screen0" Screen 1 "Screen1" leftOf "Screen0" ... EndSection Si precisa más información, consulte las páginas de ayuda en línea sobre XF86Config(5x) o xorg.conf(5x). __________________________________________________________________________ Apéndice P. Nombres de dispositivos de visualización __________________________________________________________________________ Se entiende por "dispositivo de visualización" cualquier componente de hardware capaz de mostrar una imagen. Estos dispositivos se dividen en tres categorías generales: pantallas TRC analógicas, pantallas planas digitales (DFP) y televisores. Recuerde que el controlador enmarca las pantallas planas analógicas en la misma categoría que las pantallas TRC. El "nombre de dispositivo de visualización" es una cadena que identifica de forma exclusiva un dispositivo de visualización y normalmente tiene el formato "-", por ejemplo: "CRT-0", "CRT-1", "DFP-0" o "TV-0". Conviene tener en cuenta que el número indica cómo se ha realizado la conexión entre el dispositivo de visualización y la placa de gráficos, y no tiene nada que ver con el número de dispositivos existentes de una misma clase. Esto significa, por ejemplo, que podemos tener "CRT-1" aunque no tengamos "CRT-0". Para saber qué dispositivos de visualización se encuentran conectados en un determinado momento, busque una línea similar a la siguiente en el archivo de registro de X: (II) NVIDIA(0): Connected display device(s): CRT-0, DFP-0 Los nombres de dispositivos de visualización pueden utilizarse en las opciones MetaMode, HorizSync y VertRefresh del archivo de configuración de X para indicar a qué pantalla debe aplicarse el valor definido. Por ejemplo: Option "MetaModes" "CRT-0: 1600x1200, DFP-0: 1024x768" Option "HorizSync" "CRT-0: 50-110; DFP-0: 40-70" Option "VertRefresh" "CRT-0: 60-120; DFP-0: 60" No es obligatorio especificar el nombre del dispositivo de visualización en estas opciones. Si no se hace, el controlador intenta deducir a qué dispositivo se refiere la opción. Por ejemplo, en el caso de MetaModes, el primer modo de la lista se aplica al "primer" dispositivo de visualización y el segundo modo al "segundo" dispositivo. Lamentablemente, no siempre está claro qué dispositivo es el "primero" y cuál es el "segundo", por eso es preferible especificar el nombre de dispositivo de visualización. Al indicar los nombres de dispositivos de visualización, también se puede omitir el número, aunque esto únicamente es útil en el caso de que sólo haya un dispositivo de ese tipo. Por ejemplo, si se ha conectado una pantalla TRC y otra DFP, puede referirse a ellas de la forma siguiente en la opción MetaMode: Option "MetaModes" "CRT: 1600x1200, DFP: 1024x768" __________________________________________________________________________ Apéndice Q. La extensión Composite de X __________________________________________________________________________ La versión X11R6.8.0 de X.org contiene soporte (en fase de experimentación) de una nueva extensión del protocolo X denominada Composite, que permite dibujar las ventanas en mapas de píxeles en lugar de hacerlo en la pantalla. Combinada con las extensiones DAMAGE y RENDER, Composite permite a un programa llamado administrador de composiciones (composite manager) mezclar ventanas para representarlas en la pantalla. El rendimiento puede mejorarse activando 'Option "RenderAccel"" en xorg.conf. Consulte el Apéndice D para obtener más información. El soporte completo de Composite requiere la presencia de controladores adicionales. En la actualidad, renderizadores cliente como GLX no tienen forma de saber que tienen que renderizar en un mapa de píxeles y dibujarán directamente en la pantalla. Estamos investigando qué debe hacerse para que tales clientes interaccionen sin problemas con Composite. Entre tanto, GLX se desactivará cuando se detecte la extensión Composite, aunque se ha suministrado una opción para reactivarla. Consulte "Opción "AllowGLXWithComposite"" en el Apéndice D. Este problema se ha comentado en la lista de correo de xorg: http://freedesktop.org/pipermail/xorg/2004-May/000607.html Composite también provoca problemas con otros componentes del controlador: Xv no puede dibujar en mapas de píxeles que se han redirigido fuera de la pantalla, sino que dibujará directamente en pantalla. En algunos programas, este problema puede sortearse utilizando un controlador de vídeo alternativo. Por ejemplo, "mplayer -vo x11" funcionará correctamente, así como "xine -V xshm". Si quiere utilizar Xv, sólo tiene que desactivar el administrador de composiciones y volverlo a activar cuando haya acabado. Las superposiciones (overlays) de estaciones de trabajo no son compatibles con Composite. Puede encontrar más información sobre Composite en http://freedesktop.org/Software/CompositeExt __________________________________________________________________________ Apéndice R. Utilidad nvidia-settings __________________________________________________________________________ El controlador gráfico de NVIDIA para Solaris incluye una utilidad de configuración denominada 'nvidia-settings'. Después de instalar el controlador e iniciar X, puede abrir esta utilidad ejecutando: % nvidia-settings en una ventana de terminal. La información sobre las diferentes opciones de configuración se encuentra en la ventana de ayuda de la utilidad. Si precisa más información, consulte la guía del usuario que encontrará en: ftp://download.nvidia.com/XFree86/Linux-x86/nvidia-settings-user-guide.txt El código fuente de nvidia-settings se publica como GPL y está disponible en esta dirección: ftp://download.nvidia.com/XFree86/nvidia-settings/ __________________________________________________________________________ Apéndice S. Soporte de GLX en Xinerama __________________________________________________________________________ Este controlador soporta GLX cuando Xinerama está activado en unidades GPU similares. La extensión Xinerama ocupa varias pantallas X físicas (y posiblemente varias GPU) y las vincula en una sola pantalla X lógica. Esto permite arrastrar ventanas entre GPU y abarcar varias GPU. El controlador de NVIDIA soporta el renderizado acelerado por hardware mediante OpenGL en todas las GPU de NVIDIA cuando está activado Xinerama. Para configurar Xinerama: configure varias pantallas X (consulte el manual en línea sobre XF86Config(5x) o xorg.conf(5x) para obtener más detalles). La extensión Xinerama puede activarse añadiendo la línea Option "Xinerama" "True" a la sección "ServerFlags" del archivo de configuración de X. Requisitos: Es recomendable utilizar GPU idénticas. Se admiten algunas combinaciones de GPU no idénticas pero similares. Si una GPU es incompatible con el resto de un escritorio Xinerama, el renderizado de OpenGL no será visible en las pantallas que controle esa GPU. El renderizado se mostrará con toda normalidad en las pantallas conectadas a otras GPU soportadas. En tales situaciones, el archivo de registro de X incluirá un mensaje de este tipo: (WW) NVIDIA(2): The GPU driving screen 2 is incompatible with the rest of (WW) NVIDIA(2): the GPUs composing the desktop. OpenGL rendering will (WW) NVIDIA(2): be disabled on screen 2. (La GPU que controla la pantalla 2 es incompatible con el resto de las GPU que conforman el escritorio. El renderizado de OpenGL se desactivará en la pantalla 2.) El controlador X de NVIDIA debe utilizarse con todas las pantallas X del servidor. Sólo se publicará la intersección de las funciones en todas las GPU. Las opciones de configuración de X que afectan al funcionamiento de GLX (p. ej.: visión estereoscópica, superposiciones) deben ajustarse igual en todas las pantallas X de X server. Problemas conocidos: El tamaño máximo presentable en la ventana es de 4.096 píxeles. Las versiones de XFree86 anteriores a la 4.5 y las de X.org anteriores a la 6.8.0 carecen de las interfaces necesarias para implantar correctamente superposiciones con la extensión Xinerama. En versiones anteriores del servidor, combinar superposiciones con Xinerama puede perjudicar al renderizado. Si utiliza la extensión Xinerama con superposiciones, es recomendable que actualice a XFree86 4.5, X.org 6.8.0 o posteriores.