Linux下的EGLFS和QT5应用程序轮换

时间:2017-08-24 17:16:19

标签: linux qt rotation eglfs

我代表我的同事问我是否可以轮换整个QT5(QT 5.6.1-1)应用程序窗口。我们使用EGLFS作为运行Linux framebuffer的Sitara TI AM335X平台的后端。

目前的情况是这样的:我们有一些应用程序通常从最终用户的角度旋转90度。作为临时解决方案,我的同事(此应用程序的开发人员)正在旋转此窗口中的每个元素以实现正确的视觉效果。不幸的是,这种旋转花费了大量的CPU时间。

我的问题是 - 是否可以顺时针转动整个窗口?我的意思是可以在EGLFS或QT5级别上进行,而无需旋转窗口中的每个元素吗?

我尝试更换屏幕的x-y尺寸(800x480),但没有成功。我也看了一下linux内核驱动程序源代码,我看不到旋转整个屏幕的可能性。我正在考虑在内存中创建另一个缓冲区,我可以通过旋转将数据复制到目标内存,但我不确定它是否是个好主意。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

QT_QPA_EGLFS_ROTATION环境变量设置为90-90。请参阅the documentation

答案 1 :(得分:0)

在版本5.7.x之前,EGLFS平台上的轮换受到QTBUG-39959错误的影响,因此忽略了旋转变量。

该错误已在5.8版本中修复。