Solaris 7 Handbok för Sun-plattformar

OpenGL Software

Solaris OpenGL är Suns egen implementation av programmerargränssnittet för OpenGL (API), optimerad för Sun-miljön. OpenGL är en leverantörsoberoende industristandard för grafikbibliotek. Biblioteket innehåller funktioner för ett mindre antal enkla geometriska figurer samt ett flertal 3D-funktioner, både enkla och avancerade. Bland 3D-funktionerna märks transformationer, skuggning, belysning, rasterutjämning, strukturavbildning, dimma och alfa-blandning.

Plattformar som stöds

Solaris OpenGL 1.1.2 stöder följande enheter:

Ta bort gamla paket

Om du tidigare har installerat äldre versioner av Solaris OpenGL-paketen måste du ta bort dem med hjälp av kommandot pkgrm. Följ nedanstående steg:

  1. Kontrollera med hjälp av kommandot pkginfo om äldre versioner av OpenGL-paketen är installerade.

    Kommandot pkginfo | egrep -i "OpenGL" visar en förteckning över de OpenGL-paket som är installerade:


    % 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. Logga in som superanvändaren:


    % su
    Password: superanvändarens lösenord
    

  3. Ta bort alla befintliga Solaris OpenGL-paket genom att köra pkgrm:


    # pkgrm SUNWglrt SUNWglh...
    

Installera OpenGL

Så här installerar du OpenGL:

  1. Starta CDE eller OpenWindows.

  2. Sätt i din Supplement CD i din CD-spelare.

    Fönstret File Manager öppnas.

  3. Öppna ett kommandofönster och logga in som superanvändare med kommandot su och superanvändarens lösenord.

  4. Skriv in swmtool-kommandot vid ledtexten #:


    # /usr/sbin/swmtool
    

    Fönstret Admintool: Software öppnas.

  5. Välj Lägg till på menyn Redigera

    Fönstret Admintool: Ange källmedium öppnas.

  6. Skriv:


    # cd /cdrom/cdrom0/Product
    

    Fönstret Admintool: Lägg till programvara öppnas.

  7. I fönstret Admintool: Lägg till programvara väljer du Open GL Runtime Libraries 1.1.2.

  8. Klicka på Lägg till.

    Installationsprocessen kan ta några minuter.

  9. Avsluta Administrationsverktyget.

Installationspaket och grupper

Tabell 3-5 listar de grupper och paket som är inkluderat med Solaris OpenGL.

Tabell 3-5 grupper i OpenGL

Gruppnamn 

Paketets namn 

Beskrivning 

Förvald installationskatalog 

SUNWCogl

SUNWglrt

Runtime-bibliotek för OpenGL (klientsidan) 

/usr/openwin/lib

SUNWglrtu

OpenGL-bibliotek specifika för UltraSPARC 

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

SUNWffbgl

Enhetspipeline för Creator och Creator3D -bildskärmsminnen 

/usr/openwin/lib/GL/devhandlers

SUNWglwrt

Bildmoduler för OpenGL 

/usr/openwin/lib

SUNWafbgl

Laddbar pipeline för UPA Bus Elite3D-grafik 

/usr/openwin 

 SUNWglrtx 64-bitars runtime-bibliotek för Sun OpenGL /usr/openwin
 SUNWafbgx Sun OpenGL 64-bitars laddbar pipeline för UPA Bus Elite3D grafikaccelerator /usr/openwin
 SUNWffbgx Sun OpenGL 64-bitars laddbar pipeline för UPA Bus Creator grafikaccelerator /usr/openwin

Efter paketinstallationen

När paketen har installerats ska du göra följande.

  1. Avsluta fönstersystemet och starta om det. Fönstersystemet kommer därmed att läsa in det nyinstallerade GLX-servertillägget.

  2. Kontrollera att OpenGL-biblioteken installerats korrekt genom att köra ogl_install_check.

    Programmet ogl_install_check talar om vilken version av OpenGL-biblioteket och renderingsprogram som används, och renderar ett roterande hjul. Programmet ger följande utdata när det körs på en UltraSPARC Creator3D:


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

Om det uppstår problem med Solaris OpenGL underlättas felsökningen om man känner till följande värden:


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

Överraskande långsam lokal rendering

När så är möjligt går Solaris OpenGL förbi X-servern och rendera direkt. till bildskärmsminnet. Detta är möjligt tack vare Suns DGA-mekanism, som används för att låsa delar av skärmen. En säkerhetsspärr i Solaris gör dock att bara den användare som ursprungligen loggade in i fönstersystemet kan använda DGA för att låsa delar av skärmen. Endast användare av fönstersystemet har tillgång till DGA.

Om du upplever dåliga prestanda vid lokal rendering kan det bero på denna säkerhetsspärr. Om du t ex startar fönstersystemet och en annan användare vid arbetsstationen växlar till sin egen miljö med kommandot su, kommer programmet inte att köras via DGA även om den andra användaren kör programmet lokalt.

Om du råkar ut för långsam lokal rendering, kör felsökningsprogrammet ogl_install_check (som ligger i katalogen /usr/openwin/demo/GL). Du får då veta om programmet använder DGA. Om att ogl_install_check-rapporten anger att GLX-omgivningen är indirekt måste inloggningsbehörigheterna ändras så att alla användare får tillgång till DGA.

Så här ger du alla användare tillgång till DGA:

  1. Bli superanvändare:


    % su
    Password: superanvändarens lösenord
    

  2. Ändra behörigheterna så att alla får läs- och skrivrättigheter till följande enheter:


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

    På detta sätt får alla användare tillgång till DGA så länge den aktuella fönstersystemssessionen pågår (under förutsättning att de har rätt behörighet i X-Windows, se xhost(1))

  3. Ändra i filen /etc/logindevperm så att alla enheter som finns med i filen får 0666 som förvald behörighet.

    Det betyder att alla får läs- och skrivrättigheter till enheterna. I följande rader, hämtade från filen logindevperm, ska 0600 ändras till 0666. Det innebär att fönstersystemet fortfarande kommer att vara tillgängligt för alla användare nästa gång du loggar in och startar om fönstersystemet:


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

Kom ihåg att ditt system inte längre är säkert.