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.

AM335x Matrix and Qt demo issue

Other Parts Discussed in Thread: AM3358, AM3352

I am SW RD of Advantech, we develop two products based on TI AM-335x, one is RSB-4220 based on AM3352, the other is RSB-4221 based on AM3358. now we want to update the Linux to TI Linux SDK v2.00.00.00  and encounter problems. when we porting the Linux SDK v2.00.00.00 to our devices(RSB-4220 and RSB-4221), the matrix or Qt program cannot run.

the error message is as follows:

PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so

PVR:(Error): OpenServices: Cannot open device driver /dev/omapdrm_pvr. [140, /pvr_bridge_u.c]

PVR:(Error): PVRSRVConnect: Unable to open connection. [361, /bridged_pvr_glue.c] Cannot initialize PVR2D contex Could not initialize egl display Aborted

we try to re-compile the QT library without opengl and then matrix and QT demo can run OK but display is not full screen. like that:

          

it seem that the problem relevant to SGX acceleration. the default setting of QT library is enable the acceleration.

RSB4221 based on AM-3358 have SGX acceleration function. but still cannot run matrix and QT demo with openGL enabled.

so, here are two problem need TI help:

1. On RSB4221(AM3358), how to run the matrix or Qt demo successfully with SGX acceleration(OpenGL enable).

2.On RSB4220(AM3352), we re-compile the Qt library without OpenGL, now, the matrix can run, but is not full screen, how to resolve it?

 

Looking forward TI reply, thanks advance.

  • Hi,

    The following errors:
    PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so

    PVR:(Error): OpenServices: Cannot open device driver /dev/omapdrm_pvr. [140, /pvr_bridge_u.c]

    PVR:(Error): PVRSRVConnect: Unable to open connection. [361, /bridged_pvr_glue.c] Cannot initialize PVR2D contex Could not initialize egl display Aborted

    happen on your AM3352 device, right? This is because AM3352 devices do not have SGX integrated in the SoC, and if you look at the board bootlog, you probably get kernel errors regarding this. You could configure the matrix to run without the OpenGL + SGX, but a lot of demos won't work, because they require OpenGL + SGX.

    AM3358 devices should run OK. I've tested this on my reference boards, and didn't have issues. Try executing:
    cd /etc/init.d
    ./matrix-gui-2.0 stop
    ./matrix-gui-2.0 start

    Maybe also execute pvr-init, prior to restarting the matrix gui.

    Best Regards,
    Yordan
  • Hi,
    It happen on both AM3352 and AM3358, when we porting the Linux SDK v2.00.00.00 to our product, we modify and rebuild the kernel source source. Then the default driver "omapdrm_pvr.ko" that is in /lib/modules/4.1.6-g52c4aa7/extra/ folder can not insert to kernel, so we rebuild the omapdrm_pvr.ko from source code that is included in extra-drivers of SDK. after rebuild the omapdrm_pvr.ko, it can insert into kernel, but still have problem when we run
    root@am335x-evm:/# matrix_browser
    the error message is as follows:
    PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so

    PVR:(Error): OpenServices: Cannot open device driver /dev/omapdrm_pvr. [140, /pvr_bridge_u.c]

    PVR:(Error): PVRSRVConnect: Unable to open connection. [361, /bridged_pvr_glue.c] Cannot initialize PVR2D contex Could not initialize egl display Aborted.

    can you try to rebuild the omapdrm_pvr.ko from source code and verify it again? or how can I insert the the original omapdrm_pvr.ko into kernel after I rebuild the kenrel? we found the file size if very different between original omapdrm_pvr.ko and that we build.

    another thing, I want to know how to configure the matrix to run without the OpenGL + SGX on AM3352?
    we rebuild Qt 5.5 without the OpenGL + SGX and replace the QT library in root filesystem, then matrix can run in AM3352 except the display is not full screen. how to resolve it.

    thanks,
    Jianfeng
  • Hi,

    user4103514 said:
    another thing, I want to know how to configure the matrix to run without the OpenGL + SGX on AM3352?

    Have a look at this thread: 
     https://e2e.ti.com/support/arm/sitara_arm/f/791/t/454526 

    Refer to the last post made by Brad Griffis. 

    As for rebuilding the sgx driver, I've done this in the past & it worked on my AM335x Starter Kit, running SDK2.0. I'll check it again. 

    Best Regards, 
    Yordan

  • Hi,

    I've tested this and the board (am335x starter kit) boots fine.

    Can you share your procedure of rebuilding the pvr driver? It should be as follows:
    cd ~/ti-processor-sdk-linux-am335x-evm-02.00.01.07
    export ARCH=arm
    export PATH=<path/to>/ti-processor-sdk-linux-am335x-evm-02.00.01.07/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$PATH
    export CROSS_COMPILE=arm-linux-gnueabihf-

    make omapdrm-pvr_clean
    make omapdrm-pvr
    make omapdrm-pvr_install

    Best Regards,
    Yordan
  • The cpu-only issue of it not filling the screen may be this same issue:

    bugreports.qt.io/.../QTBUG-46403
  • I'm attaching a few updates files for the Matrix GUI that I believe should get around the issue:

    We also filed a related bug:

    https://bugreports.qt.io/browse/QTBUG-53827

    Can you please retry the Matrix with the attached files and let me know if that resolves the issue?

    Thanks,
    Brad