您尚未登录。

楼主 # 2024-01-18 17:05:08

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用?

【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)

离线

楼主 #1 2024-01-18 17:43:27

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

Re: d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用?

如果想用纯软件旋转的话,qt5又该如何设置环境变量呢?搜了下,有说qt5不支持fb旋转。

我试了
QWS_DISPLAY=Transformed:Rot180

export QT_QPA_EVDEV_ROTATION=180

都没有效果。

离线

楼主 #3 2024-01-19 11:53:23

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

Re: d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用?

@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)

离线

楼主 #5 2024-01-20 11:07:44

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

Re: d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用?

触控这里,是使用原先非旋转情况下的坐标吗?

我现在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)

离线

楼主 #6 2024-01-20 14:25:49

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,235
积分: 1173.5

Re: d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用?

目前是这么解决的:

在没打开g2d功能时,ts_calibrate -r 2,旋转tslib并校准,保留此时的校准文件。
然后烧录打开g2d的镜像,写入之前的这个校准文件。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn