3D on Intel SandyBridge?

Code:
drmOpenDevice: node name is /dev/dri/card0
Failed to change owner or group for file /dev/dri! 2: No such file or directory
Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
drmOpenDevice: open result is -1, (No such file or directory)
Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
drmOpenDevice: open result is -1, (No such file or directory)
drmOpenDevice: Open failed

Problem seems that X looks for drm source in card0 but this node is not created under /dev/dri directory.

Please, show following outputs # ll /dev/dri and # glxinfo | grep direct
 
cpu82 said:
Code:
drmOpenDevice: node name is /dev/dri/card0
Failed to change owner or group for file /dev/dri! 2: No such file or directory
Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
drmOpenDevice: open result is -1, (No such file or directory)
Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
drmOpenDevice: open result is -1, (No such file or directory)
drmOpenDevice: Open failed

Problem seems that X looks for drm source in card0 but this node is not created under /dev/dri directory.

Please, show following outputs # ll /dev/dri and # glxinfo | grep direct
Hi, thank you for your reply, your commands give me these outputs:
Code:
justin@darkgeek.pts/2 ~ % ll /dev/dri
total 0
crw-rw----  1 root  wheel    0, 136  4 27 22:08 card0
justin@darkgeek.pts/2 ~ % glxinfo | grep direct
direct rendering: Yes
And what's more, there're also these lines in the xorg.0.log which you might have missed:
Code:
[    70.154] drmOpenByBusid: Searching for BusID pci:0000:00:02.0
[    70.154] drmOpenDevice: node name is /dev/dri/card0
[    70.155] drmOpenDevice: open result is 10, (OK)
 
Try using this temporal workaround, use flag LIBGL_ALWAYS_INDIRECT related to the Mesa 3D client-side OpenGL implementation, tells Mesa to ignore normal direct rendering and use instead indirect rendering.
Code:
# setenv LIBGL_ALWAYS_INDIRECT 1

Then OpenGL is forced to use indirect rendering using an environment variable, meaning that all rendering commands are sent to the X server. However, the X server actually uses hardware accelerated rendering.
Code:
# glxinfo | grep direct
direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
# glxinfo | grep renderer
OpenGL renderer string: Mesa DRI R300 (RV350 4153) 20090101 AGP 4x x86/MMX/SSE2 TCL

Add to your .cshrc
Code:
setenv LIBGL_ALWAYS_INDIRECT 1

Definitely, when the underlying issue is fixed, you will remove this flag environment variable. You will experience a low performance due to OpenGL is fast, and Mesa driver is slow.
 
I forgot to add that when having run glxinfo, I get
Code:
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig
Error: couldn't find RGB GLX visual or fbconfig
 
cpu82 said:
Try using this temporal workaround, use flag LIBGL_ALWAYS_INDIRECT related to the Mesa 3D client-side OpenGL implementation, tells Mesa to ignore normal direct rendering and use instead indirect rendering.
Code:
# setenv LIBGL_ALWAYS_INDIRECT 1

Then OpenGL is forced to use indirect rendering using an environment variable, meaning that all rendering commands are sent to the X server. However, the X server actually uses hardware accelerated rendering.
Code:
# glxinfo | grep direct
direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
# glxinfo | grep renderer
OpenGL renderer string: Mesa DRI R300 (RV350 4153) 20090101 AGP 4x x86/MMX/SSE2 TCL

Add to your .cshrc
Code:
setenv LIBGL_ALWAYS_INDIRECT 1

Definitely, when the underlying issue is fixed, you will remove this flag environment variable. You will experience a low performance due to OpenGL is fast, and Mesa driver is slow.
With this variable set, my GPU has not hanged for a long time (3D and WebGL apps seem not able to run though).;)
 
Back
Top