Solaris 7 11/99: Guía de plataformas de hardware de Sun

Software OpenGL

El software Sun OpenGL para Solaris es la implementación nativa de Sun de la interfaz de programación de aplicaciones (API) OpenGL. Ésta es una biblioteca de gráficos estándar del mercado y de proveedor neutral. Proporciona un pequeño conjunto de primitivas geométricas de bajo nivel y muchas funciones de representación 3D básica y avanzada, tales como transformaciones de modelado, sombreado, iluminación, antialias, aplicación de texturas, niebla y mezcla alfa.

Plataformas admitidas

El software Sun OpenGL 1.2 para Solaris es compatible con los dispositivos siguientes:

Desinstalación de paquetes antiguos

Si tiene versiones antiguas de los paquetes de software de Sun OpenGL para Solaris, debe utilizar el comando pkgrm para eliminarlas.

Para desinstalar los paquetes existentes
  1. Compruebe si hay instalada alguna versión anterior de los paquetes de OpenGL mediante el comando pkginfo.

    El comando pkginfo | egrep -i "OpenGL" enumera todos los paquetes de OpenGL existentes que haya instalado.


    % pkginfo | egrep -i "OpenGL"
    aplicación  SUNWffbgl  Soporte de OpenGL para gráficos Creator (FFB)
    aplicación SUNWglrt   Bibliotecas de tiempo de ejecución de OpenGL
    aplicación SUNWglrtu  Bibliotecas de tiempo de ejecución específicas de la                       plataforma de OpenGL
    aplicación SUNWglwrt  Biblioteca de widgets de OpenGL
    aplicación SUNWafbgl  Canal de reconducción de gráficos UPA Bus Elite3D
    aplicación SUNWgldoc  Documentación y páginas del comando man de Solaris OpenGL
    aplicación SUNWglh    Archivos de cabecera de Solaris OpenGL
    aplicación SUNWglut   Utilidades y ejemplos de programas Solaris OpenGL
    aplicación SUNWglwh   Archivos de cabecera de widgets de Solaris OpenGL

  2. Para eliminar los paquetes, conviértase en superusuario


    % su
    Password: contraseña de superusuario
    

  3. Ejecute pkgrm para eliminar todos los paquetes de Sun OpenGL para Solaris existentes.


    # pkgrm SUNWglrt SUNWglh..
    

Clusters y paquetes de OpenGL

La Tabla 3-5 contiene la lista de clusters y paquetes que se suministran con el software Sun OpenGL para Solaris.

Tabla 3-5 Clusters y paquetes de OpenGL

Nombre del cluster 

Nombre del paquete 

Descripción 

Ubicación de instalación predeterminada 

SUNWCogl

SUNWglrt

Bibliotecas de tiempo de ejecución del cliente de OpenGL 

/usr/openwin/lib

SUNWglrtu

Bibliotecas de OpenGL específicas de UltraSPARC 

/usr/openwin/platform/sun4u/lib/GL

SUNWffbgl

Canal de reconducción de dispositivo para las memorias intermedias de trama Creator y Creator3D 

/usr/openwin/lib/GL/ devhandlers

SUNWafbgl

Canal de reconducción cargable para gráficos UPA Bus Elite3D 

/usr/openwin

SUNWCoglx

SUNWglrtx

Bibliotecas de tiempo de ejecución de 64 bits Sun OpenGL 

/usr/openwin

SUNWafbgx

Canal de reconducción cargable Sun OpenGL de 64 bits para el acelerador de gráficos UPA Bus Elite3D 

/usr/openwin

SUNWffbgx

Canal de reconducción cargable Sun OpenGL de 64 bits para el acelerador de gráficos UPA Bus Creator 

/usr/openwin

SUNWCogl

Núcleo del software OpenGL, vea SUNWCogl en la parte superior de la columna izquierda.

 

Instalación de OpenGL

Consulte "Instalación del software incluido en el CD suplementario de Sun Computer Systems".

Después de instalar los paquetes

Siga estos pasos después de instalar los paquetes:

Para verificar la instalación de los paquetes
  1. Salga del sistema de ventanas y reinícielo para cargar la extensión de servidor GLX recién instalada.

  2. Para verificar si las bibliotecas de OpenGL están instaladas correctamente, ejecute ogl_install_check.

    El programa de prueba ogl_install_check imprime la versión de la biblioteca y el programa de representación de OpenGL utilizados y representa una rueda giratoria. El programa devuelve lo siguiente cuando se ejecuta en un UltraSPARC Creator3D:


    OpenGL Vendor:                Sun Microsystems, Inc.
    OpenGL Version:               1.2 Sun OpenGL 1.2 for Solaris

Por motivos de diagnóstico, deben anotarse los valores siguientes si se observan problemas con Solaris OpenGL:


OpenGL Renderer:               Creator 3D, VIS
OpenGL Extension Support:      GL_EXT_texture3D
                               GL_SGI_color_table
                               GL_SUN_geometry_compression
                               GL_EXT_abgr
                               GL_EXT_rescale_normal
OpenGL GLX Server Detail Status Report
     GLX:     Context is direct
     GLX:     OpenGL Rendering in use
     GLX:     Double Buffering in use
     GLX:     Color Buffer (GLX_BUFFER_SIZE) = 24 bits
     GLX:     Depth Buffer (GLX_DEPTH_SIZE) = 28 bits
     GLX:     Stencil Buffer (GLX_STENCIL_SIZESolaris 7 11/99) = 4 bits
     GLX:     RGBA (True Color/Direct Color) Visual in use
OpenGL Library Detail Status Report
     Number of color bits (R/G/B/A): 8/8/8/0
     Frame Buffer Depth (GL_DEPTH_BITS):28

Representación local inesperadamente lenta

Siempre que sea posible, el software Sun OpenGL para Solaris realiza la representación directamente en la memoria intermedia de tramas sin utilizar el servidor X. Esta acción está activada por el mecanismo DGA de Sun para bloquear partes de la pantalla. No obstante, una característica de seguridad de Solaris sólo permite utilizar DGA para bloquear partes de la ventana al usuario que entró originalmente en el sistema de ventanas. Sólo los usuarios propietarios del sistema de ventanas tienen acceso a DGA.

Si observa un bajo rendimiento al realizar representaciones locales, la causa puede ser esta característica de seguridad de Solaris. Por ejemplo, si inicia el sistema de ventanas y otro usuario de la estación de trabajo cambia a su propio entorno mediante su, la aplicación no se ejecutará a través de DGA, aunque el segundo usuario esté ejecutando la aplicación localmente.

Si observa lentitud en una representación local, ejecute el programa de diagnóstico ogl_install_check (localizado en /usr/openwin/demo/GL) para determinar si la aplicación se está ejecutando a través de DGA. Si el informe de estado del servidor GLX de OpenGL del programa ogl_install_check indica que el contexto de GLX es indirecto, edite los permisos de entrada al sistema para permitir el acceso a DGA para todos los usuarios.

Siga estos pasos para proporcionar acceso a DGA a todos los usuarios locales:

Para dar acceso a DGA a todos los usuarios locales
  1. Conviértase en superusuario.


    % su
    Contraseña: contraseña de superusuario
    

  2. Edite los permisos de acceso de lectura y escritura para los dispositivos siguientes:


    % chmod 666 /dev/mouse /dev/kbd /dev/sound/* /dev/fbs/*
    

    Esto permitirá a todos los usuarios acceder a DGA durante la sesión actual del sistema de ventanas (sujeta a la autorización de X; véase xhost(1)).

  3. Edite el archivo /etc/logindevperm y cambie los permisos predeterminados de todos los dispositivos que figuran en el archivo a 0666 para permitir acceso de lectura y escritura a todos los usuarios.

    Por ejemplo, en las líneas siguientes de logindevperm, cambie el 0600 por 0666, para que la próxima vez que inicie una sesión y reinicie su sistema de ventanas siga estando accesible a todos los usuarios.


    /dev/console     0600     /dev/mouse:/dev/kbd
    /dev/console     0600     /dev/sound/*       # audio devices
    /dev/console     0600     /dev/fbs/*         #frame buffers

Tenga en cuenta que, al hacer esto, su sistema deja de ser seguro.