强制Qt“重置”其渲染引擎

时间:2015-05-13 14:49:21

标签: linux qt opengl-es-2.0 qt5 framebuffer

我不确定问题标题是世界上最好的,所以我当然会解释。

我们在没有X的嵌入式Linux系统上运行Qt5应用程序。它使用eglfs来渲染GUI。我们希望能够在不终止我们的应用程序的情况下更改显示分辨率。

目前,我可以通过以下过程完成分辨率更改:

  1. 终止Qt5应用程序。
  2. 使用fbset更改显示分辨率和时间信息。
  3. 卸载并重新加载提供图形驱动程序的内核模块。这是必要的,因为驱动程序似乎没有在步骤2中获取fbset所做的更改。(我目前正在调查如何避免这种情况)。
  4. 重新启动Qt5应用程序。
  5. 如果我们可以假设我可以解决必须重新加载图形驱动程序内核模块的问题,是否可以告诉Qt重新查询帧缓冲区并执行任何必要的操作以使其自身适应新的分辨率而无需重新启动应用

    一些细节:

    • AM3358 SoC(ARM内核)
    • 来自TI的Linux内核3.12.10-ti2013.12.01
    • PowerVR SGX核心的图形驱动程序是TI的图形SDK 05.01.01.01
    • Qt版本为5.3.1

0 个答案:

没有答案