CDE: "libGL error: failed to open drm device: Zugriff verboten" - wie geht das?

peterle

Forenkasper
Ich habe unter dem schönen CDE noch einen Schönheitsfehler und zwar meldet er bei dem Zugriff auf einige Programme den Fehler, daß er den Intel-Treiber nicht laden kann.

Das macht er nur unter CDE und nicht unter fvwm-
Das macht er nicht als user root, sondern nur als normaler user.
Ein Beispiel ist glxgears:

Code:
$ uname -a   
OpenBSD *** 5.6 GENERIC.MP#333 amd64
$ glxgears  
libGL error: failed to open drm device: Zugriff verboten
libGL error: failed to load driver: i965
409 frames in 5.0 seconds = 81.743 FPS

Ich habe den user mal in verschiedene Gruppen gepackt - man weiß ja nie ... :cool: ... - operator z.B. und in wheel ist er auch. Das nutzt aber leider nichts bei der Problematik.

Was übersehe ich denn da gerade?
 
Ich bin zwar kein OpenBSD-Jünger, aber da steht "failed to load driver". Vielleicht konnte der Kernel i965 DRM-Treiber nicht automatisch nachladen, weil Du ein einfacher Nutzer bist? Ich würde das DRM-Modul in diesem Falle lieber vorher (als root) laden und dann erst OpenGL nutzen.
 
Er scheint das Modul beim Start eines Programmes wie glxgears oder chrome jeweils zu laden oder anzufragen und /var/log/Xorg.0.log sagt:

Code:
[  4961.324] (II) intel(0): [DRI2] Setup complete
[  4961.324] (II) intel(0): [DRI2]  DRI driver: i965
[  4961.324] (II) intel(0): [DRI2]  VDPAU driver: i965
[  4961.324] (II) intel(0): direct rendering: DRI2 Enabled

bzw.

Code:
$ grep i9 /var/log/Xorg.0.log
  915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
[  4961.324] (II) intel(0): [DRI2]  DRI driver: i965
[  4961.324] (II) intel(0): [DRI2]  VDPAU driver: i965
[  4961.409] (II) AIGLX: Loaded and initialized i965

Es hat irgendwas damit zu tun, daß ich nicht xdm/fvwm sondern dtlogin/CDE benutze und normaler user bin.
Nur wüßte ich nicht, wo ich ansetzen soll, um die Ursache einzugrenzen. :o
 
Schlag mich bitte nicht, aber wie kriege ich denn die Berechtigung raus?

Ich nehme mal an, es ist /dev/video* (hier vermutlich video0)

Code:
# ls -la /dev/ |grep video
lrwxr-xr-x  1 root  wheel  6 Jun 26  2013 video -> video0
crw-rw-rw-  1 root  wheel  44,  0 Feb 12 15:59 video0
crw-rw-rw-  1 root  wheel  44,  1 Feb 12 15:59 video1

Der user ist in folgenden Gruppen:
Code:
$ grep USER /etc/group   
wheel:*:0:root,USER
operator:*:5:root,USER
users:*:10:USER
staff:*:20:root,USER
network:*:69:USER
USER:*:1000:
 
Doch, gibt es auch noch. :o

Code:
# ls -la /dev/ |grep drm
crw-------  1 root  wheel  87,  0 Feb 12 15:59 drm0
crw-------  1 root  wheel  87,  1 Feb 12 15:59 drm1
crw-------  1 root  wheel  87,  2 Feb 12 15:59 drm2
crw-------  1 root  wheel  87,  3 Feb 12 15:59 drm3
 
Und was siehst du? Die Gruppe wheel kann weder lesen noch schreiben.

Ob diese Geräteeinträge statisch sind und somit ein chmod auf Dauer ausreicht oder ob man da etwas im devfs einstellen muss, kann ich dir leider nicht sagen. Ich nutze kein OpenBSD.

Rob
 
Was ich nicht verstehe, warum USER unter xdm & fvwm keine Probleme hat, unter dtlogin & CDE aber keine Berechtigung mehr hat.
Schließlich wird drm ja vermutlich nicht erst beim Start eines Login-Managers angelegt.
 
Nein es hat sich nichts geändert, ich habe ja auch noch nichts gemacht, weil ich die wirkliche Ursache nicht kenne.
Ich teste aber die Rechte nachher mal mit dem xdm & fvwm und schaue, wie die dann aussehen und melde mich. :)
 
Manchmal hilft es eine Brille aufzusetzen ...

Die Rechte ändern sich doch!

Code:
# ls -la /dev/ |grep drm   
crw-------  1 USER  wheel  87,  0 Feb 12 15:59 drm0
crw-------  1 root  wheel  87,  1 Feb 12 15:59 drm1
crw-------  1 root  wheel  87,  2 Feb 12 15:59 drm2
crw-------  1 root  wheel  87,  3 Feb 12 15:59 drm3

# ls -la /dev/ |grep vide
lrwxr-xr-x  1 root  wheel  6 Jun 26  2013 video -> video0
crw-rw-rw-  1 root  wheel  44,  0 Feb 12 15:59 video0
crw-rw-rw-  1 root  wheel  44,  1 Feb 12 15:59 video1

Bleibt noch die Frage, was genau da beim einloggen in xdm passiert und wieviele Instanzen er davon aufbauen möchte.
 
Ein erster Teil der Lösung sieht so aus:

Code:
#cp /usr/dt/config/Xstartup /etc/dt/config/

#echo '/sbin/chown $USER:wheel /dev/drm0' >> /etc/dt/config/Xstartup

Interessant wäre es jetzt, wenn es analog zu Xstartup ein Xshutdown geben würde, aber vielleicht finde ich das auch noch.

Danke fürs Zuhören und viel Spaß damit.
 
Analog dazu können die Rechte beim ausloggen des users wieder zurückgesetzt werden:

Code:
#cp /usr/dt/config/Xreset /etc/dt/config/

#echo '/sbin/chown root:wheel /dev/drm0' >> /etc/dt/config/Xreset
 
Zurück
Oben