Solaris 7 Handbuch zur Hardware-Plattform von Sun

OpenGL Software

Die OpenGL Software von Solaris ist eine Implementierung des OpenGL Application Programming Interface (API) von Sun. Sie stellt eine standardisierte, herstellerunabhängige Grafik-Bibliothek dar. Die OpenGL Software bietet eine Reihe geometrischer Primitive auf unterer Ebene sowie zahlreiche grundlegende und anspruchsvolle Funktionen zum 3D-Rendering wie Modellierung, Schattierung, Beleuchtung, Anti-Aliasing, Texturzuordnung, Nebel und Alpha-Blending.

Unterstützte Plattformen

Die Solaris OpenGL 1.1.2 Software unterstützt folgende Geräte:

Entfernen älterer Packages

Wenn auf Ihrem System ältere Versionen der Solaris OpenGL Software-Packages installiert sind, müssen Sie diese mit dem Befehl pkgrm entfernen. Gehen Sie folgendermaßen vor:

  1. Überprüfen Sie mit dem Befehl pkginfo, ob auf Ihrem System ältere Versionen der OpenGL-Packages installiert sind.

    Der Befehl pkginfo | egrep -i "OpenGL" zeigt eine Liste aller installierten OpenGL-Packages.


    % 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. Um die Packages zu entfernen, werden Sie superuser:


    % su
    Password: Paßwort für Superuser
    

  3. Mit pkgrm entfernen Sie alle vorhandenen Solaris OpenGL-Packages:


    # pkgrm SUNWglrt SUNWglh...
    

Installation der OpenGL Software

Zur Installation der OpenGL Software gehen Sie wie folgt vor:

  1. Starten Sie die CDE-Umgebung oder OpenWindows.

  2. Legen Sie die Ergänzungen-CD in Ihr CD-ROM-Laufwerk ein.

    Das Fenster für den Dateimanager erscheint.

  3. Öffnen Sie ein Befehlsfenster, und werden Sie superuser, indem Sie den Befehl su mit dem Paßwort für superuser eingeben.

  4. Geben Sie an der Eingabeaufforderung # den Befehl swmtool ein:


    # /usr/sbin/swmtool
    

    Das Fenster Admintool: Software erscheint.

  5. Wählen Sie Hinzufügen im Menü Bearbeiten.

    Das Fenster Admintool: Quelldatenträger festlegen wird angezeigt.

  6. Geben Sie folgendes ein:


    # cd /cdrom/cdrom0/Product
    

    Das Fenster Admintool: Software hinzufügen wird angezeigt.

  7. Wählen Sie im Fenster Admintool: Software hinzufügen den Eintrag Open GL Runtime Libraries 1.1.2.

  8. Klicken Sie auf Hinzufügen.

    Die Installation dauert einige Minuten.

  9. Verlassen Sie Admintool.

Clusters und Packages für OpenGL

Tabelle 3-5 führt alle Cluster und Packages auf, die mit Solaris OpenGL geliefert werden.

Tabelle 3-5 Cluster und Packages für OpenGL

Cluster-Name 

Package- Name 

Beschreibung 

Standardverzeichnis bei der Installation 

SUNWCogl

SUNWglrt

OpenGL-Laufzeitbibliotheken für Clients 

/usr/openwin/lib

SUNWglrtu

UltraSPARC-spezifische OpenGL-Bibliotheken 

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

SUNWffbgl

Geräte-Pipeline für Creator- und Creator3D-Grafikkarten 

/usr/openwin/lib/GL/devhandlers

SUNWglwrt

OpenGL-Widget-Bibliothek 

/usr/openwin/lib

SUNWafbgl

Ladbare Pipeline für UPA Bus Elite3D-Grafik 

/usr/openwin 

 SUNWglrtx Sun OpenGL 64-Bit Laufzeitbibliotheken /usr/openwin
 SUNWafbgx Sun OpenGL 64-Bit ladbare Pipeline für den UPA Bus Elite3D Grafikbeschleuniger /usr/openwin
 SUNWffbgx Sun OpenGL 64-Bit ladbare Pipeline für den UPA Bus Creator Grafikbeschleuniger /usr/openwin

Nach Installation der Packages

Nach der Installation der Packages gehen Sie wie folgt vor:

  1. Verlassen Sie das Fenstersystem, und starten Sie es neu, damit die neu installierte GLX-Server-Erweiterung geladen wird.

  2. Überprüfen Sie mit ogl_install_check, ob die OpenGL-Bibliotheken korrekt installiert wurden.

    Das Testprogramm ogl_install_check gibt die Version der verwendeten OpenGL-Bibliothek und des Renderers aus und zeigt eine rotierende Scheibe an. Das Programm erzeugt auf dem UltraSPARC Creator3D-System folgende Ausgabe:


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

Wenn Probleme mit Solaris OpenGL auftreten, sollten bei der Diagnose folgende Werte notiert werden:


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

Unerwartet langsames lokales Rendering

Soweit möglich überträgt Solaris OpenGL die Bilddaten am X Server vorbei direkt zur Grafikkarte. Dies wird durch Suns DGA-Mechanismus ermöglicht, der Bildschirmbereiche sperren kann. Es gehört jedoch zu den Sicherheitsmerkmalen von Solaris, daß nur der Benutzer, der sich ursprünglich beim Fenstersystem angemeldet hat, mit DGA Bildschirmbereiche sperren darf. Nur Benutzer, die Eigentümer des Fenstersystems sind, haben Zugriff auf DGA.

Wenn die Leistung beim lokalen Rendering unbefriedigend ist, kann dies an oben beschriebener Sicherheitsvorkehrung liegen. Falls das Fenstersystem zwar von Ihnen gestartet wurde, aber ein anderer Benutzer der Workstation mit su in seine eigene Umgebung wechselt, wird die Anwendung nicht über DGA ausgeführt, selbst wenn der zweite Benutzer die Anwendung lokal ausführt.

Wenn Ihnen das lokale Rendering unbefriedigend erscheint, stellen Sie mit dem Diagnoseprogramm ogl_install_check (in /usr/openwin/demo/GL) fest, ob die Anwendung über DGA ausgeführt wird. Wenn ogl_install_check in seinem Statusreport des OpenGL GLX Servers anzeigt, daß der GLX-Kontext indirekt ist, müssen Sie die Zugriffsrechte so ändern, daß alle Benutzer DGA-Zugriff erhalten.

Dazu gehen Sie wie folgt vor:

  1. Melden Sie sich als superuser an:


    % su
    Password: Paßwort für Superuser
    

  2. Ändern Sie die Zugriffsrechte so, daß alle Benutzer Schreib- und Leserechte für folgende Geräte erhalten:


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

    Damit erhalten alle Benutzer DGA-Zugriff während der aktuellen Sitzung des Fenstersystems (erfordert X-Zugangsberechtigung, siehe xhost(1)).

  3. Ändern Sie die voreingestellten Zugriffsrechte aller Geräte in der Datei /etc/logindevperm in 0666, damit alle Benutzer Lese- und Schreibzugriff erhalten.

    Beispielsweise sollte 0600 in den folgenden Zeilen in logindevperm durch 0666 ersetzt werden. Wenn Sie sich danach das nächste Mal anmelden und das Fenstersystem neu starten, haben immer noch alle Benutzer Zugriff auf die entsprechenden Geräte.


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

Beachten Sie, daß Ihr System damit nicht mehr sicher ist.