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.
Le logiciel Sun OpenGL 1.2 prend en charge les périphériques Solaris suivants :
Cartes graphiques Creator, Creator3D Graphics et Elite3D--les fonctions OpenGL sont accélérées par voie matérielle.
SX, GX, GX+, TGX, TGX+, S24--les fonctions OpenGL sont exécutées par voie logicielle.
Tous les systèmes Sun SPARCTM équipés des mémoires d'écran (frame buffers) suivantes sont pris en charge par le logiciel OpenGL 1.2 : les familles de mémoires d'écran TCX, SX, GX, Creator et Elite3D. Cela comprend le desktop Ultra, Sun Enterprise ainsi que toute la famille héritée SPARCstation.
Lorsque vous disposez d'anciennes versions de modules logiciels Sun OpenGL, vous devez utiliser la commande pkgrm pour les supprimer.
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 |
Pour supprimer les modules, connectez-vous en tant que super-utilisateur :
% su Mot de passe : mot_de_passe_super-utilisateur |
Exécutez pkgrm pour supprimer tous les modules Sun OpenGL pour Solaris existants.
# pkgrm SUNWglrt SUNWglh... |
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 |
|
Reportez-vous à "Installation des logiciels du CD Computer Systems Supplement".
Une fois les modules installés, procédez comme suit :
Quittez le système de fenêtrage et relancez-le afin qu'il charge l'extension serveur GLX nouvellement installée.
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 |
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 :
Connectez-vous en tant que super-utilisateur :
% su Mot de passe : mot_de_passe_super-utilisateur |
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)).
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é.