Solaris 7 11/99: Guida alle piattaforme hardware Sun

Rendering locale lento

Se possibile, Sun OpenGL per Solaris 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, modificare le autorizzazioni di login.

Per assegnare a tutti gli utenti locali l'accesso al DGA, procedere come segue:

Per assegnare a tutti gli utenti locali l'accesso al DGA

  1. Diventare superutente.


    % su
    Password: password di superutente
    

  2. 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)).

  3. 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, cambiare le autorizzazioni 0600 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.