问题

问题

问题

我正在尝试运行一个 OpenGL 应用程序,该应用程序可以在其他机器上的 Ubuntu 先前版本上运行,但当我尝试在窗口上绘制任何内容时,它会顺利地打开窗口并崩溃。

系统

  • Ubuntu

    64 位版本:13.04

  • 中央处理器

    processor   : 2
    vendor_id   : AuthenticAMD
    cpu family  : 16
    model       : 4
    model name  : AMD Phenom(tm) II X4 B95 Processor
    stepping    : 2
    microcode   : 0x10000db
    cpu MHz     : 800.000
    cache size  : 512 KB
    physical id : 0
    siblings    : 4
    core id     : 2
    cpu cores   : 4
    apicid      : 2
    initial apicid  : 2
    fpu     : yes
    fpu_exception   : yes
    cpuid level : 5
    wp      : yes
    
  • 显卡

    01:05.0 VGA 兼容控制器:Advanced Micro Devices [AMD] nee ATI RS880 [Radeon HD 4200]

故障排除

  1. 我下载globs并运行了所有标准测试。除了 GLSL_paralax 甚至无法启动外,其他测试都运行正常。

  2. 我检查了我的图形驱动程序。

    glxinfo | grep render
    direct rendering: Yes
    OpenGL renderer string: Gallium 0.4 on AMD RS880
    GL_NV_conditional_render, GL_AMD_conservative_depth, 
    

    我的理解是,我正在使用开源图形驱动程序,而不是使用软件渲染。

  3. 我跑了glxgears

    glxgears -info
    Running synchronized to the vertical refresh.  The framerate should be
    approximately the same as the monitor refresh rate.
    
    GL_RENDERER   = Gallium 0.4 on AMD RS880
    GL_VERSION    = 3.0 Mesa 9.1.3
    GL_VENDOR     = X.Org
    
    ...
    
    301 frames in 5.0 seconds = 60.155 FPS
    299 frames in 5.0 seconds = 59.766 FPS
    298 frames in 5.0 seconds = 59.566 FPS
    300 frames in 5.0 seconds = 59.968 FPS
    

    我认为这是一个糟糕的结果。其他消息来源说我应该有更高的帧速率,尽管我的显示器设置为 60 Hz,所以如果渲染速率设置为这个值,这似乎是正确的

  4. 我检查了 OpenGL 错误日志

     cat /var/log/Xorg.0.log | grep EE
     (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
     [    14.665] Initializing built-in extension MIT-SCREEN-SAVER
     [    14.797] (EE) Failed to load module "fglrx" (module does not exist, 0)
     [    14.832] (EE) Failed to load module "fglrx" (module does not exist, 0)
    

    我认为这意味着我没有fglrx安装

  5. 我查了一下fglrx,它似乎是专有 OpenGL 驱动程序的一部分。安装说明如下:http://wiki.cchtml.com/index.php/Ubuntu_Raring_Installation_Guide#Installing_Proprietary_Drivers_a.ka_Catalyst.2Ffglrx

问题

  1. 有人知道为什么 GLSL_paralax 测试无法启动吗?还有其他类似的测试我可以尝试吗?

  2. 我能进行其他诊断测试来隔离我的问题吗?

  3. 缺少的fglrx模块重要吗?它会不会是我问题的根源?

  4. 如果可以,我不安装专有驱动程序是否可以获得它?

  5. 如果我需要专有驱动程序,我提供的链接是否是最安全/最简单的获取方式?我不愿意遵循他们的说明,因为我在手动配置其他 Linux 机器的图形驱动程序时遇到了问题。是否有可以替代的图形工具(如附加驱动程序)?

答案1

我解决了我的问题,但是,解决方案是,我运行的 openGL 代码中有一个不寻常的错误。它失败了,因为它找不到所需的字体,而不是因为图形问题。由于基于 c 的 OGL 和字体调用嵌入到 python 代码中的方式,很难追踪这一点。

在发现这个问题的过程中,我尝试了几种方法,包括升级到专有图形驱动程序。我会不是建议任何运行 ATI HD 显卡的人都使用此软件,因为 13.04+ 版本不支持该显卡fglrx。您需要降级 Xserver,这会导致 Unity 运行不佳。专有驱动程序对系统图形的改善并不明显,尽管许多人报告说它们在功耗方面对笔记本电脑有优势。

最后,GLSL_paralax测试globs因与驱动程序无关的原因而失败。

总体而言,所有图形都可以在我的系统上使用开源驱动程序。

相关内容