Luckfox pico上驱动ST7796S出现色差问题

  • 您好,第三方硬件的适配我们不提供技术支持;建议用raw图去测试,在PC上用ffmpeg把纯色jpg图转换为raw,然后发送到板端显示,避免是软件层导致的色偏
    PC端转换

    Code: Select all

    ffmpeg -i xxx.jpg -vf scale=$水平分辨率:$垂直分辨率 -pix_fmt bgra -f rawvideo xxx.raw
    
    发送到板端显示

    Code: Select all

    cat xxx.raw > /dev/fb0
    
    如果还存在色偏就得从驱动的初始化序列上看了,一般有一个寄存器控制显示的rgb565顺序
  • Crocodile wrote: 2026-02-26 1:10 您好,第三方硬件的适配我们不提供技术支持;建议用raw图去测试,在PC上用ffmpeg把纯色jpg图转换为raw,然后发送到板端显示,避免是软件层导致的色偏
    PC端转换

    Code: Select all

    ffmpeg -i xxx.jpg -vf scale=$水平分辨率:$垂直分辨率 -pix_fmt bgra -f rawvideo xxx.raw
    
    发送到板端显示

    Code: Select all

    cat xxx.raw > /dev/fb0
    
    如果还存在色偏就得从驱动的初始化序列上看了,一般有一个寄存器控制显示的rgb565顺序
    我现在就是直接用的raw图测试
    驱动初始化序列确实包含一个BGR控制,但无论我怎么调整它和dts中的bgr属性,显示都不正常
    另外,我的st7789上也有一样的问题
  • 我现在已经解决该问题
    在确保你的BGR设置正确后,尝试在驱动中加入发送0x21指令的代码
    就像这样:
    write_reg(par, ST7796S_INVON);
    该指令会启用反转,在我的案例中启用后颜色显示就正常了