g2d_open fails with device not found in imx8mp

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

g2d_open fails with device not found in imx8mp

Jump to solution
553 Views
greeran
Contributor III

hi. i am encountering a problem with starting the weston service. the service fails on the g2d_open. In syslog i see 4 time the "Failed to open device: no such file or directory" and then a _OpenDevice FATAL failed to open device with error no such file of directory.

the log is

19:09:17.629] weston 10.0.1

               Build: lf-5.15.52-2.1.0+

[19:09:17.629] Command line: /usr/bin/weston --log=/run/user/0/weston.log --modules=systemd-notify.so

[19:09:17.629] OS: Linux, 5.15.71+gd8bd184916a0, #1 SMP PREEMPT Wed Jun 28 11:11:32 UTC 2023, aarch64

[19:09:17.629] Flight recorder: enabled

[19:09:17.629] Using config file '/etc/xdg/weston/weston.ini'

[19:09:17.630] Output repaint window is 16 ms maximum.

[19:09:17.630] Loading module '/usr/lib/libweston-10/drm-backend.so'

[19:09:17.634] initializing drm backend

[19:09:17.648] logind: session control granted

[19:09:17.653] using /dev/dri/card0

[19:09:17.653] DRM: supports atomic modesetting

[19:09:17.653] DRM: does not support GBM modifiers

[19:09:17.653] DRM: supports picture aspect ratio

[19:09:17.654] Loading module '/usr/lib/libweston-10/g2d-renderer.so'

i am running a custom image and would like to know if i am missing something, a library/ driver or configuration

thanks

Ran

0 Kudos
1 Solution
537 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Are you using linux-imx kernel?

Please make sure you are using linux-imx kernel and install the gpu library.

And the gpu dts node should be enabled in your dts like imx8mp-evk.dts

View solution in original post

0 Kudos
6 Replies
381 Views
Jonners
Contributor II

Hi again,

I am still having issues calling g2d_open() - when I "strace" my application 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.

renderD129 does not exist (obviously) and my same application in Dunfell release did not try and open renderD129 when calling g2d_open(). Do I need to add this render (somehow) or is there something installed that should not be, which is trying to use renderD129?

Kind regards,

Jonners.

 

0 Kudos
448 Views
greeran
Contributor III

hi Jonners

I believe that when i enabled the CONFIG_MXC_GPU_VIV the weston was able to start.

hope it helps

Ran

 

0 Kudos
538 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Are you using linux-imx kernel?

Please make sure you are using linux-imx kernel and install the gpu library.

And the gpu dts node should be enabled in your dts like imx8mp-evk.dts

0 Kudos
513 Views
greeran
Contributor III

The gpu is enable (gpu_2d status = "okay") and i am using the linux-imx.

0 Kudos
510 Views
greeran
Contributor III
my mistake. all was configured but the gpu_mxc configuration in the kernel was disabled. i changed was able to open the device
thanks
Ran
0 Kudos
491 Views
Jonners
Contributor II

Hi,

I'm having the same issue - how do you enable gpu_mxc configuration in the kernel?

 

Kind regards,

Jonners.