【FAQ】全志F133(D1s)芯片 如何在Tina下进行显示旋转?
https://bbs.aw-ol.com/topic/2600
想将t113-s3的屏幕旋转180度,搜了下,大都是这个帖子的内容。启动g2d功能,设备树里设置下旋转方向。
然后lvgl里手动调用某个函数。
5.旋转后framebuffer编程是需要注意,旋转后的buffer不会直接显示到屏幕上, 需要在应用刷屏的地方调用FBIOPAN_DISPLAY接口.同步旋转后的buffer到LCD上.
但是我想用的是qt,在qt程序中的什么位值调用这个函数呢?
最近编辑记录 Gentlepig (2024-01-18 17:12:21)
离线
如果想用纯软件旋转的话,qt5又该如何设置环境变量呢?搜了下,有说qt5不支持fb旋转。
我试了
QWS_DISPLAY=Transformed:Rot180
和
export QT_QPA_EVDEV_ROTATION=180
都没有效果。
离线
@wwwlll
感谢,我还看到个,按qt5.4的一个patch,修改qt的framebuffer插件的源码,使其支持旋转功能。
https://blog.csdn.net/qq_15725099/article/details/102717970
另,为什么方法2 cpu占用率高?
我试过方法2,没效果:
export QT_QPA_PLATFORM=linuxfb:rotation=180
-------------------------------------------------------------
仔细看了下,
qt源码打patch,这种,也是修改qtbase/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp这个文件,需要添加的内容稍多些,但是不用打开内核的g2d功能了。
那么现在可行的方案就两种:
1,内核打开g2d,修改qlinuxfbscreen.cpp,增加某个接口函数。
2,内核不动,修改qlinuxfbscreen.cpp,修改部分函数,增加旋转部分。
这两种都需要重新编译qt源码,头疼...
最近编辑记录 Gentlepig (2024-01-19 13:52:31)
离线
触控这里,是使用原先非旋转情况下的坐标吗?
我现在g2d旋转成功了,qt5界面旋转了180度。想用ts_calibrate校准,结果显示不出界面来,这里估计也得修改tslib源码吧?
--------------------------------------------
#export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=$QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS:rotate=180
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0:rotate=180
尝试了以上两句,都没效果,现在触控和画面是差180度的。
/etc/ts.conf 中加入module linear rot=2
也没效果。
最近编辑记录 Gentlepig (2024-01-20 13:29:32)
离线
目前是这么解决的:
在没打开g2d功能时,ts_calibrate -r 2,旋转tslib并校准,保留此时的校准文件。
然后烧录打开g2d的镜像,写入之前的这个校准文件。
离线