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.

[参考译文] PROCESSOR-SDK-AM335X:在 Qt EGLFS 中交换颜色

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/649730/processor-sdk-am335x-colors-swapped-in-qt-eglfs

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:AM3358

大家好,我有一个常见的问题--在运行 EGLFS 的 AM3358系统上,示例 QT 应用程序交换了红色和蓝色。

根据此论坛上其他一些帖子的建议、我已编辑了/etc/powervr.ini 文件、如下所示:

[默认值]
#default library without double buffering:
#WindowSystem=libpvrDRMWSEGL_FRONT.SO
#Alternative library、Slower but with double buffering
System=libpvrDRMWSEGL.SO
#DisableHWTQTextureUpload=1
DisableHWTQTextureUpload=0 WindowBufferSize=1677216 PixelFormat=WindowRGB565


我的/etc/profile.d/qt_env.sh 如下所示:

#!/bin/sh









/dev/input/event0
/dev/input/event0 logger qt_env.sh 正在运行 export QSG_info=1 export QQQG_QPA_EGLFS_DEBUG=1 export QT_QPA_EGLFS_HIDECURSOR=1 export QT_QPA_EGLFS_integration=none export QPA_EGLFS_physical width=154 QPA_QPA_EGLFS_END_ENABS-WEP-WEAK - VM_DEVICE-max_ABS_ENT-RAT-INEST_BET-RAT-RAT-RAT-ING_ABS_INEST-ON-CR-ING_RAT-ING_RAT-ING_ABP-QABS_INEST-ON-CREMT-ON-CREMT-ON-ING_RAP-Q_ABS_

重启后、我可以确认环境变量正在设置中、但 EGLFS 似乎仍在选择 RGB888模式。 有什么建议吗?

# env
SSH_CLIENT=10.92.1.103 SS58932 22
mail=/var/mail/root
user=root
SHLVL=1
home=/root
SSH_tty=/dev/pts/0
QT_QPA_EGLFS_DEBUG=1
/bin/more
PS1=#
QT_QPA_EGLFS_physical_height=86
QQQQQQ17T_INF=1 LOGNE=root_EGLFS_DP=Q1 param=Q1





/bin/sh v=Q17152=QLP_g_v_g=Q1:/usr/sbin




/usr/lib/qt/examples/quick/demos/photosurface/photosurface param=Q17152=QLP_g_v_g_v_v_g_g_g=v_v_g=r=Q1:/usr/bin /bin/vi


将连接器

20的 WindowSystem 设置为 libpvrDRMWSEGL.SO 模式对于
连接器20的 CRTC 为800x480模式对于800x480
DRM 设置 CRTC:索引:0 FD:6、CRTC:12、fb:18、conn:14、mode:16.800x480
qt.scouregraph.general:线程渲染循环
qt.psegraph
:使用通用 vr.psg 驱动程序:vr.psg 动画:使用一般性 vr.psg 驱动程序:
提示:将 DisableHWTQTextureUpload 设置为0

为格式 QSurfaceFormat (2.0版、选项 QFlags ()、depthBufferSize 24、redBufferSize -1、greenBufferSize -1、blueBufferSize -1、 alphaBufferSize 8、stencilBufferSize 8、Samples -1、swapBehavior QSurfaceFormat::SwapBehavior (DoubleBuffer)、swapInterval 1、 配置文件 QSurfaceFormat::OpenGLContextProfile (NoProfile))(带配置):
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: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:0
EGL_MAX_SWAP_INTERVAL:1
qt.scapegraph.general:使用 SG 动画驱动程序
qt.scapegraph.general:动画驱动程序:使用 vsync:16.67ms
qt.scapegraph.general:纹理 Atlas 维数:1024x512
qt.scapegraph.general:R/G/B/A 缓冲区:8 8 8 8 qt.scapegraph
:general:general:t.scapegraph 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内部版本1.9@2253347
qt.scenegraph.general:gL_extensions: gL_EXT_Discard framebuffer got_oes_dure_ture gL_oes_ve_packed_depth_stence_gl_ext_shader_lode_read_format gL_oes_EGL_image_external gL_oes_EGL_syncgL_texpression_gL_tos_compression_gL_gL_gL_tos_gL_gL_gpg8_gpgpgpgL_t1_gL_t1_g1_g1_g1_gpgpg_toc_g_tag_g_tag_g1_g1_rg1_g_toc_g_tag_g1_rg1_g1_t1_g1_g_toc_g_toc_g1_t1_g1_g1_g_tex_g_toc_g1_t1_g1_g1_g_toc_g_tag_g1_t1_g1_g1_g1_g1_g_toc_g1_t1_g1_g1_g1_t1_g1_g1_g1_t1_g1_g1_got_g_tex_g1_t1_g1_

错误

谢谢、
Isaac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的是哪个版本的 SDK? 您的电路板是否配置为在每像素16位模式下工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将2017.05 buildroot 标签与 BeagleBone_qt_defconfig 搭配使用、这似乎正在从 TI git 存储库中获取特定的提交。 特别是:

    • Linux 内核是 从 git://git.ti.com/processor-sdk/processor-sdk-linux.git 获取的52c4aa7cdb93d61f8008f380135beaf7b8fa6593
    • TI-SGX-DEMOS 是从 git://git.ti.com/graphics/img-pvr-sdk.git 获取的 f24650bc8243b25c23d6a0a502ed79fc472ac424
    • TI-SGX-KM 是从 git://git.ti.com/graphics/omap5-sgx-ddk-linux.git 获取的2b7523d07a13ab704a24a7664749551f4a13ed32
    • TI-SGX-um 是从 git://git.ti.com/graphics/omap5-sgx-ddk-um-linux.git 获取的 e15f1543bab4de9e8927a2c4934addf3fd16ffcb

    我附上的图片显示,多路复用器的脚在车尾箱上是黄色/红色的(好的),但是 Chameleon 人的后面有一个蓝色的砖墙(坏的)。 我使用的是4DCAPE-70CT 套件、基本上是 Kemal 在该主题中共享的器件树:   (我不知道如何连接我自己的器件树、该树经过细微自定义、但肯定没有特意换色)

    gfx_check.sh 的输出:

    #./gfx_check.sh
    WSEGL 设置
    [默认值]
    WindowSystem=libpvrDRMWSEGL_FRONT.so
    DisableHWTQTextureUpload=1
    DefaultPixelForm=RGB565
    ---
    ARM CPU 信息
    处理器 :0
    型号名称 :ARMv7处理器版本2 (v7l)
    BogoMips :996.14
    功能 :半拇指 fastmult VFP EDSP thumbee neon vfpv3 TLS vfpd32
    CPU 实现器:0x41
    CPU 架构:7
    个 CPU 型号 :0x3
    CPU 部件 :0xc08
    CPU 版本:2
    
    硬件 :通用 AM33XX (平展设备树)
    修订版 :0000
    串行 :000000000000000000000000
    ----
    SGX 驱动程序信息
    版本 SGX_DDK_Linux_CustomerTI sgxddk 19 1.9@2253347 (版本) omap335x_Linux
    系统版本字符串:SGX 版本= 125
    ---
    帧缓冲区设置
    ---
    旋转设置
    0
    ---
    内核模块信息
    模块 被污染者使用的大小:g
    ipv6 408424 12 [永久]
    hid_generic 1031 0
    usbmouse 2785 0
    usbkbkbbkbd 4516 0
    usbhid 27673 0
    MUSB DSP 7877 0
    musb_hdrc 55856 1 MUSB DSP
    UDC_CORE 12006 1 musb_hdrc
    usbcore 183133 4 usbmouse、usbkbd、usbhid、musb_hdrc
    USB_common 3335 4 musb_dsp、musb_hdrc、udc_core、usbcore
    evdev 10787 0
    joydev 9419 0
    omapdrm_PVR 333711 0
    OMAP_rng 4575 0
    rng_core 7831 1 OMAP-rng
    EDT_ft5x06 10699 0
    RTC_OMAP 8172 0
    musb_AM335x 1346 0 [永久]
    OMA_WDT 4884 0
    LED_GPIO 3649 0
    LED_CLASS 6705 1 LED_GPIO
    ----
    引导设置
    console=ttyO0、115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    ---
    Linux 内核版本
    Linux 内置4.1.6 #1 SMP 优先于12月9日星期六14:09:46 EST 2017 armv7l GNU/Linux
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最近在 DDK UM 中添加了 RGB 565支持。 它使用 DDK 1.14。 这是具有 RGB565支持提交 ID 的链接和分支。
    git.ti.com/.../1.14.3699939

    提交3af51eb8fe10f73c4bb64c4cc31e44ab4676081f
    作者:Eric Ruei
    日期:2016年6月17日星期五15:04:45 -0400

    UM:null_DRM/GBM:添加了 RGB565支持

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

    好的、我将这些文件拉到了我的内置包中:

    • TI-SGX-km (git://git.ti.com/graphics/omap5-sgx-ddk-linux.git):commit fed0756f1b8b9d526da2821635c7d742989d47c3
    • TI-SGX-um (git://git.ti.com/graphics/omap5-sgx-ddk-um-linux.git):commit bbbd5cbb55e4c54d3b02456ae553bea86fd61506

    由于这些内容似乎使我了解了最新的用户空间、以及4.1内核上的 DDK 1.14。 当我运行演示时、我会得到以下内容:

    #/usr/bin/OGLES2ChameleonMan
    /usr/bin/OGLES2ChameleonMan:加载共享库时出错:libgbm.so.2:无法打开共享目标文件:无此类文件或目录
    

    那么、我想我现在必须找到一个方法来构建 libgbm? 我开始担心 libgbm 会有我不知道的其他依赖项... 我想知道楼宇是不是要发展的、还是有人可以给我指 AM3358处理器的 RGB565 SGX EGLFS 配方...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    显然、Mesa3D 提供了 libgbm、但我缺少 libwayland-server。 当我添加时、我在编译 host-cmake 时失败。 为了启动、我下载了 ti-processor-sdk-linux-am335x-evm-04.01.00.06并运行捆绑的 create-sdcard.sh 脚本、结果是我的 sdcard 上的第一个分区现在无法挂载、电路板无法启动。 嗯,我想我会继续尝试构建,因为我几乎就在那里--由于 SGX SDK 的过时版本,我错过了 RGB565。

    这确实比它应该更困难。 当我发现这一切时,我需要在网上为下一个人发布一个很好的教程。 :-)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Isaac、

    我发现您之前使用 的是 AM4/k4.1分支-

    缺省 PixelFormat 也在 AM3/k4.1分支中受支持、该分支本应用于 BBB。 迁移到  w 并选择最后提交 ID、然后尝试迁移到先前建议的 ti-img-SGX/1.14.3699939分支将会更容易。

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

    太棒了! 我需要使用 omap5-SGX-DDK-um-Linux 存储库的 AM3/k4.1分支的指令。 为了记录在案、下面简要介绍了如何让 RGB565颜色模式适用于 BeagleBone Black 和4DCAPE-70CT:

    1. 克隆 buildroot 和签出分支2017.05
    2. 使 BeagleBone_qt5_defconfig 成为文件
    3. 按如下方式编辑软件包/ti-SGX-km/ti-SGX-km.mk:
      1. 我们需要 ti-img-SGX/1.14.369999/k4.1中的最新版本。 在撰写此帖子时、这意味着设置 TI_SGX_KM_VERSION = fed0756f1b8b9d526da2821635c7d742989d47c3
      2. 删除 TI_SGX_KM_platform_name 的所有逻辑并将其替换为 TI_SGX_KM_platform_name = OMAP
    4. 按如下方式编辑 package/ti-SGX-um/ti-SGX-um.mk:
      1. 我们需要 AM3/k4.1的最新版本。 在撰写此帖子时、这意味着设置 TI_SGX_UM_VERSION = 84ae5444c7cb3f4c65a226b9hap62d4a513f3e0
    5. make (它会在末尾进行 barf、因为它不能对 beaglebonegreen 器件树文件进行校正)
    6. 获取此线程前面提到的 DTS 文件,并将其添加到 output/build/linux-*/arch/arm/boot/dts/am335x-boneblack-4d7ct.dts
    7. 修改 board/BeagleBone/genimage.cfg、将 DTB 条目替换为 上一步中添加的"AM335x-bonebry-4d7t.dtb"条目
    8. 使用"make menuconfig"并将设备树条目替换为与上面添加的 dtb 对应的条目
    9. 在 board/BeagleBone/uEnv.txt 中的某个位置添加"fdtfile=AM335x-bonebblack-4d7ct。dtb"行
    10. 制造(这次应该成功)
    11. 使用"dd"将 output/images/sdcard.img 写入 SD 卡