Solaris 7 5/99 Handbuch zur Hardware-Plattform von Sun

Unerwartet langsames lokales Rendering

Soweit möglich überträgt Solaris OpenGL die Bilddaten am X Server vorbei direkt zur Grafikkarte. Dies wird durch Suns DGA-Mechanismus ermöglicht, der Bildschirmbereiche sperren kann. Es gehört jedoch zu den Sicherheitsmerkmalen von Solaris, daß nur der Benutzer, der sich ursprünglich beim Fenstersystem angemeldet hat, mit DGA Bildschirmbereiche sperren darf. Nur Benutzer, die Eigentümer des Fenstersystems sind, haben Zugriff auf DGA.

Wenn die Leistung beim lokalen Rendering unbefriedigend ist, kann dies an oben beschriebener Sicherheitsvorkehrung liegen. Falls das Fenstersystem zwar von Ihnen gestartet wurde, aber ein anderer Benutzer der Workstation mit su in seine eigene Umgebung wechselt, wird die Anwendung nicht über DGA ausgeführt, selbst wenn der zweite Benutzer die Anwendung lokal ausführt.

Wenn Ihnen das lokale Rendering unbefriedigend erscheint, stellen Sie mit dem Diagnoseprogramm ogl_install_check (in /usr/openwin/demo/GL) fest, ob die Anwendung über DGA ausgeführt wird. Wenn ogl_install_check in seinem Statusreport des OpenGL GLX Servers anzeigt, daß der GLX-Kontext indirekt ist, müssen Sie die Zugriffsrechte so ändern, daß alle Benutzer DGA-Zugriff erhalten.

Dazu gehen Sie wie folgt vor:

  1. Melden Sie sich als Superuser an:


    % su
    Password: Paßwort für Superuser
    

  2. Ändern Sie die Zugriffsrechte so, daß alle Benutzer Schreib- und Leserechte für folgende Geräte erhalten:


    % chmod 666 /dev/mouse /dev/kbd /dev/sound/* /dev/fbs/*
    

    Damit erhalten alle Benutzer DGA-Zugriff während der aktuellen Sitzung des Fenstersystems (erfordert X-Zugangsberechtigung, siehe xhost(1)).

  3. Ändern Sie die voreingestellten Zugriffsrechte aller Geräte in der Datei /etc/logindevperm in 0666, damit alle Benutzer Lese- und Schreibzugriff erhalten.

    Beispielsweise sollte 0600 in den folgenden Zeilen in logindevperm durch 0666 ersetzt werden. Wenn Sie sich danach das nächste Mal anmelden und das Fenstersystem neu starten, haben immer noch alle Benutzer Zugriff auf die entsprechenden Geräte.


    /dev/console     0600     /dev/mouse:/dev/kbd
    /dev/console     0600     /dev/sound/*       # audio devices
    /dev/console     0600     /dev/fbs/*         #frame buffers

Beachten Sie, daß Ihr System damit nicht mehr sicher ist.