Il software Solaris OpenGL è l'implementazione nativa di Sun della API OpenGL. L'API OpenGL è una libreria grafica standard e indipendente dal produttore. Fornisce un piccolo insieme di molte funzioni di rendering 3D di base e avanzate, come le trasformazioni di modellazione, l'ombreggiatura, l'illuminazione, l'antialiasing, il texture mapping, l'effetto "fog" e l'alpha blending.
Il software Solaris OpenGL 1.1.2 supporta i seguenti dispositivi:
Grafica Creator e Creator3D - le funzionalità di OpenGL vengono accelerate a livello hardware
SX, GX, GX+, TGX, TGX+, S24 - le funzionalità di OpenGL vengono eseguite a livello software.
Tutti i sistemi Sun SPARCTM dotati dei seguenti frame buffer sono supportati dal software OpenGL 1.1.2: TCX, SX, GX, Creator e le famiglie di frame buffer Elite3D. Queste piattaforme includono i desktop UltraTM, i sistemi Sun EnterpriseTM e tutta la famiglia SPARCstationTM.
Se sono installati i package di versioni precedenti del software Solaris OpenGL, è necessario rimuoverli con il comando pkgrm. Procedere come segue:
Usare il comando pkginfo per determinare se sul sistema siano installare versioni precedenti dei package di OpenGL.
Il comando pkginfo | egrep -i "OpenGL" restituisce un elenco dei package di OpenGL installati sul sistema.
% pkginfo | egrep -i "OpenGL" applicationSUNWffbglCreator Graphics (FFB) OpenGL Support applicationSUNWglrtOpenGL Runtime Libraries applicationSUNWglrtuOpenGL Platform Specific Runtime Libraries applicationSUNWglwrtOpenGL Widget Library applicationSUNWafbglLoadable pipeline for UPA Bus Elite3D graphics applicationSUNWgldocSolaris OpenGL Documentation and Man Pages applicationSUNWglhSolaris OpenGL Header Files applicationSUNWglutSolaris OpenGL Utilities and Example Programs applicationSUNWglwhSolaris OpenGL Widget Header Files
Per rimuovere i package, diventare superutente:
% su Password: password di superutente
Eseguire pkgrm per rimuovere tutti i package di Solaris OpenGL preesistenti
# pkgrm SUNWglrt SUNWglh..
Per installare il software OpenGL, procedere come segue:
Avviare il CDE o OpenWindows.
Inserire il CD Supplement nel lettore di CD-ROM.
Verrà aperta la finestra della Gestione di file.
Aprire una finestra di comando e diventare superutente usando il comando su e la password di superutente.
# /usr/sbin/swmtool
Viene aperta la finestra Admintool:Software.
Scegliere Aggiungi dal menu Modifica.
Viene aperta la finestra Admintool:Imposta supporto di origine.
# cd /cdrom/cdrom0/Product
Viene aperta la finestra Admintool:Aggiunta di software.
Nella finestra Admintool:Aggiunta di software, selezionare Open GL Runtime Libraries 1.1.2.
Fare clic su Aggiungi.
Il processo di installazione dovrebbe richiedere alcuni minuti.
Uscire da Admintool.
La Tabella 3-5 elenca i cluster e i package forniti con Solaris OpenGL.
Tabella 3-5 Cluster e package di OpenGL
Nome del cluster |
Nome del package |
Descrizione |
Posizione di installazione predefinita |
---|---|---|---|
SUNWCogl |
SUNWglrt |
Librerie runtime per il client OpenGL |
/usr/openwin/lib |
SUNWglrtu |
Librerie di OpenGL specifiche per UltraSPARC |
/usr/openwin/platform/sun4u/lib/GL |
|
SUNWffbgl |
Pipeline di dispositivi per i frame buffer Creator e Creator3D |
/usr/openwin/lib/GL/devhandlers |
|
SUNWglwrt |
Libreria di widget OpenGL |
/usr/openwin/lib |
|
SUNWafbgl |
Pipeline caricabile per la grafica Elite3D su bus UPA |
/usr/openwin |
|
SUNWglrtx | Librerie runtime Sun OpenGL a 64 bit | /usr/openwin | |
SUNWafbgx | Pipeline caricabile a 64 bit Sun OpenGL per acceleratore grafico Elite3D su bus UPA | /usr/openwin | |
SUNWffbgx | Pipeline caricabile a 64 bit Sun OpenGL per acceleratore grafico Creator su bus UPA | /usr/openwin |
Dopo avere installato i package, procedere come segue:
Uscire dal sistema a finestre e riavviarlo, in modo che venga caricata l'estensione del server GLX appena installata.
Per verificare che le librerie di OpenGL siano state installate correttamente, eseguire ogl_install_check.
Il programma di test ogl_install_check restituisce la versione della libreria OpenGL e del renderer utilizzato, e visualizza una ruota in movimento. Se eseguito su un sistema UltraSPARC Creator3D, il programma restituisce questo output:
OpenGL Vendor: Sun Microsystems, Inc OpenGL Version: 1.1.2 Solaris OpenGL 1.1.2_08
Per scopi diagnostici, ogni volta che Solaris OpenGL presenta un problema, annotare i seguenti valori:
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 Server GLX OpenGL 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
Se possibile, Solaris OpenGL esegue il rendering direttamente sul frame buffer, bypassando il server X. Questo è consentito dal meccanismo DGA di Sun che blocca alcune porzioni dello schermo. Tuttavia, una funzione di sicurezza di Solaris permette solo all'utente che aveva eseguito originariamente il login nel sistema a finestre di usare DGA per bloccare lo schermo. Solo i proprietari del sistema a finestre hanno accesso al DGA.
Se le prestazioni del rendering locale appaiono lente, la causa potrebbe essere questa funzione di sicurezza di Solaris. Ad esempio, se si avvia il sistema a finestre e un altro utente della workstation si sposta nel proprio ambiente usando il comando su, l'applicazione non può essere eseguita via DGA, neppure se il secondo utente la utilizza localmente.
Se il rendering locale appare lento, eseguire il programma diagnostico ogl_install_check (situato in /usr/openwin/demo/GL) per determinare se l'applicazione venga eseguita via DGA. Se lo status report del programma ogl_install_check sul server OpenGL GLX indica che il contesto GLX è indiretto, per abilitare l'accesso al DGA per tutti gli utenti sarà necessario modificare le autorizzazioni di login.
Per assegnare a tutti gli utenti locali l'accesso al DGA, procedere come segue:
% su Password: password di superutente
Modificare le autorizzazioni per consentire a tutti gli utenti di accedere in lettura/scrittura ai seguenti dispositivi:
% chmod 666 /dev/mouse /dev/kbd /dev/sound/* /dev/fbs/*
Questo permetterà a tutti gli utenti di accedere al DGA per la durata della sessione corrente del sistema a finestre (in base alle autorizzazioni X, vedere xhost(1)).
Aprire con un editor il file /etc/logindevperm e cambiare in 0666 le autorizzazioni predefinite di tutti i dispositivi elencati nel file per consentire l'accesso in lettura/scrittura a tutti gli utenti.
Ad esempio, nelle righe seguenti di logindevperm, le autorizzazioni 0600 dovrebbero essere cambiate in 0666, in modo che al login successivo dopo il riavvio del sistema a finestre i dispositivi siano ancora accessibili per tutti gli utenti.
/dev/console 0600 /dev/mouse:/dev/kbd /dev/console 0600 /dev/sound/* # audio devices /dev/console 0600 /dev/fbs/* #frame buffers
Si noti che, a questo punto, il sistema non sarà più sicuro.