Solaris 8 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, 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 prend en charge les périphériques Solaris suivants :

Suppression d'anciens modules

Lorsque vous disposez d'anciennes versions de modules logiciels 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 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     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-5 énumère les modules qui sont fournis avec Sun OpenGL.

Tableau 3-5 Modules OpenGL

Nom du module 

Description 

Emplacement d'installation par défaut 

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

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

SUNWglh

Sun OpenGL 1.2 for Solaris pour les fichiers en-tête GL, GLU, GLw et GLX 

/usr

SUNWCogl

Logiciel OpenGL de base 

Installation d'OpenGL

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

Après l'installation des modules

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

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 Sun OpenGL 1.2 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é.