zoukankan      html  css  js  c++  java
  • glxinfo简介

    简言之,glxinfo是用来帮助debug gfx 3D acceleration setup的 command-line tool。

     

    How to tell whether your setup is good

    执行

    Run glxinfo | grep render

    将会得到两行输出,如下

    direct rendering: Yes
    OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20090326 2009Q1 RC2 x86/MMX/SSE2
    

    OpenGL renderer string告诉你现在用的是什么driver, 能告诉你系统此时用的是software rendering还是hardware rendering。在上述输出中,这个Mesa Intel的的driver就是用来做hardware rendering的。

    而第一行告诉你是否用的是direct rendering。例如,如果enable了direct rendering,这意味着3D rendering commands是被client application来handle的,而 X server与rendering没有关系。如果enable的是indirect rendering,那么所有的rendering commands是被发往 X server的,此时 X server有可能用的是software rendering,也可能用的是hardware rendering。例如:

    direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
    OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20090326 2009Q1 RC2 x86/MMX/SSE2

    这里 OpenGL通过设置环境变量,被强制使用indirect rendering,意味着所有的rendering commands都被发往 X server。但是 X server实际上用的是硬件加速渲染(hardware accelerated rendering)。现在看下面的例子:

    direct rendering: Yes
    OpenGL renderer string: Software Rasterizer

    这里意味着用的是software rendering,但是所有的software rendering是在client application里完成的,所以 X server是空闲的,可以为其他application的requests提供service

    正如你所看到的,关于 direct/indirect 和 software/hardware rendering 有4种可能的组合。从性能的角度看,direct + hardware rendering是最快的,indirect + hardware rendring 次之,而基本上software rendering总是最慢的。

     

    Troubleshooting options

    如果你发现系统用的是 software rendering 而不知道为什么会这样,你可以run LIBGL_DEBUG=verbose glxinfo 来获得额外的debug output(实际上你可以用这个环境变量debug任何OpenGL的application),将会有类似下面的输出

    libGL: OpenDriver: trying /usr/lib/dri/tls/r300_dri.so
    libGL: OpenDriver: trying /usr/lib/dri/r300_dri.so

    这些输出的行前后会有一些additional messages指示错误的原因。如果driver没有在提到的path里被找到,那么OpenGL将会fall back到一个叫 swrast_dri.so的software renderer。这意味着DRI drivers没有被正确的install。

     

    Source code and availability

    glxinfo一般是被默认安装的,你也可以用 sudo install mesa-utils安装. glxinfo是Mesa的一部分,参考source code可以去demos/src/xdemos/glxinfo.c.

     

  • 相关阅读:
    2017-2018-1 20155306 《信息安全系统设计基础》第11周学习总结
    2017-2018-1 20155306 实验三 实时系统
    2017-2018-1 20155306 《信息安全系统设计基础》第9周学习总结
    2017-2018-1 20155306 mypwd的实现
    2017-2018-1 20155306 《信息安全系统设计基础》第8周课上测试+课下实践
    2017-2018-1 20155306 《信息安全系统设计基础》第8周学习总结
    2017-2018-1 20155306 《信息安全系统设计基础》第7周学习总结
    20155212——man指令的使用及mypwd的实现
    2017-2018-1 20155213 《信息安全系统设计基础》第七周学习总结
    2017-2018-1 20155213 20155303 实验二 固件程序设计
  • 原文地址:https://www.cnblogs.com/ArsenalfanInECNU/p/14481655.html
Copyright © 2011-2022 走看看