Solaris 7 Guide de la plate-forme matérielle Sun

Rendu local ralenti de manière inattendue

Lorsque l'opération est possible, Solaris OpenGL 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 :

  1. Connectez-vous en tant que super-utilisateur.


    % su
    Password : mot_de_passe_super-utilisateur
    

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

  3. 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, la valeur 0600 devrait être changée en 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é.