V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jettming
V2EX  ›  问与答

继上个帖 RK3568 上 DRM 旋转显示的问题

  •  
  •   jettming · 2 天前 · 911 次点击

    RK3568 DRM 驱动 LVGL 显示,8001280 的 mipi 屏幕需旋转成 1280800 。

    第 1 条附言  ·  2 天前
    感谢大家的回复。
    因为刚从 cortexM4 开发转过来,相比 QT 对 LVGL 比较熟悉,所以采用了 LVGL 。桌面系统是没有考虑过,因为太占资源了。
    目前来看 frambuffer 旋转显示帧率太低,DRM 直驱又不支持旋转,只能加个图形库来渲染实现了。用 LVGL+SDL2 ,或者其他什么。
    14 条回复    2025-09-08 12:44:13 +08:00
    jettming
        1
    jettming  
    OP
       2 天前
    使用 frambuffer 滑动时帧率低,采用 drm 测试帧率明显提高。
    使用 lv_disp_set_rotation 显示乱码。
    绑定支持旋转的 plane 失败: root@ubuntu2004:~# modetest -M rockchip \ > -P 137@93:800x1280@XR24 testing 800x1280@XR24 overlay plane 137 failed to enable plane: Invalid argument
    wnpllrzodiac
        2
    wnpllrzodiac  
       2 天前 via Android
    这纯硬件贴太硬了,我还不会改 dtb 和修改内核呢
    jettming
        3
    jettming  
    OP
       2 天前
    @wnpllrzodiac #2 我也是刚从裸机和 freertos 转过来,之前 cortexM4 的芯片都是用 spi 屏,改下寄存器 MADCTL(Memory Access Control)寄存器就好了,linux 分层多了,就复杂了。。。
    kita
        4
    kita  
       2 天前
    DRM 不是每个 plane 都支持 rotation 的,你可以在 weston 绘图的时候就 rotation
    jettming
        5
    jettming  
    OP
       2 天前
    @kita #4 嗯,这个我考虑过,但是嵌入式倾向于轻量开发,不会用到 Weston 。之后实在没法,再试试吧。
    kita
        6
    kita  
       2 天前
    @jettming Rockchip 的 display hardware 是没有做旋转的,要加速只能用 RGA2
    如果你要用 SPI 荧幕走 tinyDRM 也可以,就是性能一般
    kita
        7
    kita  
       2 天前   ❤️ 1
    原本图片没载入进来,Rockchip 的 rotation 可能是只能对 yuv 格式如 nv12 起作用,而不能用在 rgb ,你要看看手册
    jettming
        8
    jettming  
    OP
       2 天前
    @kita #7 嗯,这个确实可能,我去查看下。
    Chowe
        9
    Chowe  
       2 天前
    rk 有硬旋转的,别用 lv 的软旋转,能卡到你怀疑人生
    jettming
        10
    jettming  
    OP
       2 天前
    @kita #6 我修改屏幕驱动 IC 的寄存器旋转没有效果,是因为 display hardware 是没有做旋转的这个原因吗?
    masterclock
        11
    masterclock  
       2 天前
    rk3568 这样的板子,没必要轻量到 LVGL ,LVGL 用过,体验不好
    还不如整点完整的,而且 QT 也很轻量,也可以不要 weston 等等,不支持硬件旋转的平台还可以 opengl es 层 shader 旋转
    slint 也很不错
    BingoXuan
        12
    BingoXuan  
       2 天前   ❤️ 1
    reply 错帖子了,你可以看
    https://v2ex.com/t/1156673?p=1#reply9
    BingoXuan
        13
    BingoXuan  
       2 天前
    @wnpllrzodiac
    dtb 还好,转一下 dts 修改再转回来即可。内核修改一般用的最多就是 reconfiguration 而已。打 patch 改 bug 才是真正的恶梦
    wnpllrzodiac
        14
    wnpllrzodiac  
       2 天前 via Android
    @jettming 对啊,比如支持新版本的内核板载无线网卡驱动。好麻烦,不会
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5426 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 08:48 · PVG 16:48 · LAX 01:48 · JFK 04:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.