Vivante VDK 5.10.2

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Vivante VDK 5.10.2

3,219 Views
rakesh3
Contributor V

HI team.

 

I am using the kernel BSP 5.10.72 so i want to use the gpu_vprofiler for this version to get the compatible openGL and EGL libraries.

 

Please help me to get this Vivante_vdk for this version 5.10.72 to test the Qt applicaions GPU usage.

Regards,

Rk

Labels (3)
Tags (2)
0 Kudos
Reply
12 Replies

3,183 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @rakesh3,

I hope you are doing well
 
Please find the below link to download the VDK.
 
VivanteVTK-v6.2.4.p4.1.7.8
 
Thanks & Regards
Kaival Prajapati
0 Kudos
Reply

3,168 Views
rakesh3
Contributor V

Thanks, Dhruvit for reply,

Actually, i am getting the below msg and getting segmentation fault while running the Qt5 app.

.dynamic section for "/rootfs/lib/arm-linux-gnueabihf/libGLESv1_CM.so" is not at the expected address (wrong library or version mismatch?)

.dynamic section for "/rootfs/lib/arm-linux-gnueabihf/libEGL.so.1" is not at the expected address (wrong library or version mismatch?)

 

These libraries are provided by vivanted GPU 6.4.3

Is there any library version mismatched happened between the im-gpu-viv library for kernel 5.10 and what I am using or something else.

Please give suggestions on this.

Regards,

Rk

 

 

0 Kudos
Reply

3,130 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @rakesh3,

I hope you are doing well
 
My apology for the delayed response.
From the logs, it seems that these are the warnings. Please confirm that the libraries "libGLESv1_CM.so" and "libEGL.so.1" are present and if they are the soft links the file linked with them is present.

 

Kindly share the steps you performed for further debugging the issue.

 

Thanks & Regards,
Dhruvit Vasavada

0 Kudos
Reply

3,114 Views
rakesh3
Contributor V

Hi Dhruit,

 

Thanks for your reply,

Actually, the root issue is that I am getting the segmentation fault in Qt5 application and here i am using the imx-gpu-viv libraries into target board. But while running the qt application i am getting the segmentation fault at libEGL library .

So currently I am using the below configuration in usr/lib/

ibEGL.so.1.5.0
lrwxrwxrwx 1 rakesh rakesh 15 Jul 5 2022 libEGL.so -> libEGL.so.1.5.0
lrwxrwxrwx 1 rakesh rakesh 15 Jul 5 2022 libEGL.so.1 -> libEGL.so.1.5.0
lrwxrwxrwx 1 rakesh rakesh 20 Mar 25 2021 libEGL_mesa.so.0 -> libEGL_mesa.so.0.0.0
-rw-r--r-- 1 rakesh rakesh 150588 Mar 25 2021 libEGL_mesa.so.0.0.0
-rw-r--r-- 1 rakesh rakesh 46744 Jul 29 2020 libEGL.so.1.1.0

and 

libGLES_CL.so.1.1.0
-rwxr-xr-x 1 rakesh rakesh 292400 Jul 5 2022 libGLES_CM.so.1.1.0
-rwxr-xr-x 1 rakesh rakesh 284208 Jul 5 2022 libGLESv1_CL.so.1.1.0
-rwxr-xr-x 1 rakesh rakesh 284208 Jul 5 2022 libGLESv1_CM.so.1.1.0
-rwxr-xr-x 1 rakesh rakesh 1455904 Jul 5 2022 libGLESv2.so.2.0.0
lrwxrwxrwx 1 rakesh rakesh 19 Jul 5 2022 libGLES_CL.so -> libGLES_CL.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 19 Jul 5 2022 libGLES_CL.so.1 -> libGLES_CL.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 19 Jul 5 2022 libGLES_CM.so -> libGLES_CM.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 19 Jul 5 2022 libGLES_CM.so.1 -> libGLES_CM.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 21 Jul 5 2022 libGLESv1_CL.so -> libGLESv1_CL.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 21 Jul 5 2022 libGLESv1_CL.so.1 -> libGLESv1_CL.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 21 Jul 5 2022 libGLESv1_CM.so -> libGLESv1_CM.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 21 Jul 5 2022 libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
lrwxrwxrwx 1 rakesh rakesh 18 Jul 5 2022 libGLESv2.so -> libGLESv2.so.2.0.0
lrwxrwxrwx 1 rakesh rakesh 18 Jul 5 2022 libGLESv2.so.2 -> libGLESv2.so.2.0.0
-rw-r--r-- 1 rakesh rakesh 38364 Jul 29 2020 libGLESv1_CM.so.1.2.0
-rw-r--r-- 1 rakesh rakesh 87516 Jul 29 2020 libGLESv2.so.2.1.0

I am strongly suspecting any library issue here, I am getting the upstream library and imx-gpu-viv library also.

If i am changing the  libEGL.so.1.5.0 to  libEGL.so.1.1.0 then I am not getting any segmentation fault  but since its working in the imx-prebuild image so Ideally it should work with  libEGL.so.1.5.0 also.

Below is the library used by Qt app.

# ldd demo
linux-vdso.so.1 (0x7ed7a000)
libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5 (0x76aa1000)
libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0x765f8000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x764bd000)
libc.so.6 => /lib/libc.so.6 (0x763c1000)
libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0x75f27000)
libm.so.6 => /lib/libm.so.6 (0x75ec1000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x75e98000)
/lib/ld-linux-armhf.so.3 (0x76f1c000)
libpthread.so.0 => /lib/libpthread.so.0 (0x75e73000)
libz.so.1 => /lib/libz.so.1 (0x75e53000)
libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0x75e03000)
libdl.so.2 => /lib/libdl.so.2 (0x75df0000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x75d02000)
libGLESv2.so.2 => /usr/lib/libGLESv2.so.2 (0x75acb000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x75a98000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x75a38000)
libGAL.so => /usr/lib/libGAL.so (0x75954000)
libVSC.so => /usr/lib/libVSC.so (0x74ad8000)

Doubts: -

1) I am not getting sometimes any GPU related output ([drm] Initialization vivante) in $dmesg | grep GPU.

2) I am getting some error logs in X11.0.log as below 

VIVANTE(0): Backing store enabled
[ 73.718] (==) VIVANTE(0): DPMS enabled
[ 74.428] (EE) VIVANTE(0): [dri] VivDRIScreenInit failed because Drm can't be opened.
[ 74.460] (II) Initializing extension Generic Event Extension 

This might be reason for segmentation fault or its a expected logs.?

Below is the backtrace of Qt application.

OThread 1 "demo" received signal SIGSEGV, Segmentation fault.
0xb6053908 in pthread_mutex_lock () from /lib/arm-linux-gnueabihf/libpthread.so.0
(gdb) bt full
#0 0xb6053908 in pthread_mutex_lock () from /lib/arm-linux-gnueabihf/libpthread.so.0
No symbol table info available.
#1 0xb0c0f048 in wl_proxy_create_wrapper () from /lib/arm-linux-gnueabihf/libwayland-client.so.0
No symbol table info available.
#2 0xb0c5dd64 in ?? () from /lib/arm-linux-gnueabihf/libEGL.so.1
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

libEGL-mesa0 is required or not?

How to process here, please give suggestions on this, since it's a long time Issue still I am not seeing any further debug points here .

Attached Xorg.log file.

Regards,

Rk

0 Kudos
Reply

3,036 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @rakesh3,

I hope you are doing well

My apology for the inconvenience.
 
We would recommend you kindly verify the kernel driver configuration according to Chapter 5 Graphics from i.MX Linux Reference Manual of your BSP version.
 
Thanks & regards,
Dhruvit Vasavada
0 Kudos
Reply

2,986 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @rakesh3,

I hope you are doing well.

Kindly confirm whether you are using this Yocto version given by the NXP or not.
 
Thanks & Regards,
Dhruvit Vasavada

0 Kudos
Reply

2,973 Views
rakesh3
Contributor V

Thanks for reply, 

Sorry for wrong information. We are not using the Yocto, we are just using the bitbake method to build the image.

Actually, we got these prebuild attached libraries from NXP for GPU driver and now the Qt5 application is getting segmentation fault.

But qt6 application is working fine without any segmentation fault but i think GPU is not being used in that case CPU usage is 200% and rendering is very slow.

If I change the libEGL.so.1.5.0(prebuild) to libEGL.so.1.1.0(upstream version) then at least we are not getting the segmentation fault in Qt5 application.

One more thing, As per this ticket Solved: Re: QT5.4 eglfs(hellogl_es2) Segmentation fault - NXP Community 

Could you please tell me how to check the "Kernel gpu driver version and graphics driver version used in user-land" 

 

Also, please find the detailed backtrace of SEG FAULT in attached doc.

 

 

0 Kudos
Reply

2,869 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @rakesh3,

I hope you are doing well
 
My apology for the delayed response.
 
 we got these prebuild attached libraries from NXP for the GPU driver and now the Qt5 application is getting segmentation faults.
=> If possible kindly share the source or the download link of the prebuilt libraries you are using to further debug the issue.
 
Thanks & Regards,
Dhruvit Vasavada

0 Kudos
Reply

2,830 Views
rakesh3
Contributor V

Hi,

Thanks for reply,

 

I have attached the libraries in the ticket imx-gpu-viv_6.4.3 which we got and currently using it with X11 GPU application.

 

Please look once to that library.

Regards,

Rk

0 Kudos
Reply

2,775 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @rakesh3,

I hope you are doing well

My sincere apology for the delayed response.
 
Yes, according to release notes, The GPU Supports EGL 1.5 for fbdev, X11, XWayland.
 
Could you please share the OpenSSL version you are using?
Kindly check the same using the command "openssl version -a ".
Kindly try to update the version to OpenSSL 1.1.1 if you are using the libEGL.so.1.5.0 and try.
 
Thanks & Regards,
Dhruvit Vasavada
0 Kudos
Reply

3,078 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @rakesh3,

I hope you are doing well
 
The library-related information is mentioned in the i.MX Linux Reference Manual section 5.1.6 Library Structure and 5.3.4 X-Windows Acceleration Architecture.
 
Kindly share the error logs you are getting in the segmentation fault.
 
Please share the Yocto version you are using to build the image.
 
Thanks & Regards,
Dhruvit Vasavada

0 Kudos
Reply

3,031 Views
rakesh3
Contributor V

Thanks for reply,

 

Below is the backtrace of seg fault.

In the backtrace in gdb I am getting the below error,

OThread 1 "demo" received signal SIGSEGV, Segmentation fault.
0xb6053908 in pthread_mutex_lock () from /lib/arm-linux-gnueabihf/libpthread.so.0
(gdb) bt full
#0 0xb6053908 in pthread_mutex_lock () from /lib/arm-linux-gnueabihf/libpthread.so.0
No symbol table info available.
#1 0xb0c0f048 in wl_proxy_create_wrapper () from /lib/arm-linux-gnueabihf/libwayland-client.so.0
No symbol table info available.
#2 0xb0c5dd64 in ?? () from /lib/arm-linux-gnueabihf/libEGL.so.1
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

 

I am using the Yocto Dunfell version. Currently I am using the prebuild libs for X11 GPU. Please have a look into these libs. (Suspected libs are libEGL/libGLES)

Please give suggestions for this seg fault.

0 Kudos
Reply