Whenever possible, Solaris OpenGL renders directly to the frame buffer, bypassing the X server. This is enabled by Sun's DGA mechanism for locking portions of the screen. However, a Solaris security feature only allows the user who originally logged in to the window system to use DGA to lock portions of the screen. Only owners of the window system have access to DGA.
If you notice poor performance when rendering locally, the cause may be this Solaris security feature. For example, if you start the window system, and another user at the workstation changes to that user's own environment using su, the application will not run via DGA even though the second user is running the application locally.
If you notice slow local rendering, run the ogl_install_check diagnostic program (found in /usr/openwin/demo/GL) to determine whether the application is running via DGA. If the OpenGL GLX Server status report from the ogl_install_check program says that the GLX context is indirect, the login permissions need to be edited to enable DGA access for all users.
To give all local users access to DGA, follow these steps:
% su Password: superuser password
% chmod 666 /dev/mouse /dev/kbd /dev/sound/* /dev/fbs/*
This will enable DGA access by all users for the duration of the current window system session (subject to X authorization, see xhost(1)).
Edit the /etc/logindevperm file and change the default permissions of all devices listed in the file to 0666 to allow world read/write access.
/dev/console 0600 /dev/mouse:/dev/kbd /dev/console 0600 /dev/sound/* # audio devices /dev/console 0600 /dev/fbs/* #frame buffers
Note that your system is no longer secure.