您尚未登录。

#1 Re: 全志 SOC » d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用? » 2024-01-19 17:52:50

@Gentlepig
内核不动,直接修改qlinuxfbscreen.cpp和传递rotation感觉都是一样的,都是在这个文件的底层绘制函数上进行变换,所以非常占cpu

#2 Re: 全志 SOC » d1s/t113s如何旋转屏幕?尝试了g2d,但是需要手动调用接口,但是qt如何调用? » 2024-01-19 10:58:04

刚好前段时间踩坑了
1.QGraphicsScene旋转
需要应用全部修改支持
2.通过QT_QPA_PLATFORM旋转:
export QT_QPA_PLATFORM=$QT_QPA_PLATFORM:tty=/dev/console:rotation=90
注意是rotation
这个方式非常占cpu
3.修改qt fb的底层绘制函数
通过链接修改配置使能G2D
然后给QRegion QLinuxFbScreen::doRedraw()函数返回时添加刷新代码就够了
    fb_var_screeninfo vinfo;
    ioctl(mFbFd, FBIOGET_VSCREENINFO, &vinfo);
    ioctl(mFbFd, FBIOPAN_DISPLAY, &vinfo);
路径在/sdk/platform/framework/qt/qt-everywhere-src-5.12.5/qtbase/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
有可能还需要其他修改,但是这是主要的
这个方式也解决了画面撕裂的问题
4.触摸旋转
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=$QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS:rotate=270
这个是rotate

#3 Re: 全志 SOC » t113 drm » 2023-12-15 15:52:33

我也有块创龙的t113的板子,也在瞅drm,,,这画面撕裂的,

页脚

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

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