1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

3D on Intel SandyBridge?

Discussion in 'X.Org' started by YZMSQ, Apr 21, 2013.

  1. cpm

    cpm Well-Known Member

    Messages:
    1,379
    Thanks Received:
    513
    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
     
    YZMSQ thanks for this.
  2. YZMSQ

    YZMSQ Member

    Messages:
    218
    Thanks Received:
    20
    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)
     
    cpm thanks for this.
  3. pkubaj

    pkubaj Member

    Messages:
    460
    Thanks Received:
    51
  4. cpm

    cpm Well-Known Member

    Messages:
    1,379
    Thanks Received:
    513
    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.
     
    YZMSQ thanks for this.
  5. cpm

    cpm Well-Known Member

    Messages:
    1,379
    Thanks Received:
    513
    Take a look to Kosachenko's thread. Note that the patch included, solved the Sandy Bridge IRQ stalls.
     
    YZMSQ thanks for this.
  6. pkubaj

    pkubaj Member

    Messages:
    460
    Thanks Received:
    51
    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
    
     
  7. YZMSQ

    YZMSQ Member

    Messages:
    218
    Thanks Received:
    20
    With this variable set, my GPU has not hanged for a long time (3D and WebGL apps seem not able to run though).;)