Solaris 7 5/99 Guide de la plate-forme matérielle Sun

Logiciel OpenGL

Le logiciel Solaris OpenGL est la mise en oeuvre native Sun de l'interface de programmation, 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 Solaris OpenGL 1.1.2 prend en charge les éléments matériels suivants :

Suppression d'anciens modules

Lorsque vous disposez d'anciennes versions de modules logiciels Solaris OpenGL, vous devez utiliser la commande pkgrm pour les supprimer. Suivez ces étapes :

  1. Vérifiez la présence éventuelle d'anciennes versions de modules 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     Support Creator Graphics (FFB) OpenGL
    application SUNWglrt      Bibliothèques d'exécution OpenGL
    application SUNWglrtu     Bibliothèques d'exécution propres aux plates-formes OpenGL
    application SUNWglwrt     Bibliothèque de widgets OpenGL
    application SUNWafbgl     Pipeline chargeable pour graphiques UPA Bus Elite3D 
    application SUNWgldoc     Documentation et pages de manuel Solaris OpenGL
    application SUNWglh       Fichiers en-tête Solaris OpenGL
    application SUNWglut      Utilitaires et exemples de programmes Solaris OpenGL
    application SUNWglwh      Fichiers en-tête de widget Solaris OpenGL

  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 Solaris OpenGL existants.


    # pkgrm SUNWglrt SUNWglh...
    

Installation du logiciel OpenGL

Pour installer le logiciel OpenGL, suivez ces étapes :

  1. Lancez CDE ou OpenWindows.

  2. Insérez le CD Supplement dans votre lecteur de CD-ROM.

    La fenêtre Gestionnaire de fichiers s'affiche.

  3. Ouvrez une fenêtre de commande et connectez-vous en tant que super-utilisateur en utilisant la commande su et le mot de passe de super-utilisateur.

  4. Entrez la commande swmtool à l'invite # :


    # /usr/sbin/swmtool -d /cdrom/cdrom0/Product

    La fenêtre Utilitaire d'administration : Ajouter un logiciel s'affiche

  5. Dans la fenêtre Utilitaire d'administration : Ajouter un logiciel, sélectionnez Bibliothèques d'exécution Open GL 1.1.2. 32 bits ou 64 bits.

  6. Cliquez sur Ajouter.

    La procédure d'installation devrait prendre quelques minutes.

  7. Quittez l'Utilitaire d'administration.

Clusters et modules OpenGL

Le Tableau 3-5 énumère les clusters et modules qui sont fournis avec Solaris OpenGL.

Tableau 3-5 Les clusters et les modules OpenGL

Nom du cluster 

Nom du module 

Description 

Emplacement d'installation par défaut 

SUNWCogl

SUNWglrt

Bibliothèques d'exécution OpenGL pour clients 

/usr/openwin/lib

SUNWglrtu

Bibliothèques OpenGL propres aux plates-formes UltraSPARC 

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

SUNWffbgl

Pipeline pour périphériques pour les mémoires d'écran Creator et Creator3D Graphics 

/usr/openwin/lib/GL/devhandlers

SUNWafbgl

Pipeline chargeable pour carte graphique UPA Bus Elite3D 

/usr/openwin

SUNWCoglx

SUNWglrtx

Bibliothèques d'exécution Sun OpenGL 64-bit 

/usr/openwin

SUNWafbgx

Pipeline chargeable Sun OpenGL 64- bit pour l'accélérateur graphique UPA Bus Elite3D 

/usr/openwin

SUNWffbgx

Pipeline chargeable Sun OpenGL 64-bit pour l'accélérateur graphique UPA Bus Creator 

/usr/openwin

SUNWCogl

Logiciel OpenGL de base, voir SUNWCogl dans la colonne de gauche, ci-dessus

Une fois les modules installés

Une fois les modules installés, procédez comme suit :

  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 lorsqu'il est exécuté sur un système UltraSPARC Creator3D :


    OpenGL Vendor :         Sun Microsystems, Inc
    OpenGL Version :        1.1.1 Solaris OpenGL 1.1.2_08

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, Solaris OpenGL 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 :

  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, la valeur 0600 devrait être changée en 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é.