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: how to check the gpu have work in the qt program?

Part Number: AM3358

Hello:

I have post the am335x gpu problem in my old thread:

Now ,the cpu is still high 80% with one app.

Is there any method to check that  whether the qt program is using gpu to do the painting work  ?

I doubt that it is still the cpu do the painting work.

  • Hello,

    I recommend you to please review the tool provided by Imagination called PVRTune. Also, for optimizing your Qt program, please refer to the Qt community.

    QT Framework

    Regards,
    Krunal

  • Hello Krunal:

    root@am335x-evm:/opt/img-powervr-sdk/PVRHub/PVRPerfServer# ./PVRPerfServerDeveloper
    ./PVRPerfServerDeveloper: /usr/lib/libstdc++.so.6: no version information available (required by ./PVRPerfServerDeveloper)
    ./PVRPerfServerDeveloper: /usr/lib/libstdc++.so.6: no version information available (required by ./PVRPerfServerDeveloper)
    PVRPerfServerDeveloper v14.111.1 - Build 3.5@3533642
    Copyright (C) Imagination Technologies Ltd. All rights reserved.
    * Support: DevTech@imgtec.com
    * OS: Linux version 4.19.59-g5f8c1c6121 (wangl@ubuntu) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 PREEMPT Thu Nov 21 16:58:33 CST 2019
    * Time (local): Sat Oct 19 20:58:38 2019 (20:58:38)
    * Time (UTC): Sat Oct 19 20:58:38 2019 (20:58:38)
    * DRIVER BUILD: 1.17.494.8957
    * Device Variant: PowerVR SGX530
    * Device Series: PowerVR Series5
    * Processor count: 1
    This server is am335x-evm:6520 (lo:127.0.0.1,eth0:192.168.1.171)...
    Waiting for connection (press q to quit)...
    0.0ps 3t 0h : 00/00,Tu
    send error: Network is unreachable
    0.0ps 328t 0h : 00/00,Tu

    ,it seems that there is a  pc tool to connect to   PVRPerfServerDeveloper ,what it is ?

    When I run another tool 


    root@am335x-evm:~# ./start_tracing.sh log_test /home/root/testGL
    Enabling system wide tracing...
    tracefile is log_test
    application is /home/root/testGL
    mkdir: can't create directory 'pvrtrace': File exists
    ln: /opt/img-powervr-sdk/PVRHub/PVRTrace/Recorder/libEGL.so.1: File exists
    ln: /opt/img-powervr-sdk/PVRHub/PVRTrace/Recorder/libGLESv2.so.2: File exists

    NOTE: pvrtraceconfig.json can be edited with any text editor.
    {
    "*": {
    "Enabled": true,
    "Debug": {
    "Level": 1
    },
    "Host": {
    "EglLibraryPath": "/usr/lib/libEGL.so.1",
    "Es1LibraryPath": "/usr/lib/libGLESv1_CM.so.1",
    "Es2LibraryPath": "/usr/lib/libGLESv2.so.2"
    },
    "Tracing": {
    "OutputFilename": "log_test.pvrt",
    "RecordData": true,
    "OptimiseFileSize": false,
    "StartFrame": 0,
    "EndFrame": 9999,
    "ExitOnLastFrame": true,
    "ClientBufferRecordFrequency": 1,
    "SaveFrameBuffer": false
    },
    "Network": {
    "Enabled": false
    }
    }
    }

    Launching the application /home/root/testGL, press Ctrl-C when you want to stop tracing..
    /home/root/testGL: /usr/lib/libstdc++.so.6: no version information available (required by /opt/img-powervr-sdk/PVRHub/PVRTrace/Recorder/libPVRTrace.so)
    /home/root/testGL: /usr/lib/libstdc++.so.6: no version information available (required by /opt/img-powervr-sdk/PVRHub/PVRTrace/Recorder/libPVRTrace.so)
    /home/root/testGL: /usr/lib/libstdc++.so.6: no version information available (required by /opt/img-powervr-sdk/PVRHub/PVRTrace/Recorder/libPVRTrace.so)
    Config file found: /home/root/pvrtrace/pvrtraceconfig.json

    Reading config section: *
    PVRTrace has disabled support for shader/program binaries in the API. This can be changed by setting DisableBinaries to false in the config.
    Opening trace file 'log_test.pvrt' for recording.
    Recorder Version: 3.5@3533642
    Loading host library '/usr/lib/libEGL.so.1'
    Host library '/usr/lib/libEGL.so.1' loaded
    Loading host library '/usr/lib/libGLESv2.so.2'
    Host library '/usr/lib/libGLESv2.so.2' loaded
    Warning: Setting a new default format with a different version or profile after the global shared context is created may cause issues with context sharing.
    Failed to retrieve the OpenGL ES 2 state as there is no current context (we may crash)
    This can occur if an OpenGL ES call is made on a thread without a current context or the EGL calls aren't going through PVRTrace's libEGL

    Program received signal SIGSEGV, Segmentation fault.

    This occurred while recording:

    glBindTexture(0xDE1, 0x11171)

    ./start_tracing.sh: line 35: 2652 Aborted (core dumped) $2
    Trace output is stored is under pvrtrace/log_test.pvrt
    -rw-r--r-- 1 root root 117829 Jan 20 2020 pvrtrace/log.txt.pvrt
    -rw-r--r-- 1 root root 2553 Jan 20 2020 pvrtrace/log_test.pvrt
    -rw-r--r-- 1 root root 2553 Jan 20 2020 pvrtrace/logxx.txt.pvrt

    what is wrong?

    Best regards

    wangl

  • Hello wangl,

    On your host side, you need to run the PVRTune GUI. Please refer to the following page for more information.

    Regards,
    Krunal