g2d_open() and renderD129

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

g2d_open() and renderD129

595 Views
Jonners
Contributor II

Hi,

I have an application that decodes JPEG images in hardware to RGB. This works fine on older Dunfell Yocto release. I now have built the Kirkstone release and the application can no longer call g2d_open(). It fails with errno = 2.

When I run my app through "strace" I get the following output:

strace -f -e open,openat ./HWcompress 2>&1 | grep -i "open"
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libimxdmabuffer.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libg2d.so.2", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libv4l2.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libdrm.so.2", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libOpenCL.so.3", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libv4lconvert.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib64/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libjpeg.so.62", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libGAL.so", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libVSC.so", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libEGL.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libwayland-server.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libwayland-client.so.0", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libgbm.so.1", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libgbm_viv.so", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib64/libffi.so.8", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/dev/dma_heap/linux,cma-uncached", O_RDONLY) = 3
openat(AT_FDCWD, "/dev/dma_heap/linux,cma-uncached", O_RDWR) = 4
openat(AT_FDCWD, "/dev/dri/renderD128", O_RDWR|O_CLOEXEC) = 5
openat(AT_FDCWD, "/dev/dri/renderD129", O_RDWR|O_CLOEXEC) = -1 ENOENT (No such file or directory)
g2d_open: Init Dpu Handle fail !
dpuv1/dpu_lib.c:388 open file error.

 

On my Dunfell release renderD129 does not exist either, yet g2d_open() works, so it is not trying to open renderD129.

Do I need to add renderD129 (somehow) to my Kirkstone image, or is there something new in Kirkstone trying to use renderD129 that I don't need so can remove from the image?

This is an embedded device with no screens, etc. Only network interface. The only graphics hardware being used is to decode JPEG images off the CPU.

 

Kind regards,

Jonners.

Tags (1)
0 Kudos
Reply
2 Replies

578 Views
Jonners
Contributor II

Hi,

Many thanks for your reply, and ultimately I can upgrade to Mickledore. However, may I ask, on your setup do you have:

/dev/dri/renderD129

My Dunfell does not and neither does my Kirkstone. On Dunfell my application runs find (g2d_open is OK) but on Kirkstone g2d_open() is trying to open renderD129. I don't believe it should!

Kind regards,

Jonners.

0 Kudos
Reply

584 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

this is with i.MX8MPlus? I tested and works nicely in mickledore, not with kirckstone. You can update you yocto to 6.1 from:

https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for...

Regards

 

0 Kudos
Reply