文章目录
- 1、环境介绍
- 2、前言
- 3、内核设备树配置
- 4、内核配置
- 5、Qt 源码修改
- 6、测试
- 7、参考文章
- 8、总结
1、环境介绍
硬件:小智 T113 板卡
软件:原厂 Tina5.0 SDK v1.2(Buildroot)
2、前言
我目前使用的屏幕分辨率是280*1424,默认是竖屏的。但目标是想横屏使用,运行qt程序时,通过指定环境变量export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0:rotation=90,并没有效果。下面将记录如果通过G2D进行旋转。
3、内核设备树配置
修改和添加如下属性:
其中fb0_width和fb0_height的值需要调转,图片中是调转后的。
4、内核配置
CONFIG_SUNXI_G2D=y CONFIG_SUNXI_G2D_MIXER=y CONFIG_SUNXI_G2D_ROTATE=y CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT=y5、Qt 源码修改
修改Qt源码:qt-everywhere-src-5.15.9/qtbase/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp,在doRedraw()函数中添加如下内容:
fb_var_screeninfo vinfo;ioctl(mFbFd,FBIOGET_VSCREENINFO,&vinfo);ioctl(mFbFd,FBIOPAN_DISPLAY,&vinfo);重新编译安装,并重新部署到板卡。
6、测试
重新执行qt程序,已可以正常旋转:
7、参考文章
全志客户服务平台:【FAQ3132】 A133 TINA4.0 G2D实现画面旋转
全志客户服务平台:【FAQ395】 g2d硬件旋转功能
https://whycan.com/t_10551.html
8、总结
略。