This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

335X QT+gpu 运行后,颜色不对。



335X gpu 运行后,颜色不对,官方的SDK 下,QT运行的 颜色是OK的,然后换了自己的文件系统,发现颜色变了·。感觉是GPU要配置下颜色位数?现在硬件是16位颜色的· 不知道有没有遇到这个情况?求指点下,谢谢了!

  • 这个需要检查下你文件系统里QT软件的RGB颜色配置。

  • 不好意思,才发现被回复了。我今天测试了下,就是R B 颜色反掉了。。

    335X 24位颜色是RGB 16位颜色是BGR ,我硬件接的16位模式,所以我怀疑我的设备树配置成24位了。

    uboot 参考论坛的配置成了24位显示图片,但内核应该会根据设备树修改为16位的,不知道哪里出问题了·

    以前内核是3.14 是OK的,现在是4.1 。明天在试试下。

  • psplash  做了开机界面,颜色是OK的,然后看了下手册 

    测试了下,用

    root@am335x-evm:/opt# devmem2 0x4830e028
    /dev/mem opened.
    Memory mapped at address 0xb6f03000.
    Value at address 0x4830E028 (0xb6f03028): 0xA00081

    读出的数据是0xA000081 

    寄存器 23 tftmap  值是1 ,看了手册 不太明白啥意思,好像应该是0 

    root@am335x-evm:/opt# devmem2 0x4830e028 w 0x200081
    /dev/mem opened.
    Memory mapped at address 0xb6f2d000.
    Value at address 0x4830E028 (0xb6f2d028): 0xA00081
    Written 0x200081; readback 0x200081
    root@am335x-evm:/opt#
    root@am335x-evm:/opt# devmem2 0x4830e028
    /dev/mem opened.
    Memory mapped at address 0xb6f18000.
    Value at address 0x4830E028 (0xb6f18028): 0x200081

    改成0 ,在读出来,寄存器的值确实边了。

    然后运行QT 

    QML debugging is enabled. Only use this in a safe environment.
    PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so

    mode for connector 20 is 800x480
    mode for CRTC of connector 20 is 800x480
    DRM SET CRTC: index: 0 fd: 6, crtc: 12, fb: 18, conn: 14, mode: 800x480
    Unable to query physical screen size, defaulting to 100 dpi.
    To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
    No such plugin for spec "Auto"

    发现颜色还是 红蓝相反了,, 关闭后,在读devmem2 0x4830e028。发现值又变成了 0xA00081

    好像是一旦调用,DRM或者GPU ,系统就会自动重新初始化,这个配置?

    不知道是不是这样的?求指点下。。比较尴尬的问题。。在3.14内核下,颜色是OK的。

  • 搜索了下,看到了人家的回答,好像知道问题了,GPU要BGR格式。不同的内核会有不同的处理,PSD3.0 版本的 可以打补丁+设备树配置改为RGB.硬件接错,没注意到勘误表,结果颜色反了,后来改了硬件,内核又出现DRM驱动BUG,换了内核,驱动又改成了BGR,颜色又反了.........  

  • 以前有客户问过类似问题,要不就是线序不对,要不就是QT里面RGB模式配的不对。