Slow performance is experienced when rendering data in a 3D Analyst scene on Solaris.
Indirect rendering of OpenGL causes slow performance.
Solution or Workaround
Whenever possible, the OpenGL for Sun renders directly to the frame buffer bypassing the X server. This is enabled by Sun's Direct Graphics Access (DGA) mechanism for locking portions of the screen. However, a Solaris security feature allows only the user who originally logged into the window system to use DGA to lock portions of the screen. Nonowners of the window system do not 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 the user's own environment, the application will not run via DGA even though the second user is running the application locally.
- Run the following code:
- Log in as a super-user and edit permissions to allow world read/write access to the following devices should the login permissions need to be edited to enable DGA access for all users. This is relevant if the OpenGL GLX Server status report from the program says GLX context is INDIREC:
chmod 666 /dev/mouse /dev/kbd /dev/sound/* /dev/fbs/*
This will enable access by all users for the duration of the current window system session.
Edit the /etc/logindevperm file and change the default permissions of all the devices listed in the file to 0666 to allow world read/write access.
For example, in the following lines in logindevperm, the 0600 should be changed to 0666 so that the next time you log in and restart the window system, it will be accessible by all users.
/dev/console 0600 /dev/mouse:/dev/kbd
/dev/console 0600 /dev/sound/* #audio devices
/dev/console 0600 /dev/fbs/* # frame buffers
Performing the steps above will make your system no longer secure.