Solaris 8 1/01 Guide de la plate-forme matérielle Sun

Logiciel OpenGL

Le logiciel Sun OpenGL pour Solaris est la mise en oeuvre native Sun de l'interface de programmation d'applications ou API (Application Programming Interface), Open GL. L'API Open GL est une bibliothèque graphique indépendante des fabricants aux normes de l'industrie. Elle fournit un jeu réduit de primitives géométriques de bas niveau et présente un grand nombre de caractéristiques primaires et avancées de rendu 3D, telles que les transformations de modelage, l'ombré, l'éclairage, l'anti-crénelage, la topographie de textures, le voilage et le mixage alpha.

Plates-formes prises en charge

Le logiciel Sun OpenGL 1.2.1 prend en charge les périphériques Solaris suivants :

Suppression d'anciens modules

Si vous avez d'anciennes versions des modules logiciels de Sun OpenGL, vous devez utiliser la commande pkgrm pour les supprimer.

Suppression des anciens modules

  1. Vérifiez la présence éventuelle d'anciennes versions des modules d'OpenGL sur votre système à l'aide de la commande pkginfo.

    La commande pkginfo | egrep -i "OpenGL" énumère tous les modules OpenGL éventuellement installés.


    % pkginfo | egrep -i "OpenGL"
    application SUNWffbgl     Creator Graphics (FFB) OpenGL Support
    application SUNWglrt      OpenGL Runtime Libraries
    application SUNWglrtu     OpenGL Platform Specific Runtime Libraries
    application SUNWglwrt     OpenGL Widget Library
    application SUNWafbgl     Loadable pipeline for UPA Bus Elite3D graphics
    application SUNWgldoc     Solaris OpenGL Documentation and Man Pages
    application SUNWglh       Solaris OpenGL Header Files
    application SUNWglut      Solaris OpenGL Utilities and Example Programs
    application SUNWglwh      Solaris OpenGL Widget Header Files

  2. Pour supprimer les modules, connectez-vous en tant que super-utilisateur :


    % su
    Mot de passe : mot_de_passe_super-utilisateur
    

  3. Exécutez pkgrm pour supprimer tous les modules Sun OpenGL pour Solaris existants.


    # pkgrm SUNWglrt SUNWglh...
    

Modules OpenGL

Le Tableau 3-6 énumère les modules qui sont fournis avec le logiciel Sun OpenGL pour Solaris.

Tableau 3-6 Modules OpenGL

Nom du module 

Description 

Emplacement d'installation par défaut 

SUNWCogl

Cluster logiciel OpenGL 

 

SUNWglh

Fichiers d'en-tête OpenGL 

/usr

SUNWglrt

Bibliothèques d'exécution OpenGL pour clients 

/usr/openwin/lib

SUNWglsr

Logiciel de rendu SPARC générique OpenGL 

/usr/openwin/lib

SUNWglrtu

Bibliothèques OpenGL propres aux plates-formes UltraSPARCTM

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

SUNWglsrz

Logiciel de rendu UltraSPARC OpenGL 

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

SUNWafbgl

Pipeline de périphérique OpenGL pour carte graphique Elite3D 

/usr/openwin/lib/GL/devhandlers

SUNWffbgl

Pipeline de périphérique OpenGL pour cartes graphiques Creator et Creator3D 

/usr/openwin/lib/GL/devhandlers

SUNWifbgl

Pipeline de périphérique OpenGL pour carte graphique Expert3D 

/usr/openwin/lib/GL/devhandlers

SUNWglrtx

Bibliothèques d'exécution 64 bits OpenGL Sun 

/usr/openwin

SUNWglsrx

Logiciel de rendu UltraSPARC 64 bits OpenGL 

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

SUNWafbgx

Pipeline de périphérique OpenGL 64 bits pour carte graphique Elite3D 

/usr/openwin/lib/sparcv9/GL/devhandlers

SUNWffbgx

Pipeline de périphérique OpenGL 64 bits pour cartes graphiques Creator et Creator3D 

/usr/openwin/lib/sparcv9/GL/devhandlers

SUNWifbgx

Pipeline de périphérique OpenGL 64 bits pour carte graphique Expert3D 

/usr/openwin/lib/sparcv9/GL/devhandlers

Installation d'OpenGL

Reportez-vous à "Installation des logiciels du CD Supplement".

Après l'installation des modules

Une fois les modules installés, procédez comme indiqué ci-après.

Vérification de l'installation des modules

  1. Quittez le système de fenêtrage et relancez-le afin qu'il charge l'extension serveur GLX nouvellement installée.

  2. Pour vérifier la réussite de l'installation des bibliothèques OpenGL, exécutez ogl_install_check.

    Le programme de test ogl_install_check imprime la version de la bibliothèque OpenGL ainsi que le gestionnaire de rendu utilisé. Il effectue également le rendu d'une roue tournante. Le programme restitue la sortie suivante s'il est exécuté sur un système UltraSPARC Creator3D :


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

Pour faciliter le diagnostic, les valeurs suivantes doivent être notées à chaque problème rencontré avec 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_SIZE) = 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

Rendu local ralenti de manière inattendue

Lorsque l'opération est possible, Sun OpenGL pour Solaris génère les rendus directement dans la mémoire écran, contournant ainsi le serveur X. Ce procédé est rendu possible par le verrouillage de certaines portions de l'écran qu'autorise le mécanisme DGA de Sun. Cependant, une fonction de sécurité de Solaris ne permet l'utilisation de ce mécanisme DGA qu'au premier utilisateur connecté au système de fenêtrage. Seuls, les propriétaires du système de fenêtrage ont accès à DGA.

Lorsque vous constatez une dégradation des performances d'un rendu local, cette fonction de sécurité de Solaris peut en être la cause. Par exemple, si vous démarrez le système de fenêtrage et qu'un autre utilisateur de la station de travail modifie l'environnement pour utiliser le sien à l'aide de la commande su, l'application ne s'exécutera pas via DGA, même si ce second utilisateur l'exécute localement.

Lorsque vous constatez la lenteur d'un rendu local, exécutez le programme de diagnostic ogl_install_check (placé dans le répertoire /usr/openwin/demo/GL) afin de savoir si l'application s'exécute via DGA. Si le rapport d'état du serveur OpenGL GLX généré par le programme ogl_install_check indique un contexte GLX indirect, les permissions de connexion doivent être éditées afin de permettre un accès DGA à tous les utilisateurs.

Pour autoriser cet accès à tous les utilisateurs locaux, procédez comme suit :

Octroi à tous les utilisateurs locaux de l'accès DGA

  1. Connectez-vous en tant que super-utilisateur :


    % su
    Mot de passe : mot_de_passe_super-utilisateur
    

  2. Editez les permissions afin de permettre l'accès universel en lecture/écriture aux périphériques suivants :


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

    Cette opération permet à tous les utilisateurs de bénéficier d'un accès DGA pour la durée de la session courante du système de fenêtrage (en ce qui concerne l'autorisation X, reportez-vous à xhost(1)).

  3. Editez le fichier /etc/logindevperm et changez les permissions par défaut sur tous les périphériques énumérés dans le fichier en 0666, afin de permettre un accès universel en lecture/écriture.

    Par exemple, dans les lignes suivantes du fichier logindevperm, remplacez la valeur 0600 par 0666 afin qu'à la prochaine connexion et au prochain redémarrage du système de fenêtrage, l'accès soit toujours autorisé pour tous les utilisateurs.


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

Remarquez que votre système n'est plus sécurisé.