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.

[参考译文] AM3358:EGLFS 检测到错误的颜色深度

Guru**** 2546080 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/584489/am3358-eglfs-detects-wrong-color-depth

器件型号:AM3358

我使用的是 SDK ti-processor-sdk-linux-am335x-evm-03.02.00.05、由于交换了蓝色和红色、因此 Qt 和 eglfs 出现问题。 我已添加到/etc/powervr.ini DefaultPixelFormat=RGB565。 这有助于为 SGX 演示获取正确的颜色、但不会为 eglfs 执行任何操作。

我的 fb 设置正确:

模式"800x480"
槽型800 480 800 480 16.
时序0 0 0 0 0 0 0 0 0
Accel true
RGBA 5/11,6/5,5/0.0/0
终端模式

如果我在调试模式下运行 Qt 程序、我将从 EGL 获得错误的屏幕尺寸和颜色深度。 Qrect 从应用程序中打印出来、带有可用的 Geometry、并且是正确的、但深度为32。 另一方面、EGL 调试信息报告其他情况:

已加载模块:GBM_PVR.SO
找到有效的 GBM 后端:GBM_PVR.SO
QRect (0、0 800x480)
32
为格式 QSurfaceFormat (2.0版、选项 QFlags()、depthBufferSize 24、redhBufferSize 8、GreenBufferSize 8、 blueBufferSize 8、alpha BufferSize -1、stencilBufferSize 8、samples -1、swapBehavior 2、 swapInterval 1、profile 0)与 config:
EGL_buffer_size:32
EGL_alpha_size:8.
EGL_blue_size:8.
EGL_GREEN 大小:8.
EGL_RED_SIZE:8.
EGL_DEPTY_SIZE:24
EGL_Stence_size:8.
EGL_CONFIG_CAVATE:12344
EGL_CONFIG_ID:14.
EGL_LEVEL:0
EGL_MAX_Pbuffer_height:2048
EGL_MAX_pbuffer_pixels:4194304
EGL_MAX_Pbuffer_width:2048
EGL_NATE_RENDERABLE:0
EGL_native_visual:0
EGL_native_visual:0
EGL_Samples:0
EGL_SAMPLE_BUFFERS:0
EGL_surface_type:5.
EGL_Transparenty_type:12344
EGL_Transparenty_blue_value:0
EGL_Transparenty_GREEN 值:0
EGL_Transparenty_red_value:0
EGL_bind_TO_纹 理_RGB:0
EGL_BIND_TO_TEST_RGBA:0
EGL_MIN_SWAP_INTERVAL:1.
EGL_MAX_SWAP_INTERVAL:1.

如何使用 eglfs 正确获得颜色?

BR

JHi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我忘记说设置 QT_QPA_EGLFS_DEPTY=16或 QT_QPA_EGLFS_FORCE565没有帮助。

    JHi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是定制板还是其中一个 AM335x EVM 板?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它是定制板、但非常类似于 AM335x-EVM。

    JHi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的显示信号是如何连接的? 您是否在 AM335x 勘误表修订版 I 中看到了使用说明3.1.1?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如我在第一篇文章中所说的、当我设置 DefaultPixelFormat=RGB565时、SGX 演示能够以正确的颜色正常工作。 因此信号应该是正确的。 此外、引导标识显示正确意味着帧缓冲。 只有 eglfs 会给我带来麻烦。

    JHi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如需更多信息、请参阅导出 QSG_info=1:

    Qt.scasegraph.general:animation Driver:Using vsync:16.39ms
    qt.scasegraph.general:t纹 理 Atlas Dimensions:1024x512
    qt.scasegraph.general:R/G/B/A Buffers:8 8 8
    qt.scasegraph.general:Depth Buffer: 24
    qt.scenegraph.general:模板缓冲器: 8
    qt.scegraph.general:样片: 0
    qt.scegraph.general:gL_vendor: Imagination Technologies
    qt.scenegraph.general:GL_Renderer: PowerVR SGX 530
    qt.scegraph.general:gL_version: OpenGL ES 2.0 Build 1.14@3699939 (main)
    qt.scenegraph.general:gL_extensions: gL_d_vertex_array_object compression_EXT_abuse_framebuffer gL_EXT_纹 理_format_BGRA8888 gL_Oes_tose_float gL_OSE_rgb8_rgba8 compressed_OSE_surfacile_context gL_get_program_binary gL_OSE_gL_OSE_gL_tore_gL_t1_tose_gL_tore_gL_tore_g1_gL_t1_gL_texpressore_gL_t1_g1_gL_t1_g1_tore_gl_g1_texpressore_g1_g1_gL_tore_gl_g1_tore_gl_gl_g1_tore_g1_tore_gl_ore_g_g_g_toc_g_g_g_g_g_g1_tore_gl_ore_g_g_g_g_g_g_g_g_toc_ore_g_g_g_g_g_g_g_g_toc_g_g1_tore_
    
    错误 



    JHi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已要求视频专家查看此内容。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我厌倦了-platform minimalegl,颜色是正确的,但我没有触摸:(

    打开的显示0x1
    
    初始化的显示1 4
    
    为格式 QSurfaceFormat (版本2.0、选项 QFlags()、deptBufferSize 16、redcBufferSize 5、GreenBufferSize 6创建的上下文 blueBufferSize 5、alpha BufferSize -1、stencilBufferSize -1、samples -1、swapBehavior 0、 swapInterval 1、profile 0)与 config:
    EGL_buffer_size:16.
    EGL_alpha_size:0
    EGL_blue_size:5.
    EGL_GREEN 大小:6.
    EGL_RED_SIZE:5
    EGL_DEPTY_SIZE:24
    EGL_Stence_size:8.
    EGL_CONFIG_CAVATE:12344
    EGL_CONFIG_ID:8.
    EGL_LEVEL:0
    EGL_MAX_Pbuffer_height:2048
    EGL_MAX_pbuffer_pixels:4194304
    EGL_MAX_Pbuffer_width:2048
    EGL_NATE_RENDERABLE:0
    EGL_native_visual:0
    EGL_native_visual:0
    EGL_Samples:0
    EGL_SAMPLE_BUFFERS:0
    EGL_surface_type:5.
    EGL_Transparenty_type:12344
    EGL_Transparenty_blue_value:0
    EGL_Transparenty_GREEN 值:0
    EGL_Transparenty_red_value:0
    EGL_bind_TO_纹 理_RGB:0
    EGL_BIND_TO_TEST_RGBA:0
    EGL_MIN_SWAP_INTERVAL:1.
    EGL_MAX_SWAP_INTERVAL:10
    qt.scapegraph.general:thined 呈现循环
    qt.scapegraph.general:使用 SG 动画驱动程序
    qt.scapegraph.general:使用 vsync:16.67ms
    qt.24xegraph.general:使用 vsync:16.67ms qt.scapegraph.general
    :t.r.r.qt.r.t.r.r.gapegraph:
    general:t.t.r.r.r.t.r.r.r.t.r.r.t.r.r.t.r.t.r.
    24
    qt.scenegraph.general:模板缓冲器: 8
    qt.scegraph.general:样片: 0
    qt.scegraph.general:gL_vendor: Imagination Technologies
    qt.scenegraph.general:GL_Renderer: PowerVR SGX 530
    qt.scegraph.general:gL_version: OpenGL ES 2.0 Build 1.14@3699939 (main)
    qt.scenegraph.general:gL_extensions: gL_IMG_TATE_COMPRESSION_pvrtc gL_IMG_program_binary gL_Oes_vertex_array_object gL_EXT_Discard gL_OSE_vertex_half_float_gL_gL_expression_gL_tore_gL_tore_gL_texpression_gL_tore_gL_texpression_gL_tore_gL_tore_gL_tore_gL_tore_gL_tore_ggl_ggl_ggl_dete_tore_tore_tore_tore_tore_ggl_g8_dete_tore_tore_tore_tore_tore_tore_tore_g1_tore_g_g_g1_tore_tore_g1_tore_g1_tore_g1_tore_g_g1_tore_g_g1_texpression_g_g1_tore_g_g_g_g_g_g1_tex_g1_texpress_detrg_g
    
    错误
    

    JHi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    默认情况下、在 PSDK 3.2上启用自定义 eglfs。 尝试禁用以下链接中提到的 eglfs_kms、然后重新运行应用程序。

    • 导出 QT_QPA_EGLFS_integration=none

    http://processors.wiki.ti.com/index.php/Processor_Linux_SDK_Graphics_and_Display#Migration_Guide_from_Processor_SDK_3.1_to_3.x_for_AM3.2F4.2F5

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢! 它现在正在工作。

    JHi