Part Number: AM3354
Hello,
I am trying to get the SGX driver to work for quite some time now, however with no real success.
I am using YOCTO zeus with the meta-ti layer. Linux kernel is 5.4.43-rt25.
I included the ti-sgx-ddk-km and ti-sgx-dd-um recipes in my image and was able to build pvrsrvkm.ko and pvrsrvctl.
local.conf:
IMAGE_INSTALL_append = " ti-sgx-ddk-km ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/libgles1 = "ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/gpudriver = "ti-sgx-ddk-km"
On startup of my system, the kernel module seems to load OK:
[ 25.239699] 000: pvrsrvkm: loading out-of-tree module taints kernel.
[ 25.568382] 000: [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1
However, when I try to start the user module with "pvrsrvctl --start --no-module", I get the following errors:
PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed [0, ]
PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (4) [0, ]
/usr/bin/pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_INIT_FAILURE)
What can be the reason for this behaviour?
In my /sys/class/drm folder I find the following entries:
drwxr-xr-x 52 root root 0 Jan 1 00:00 ..
lrwxrwxrwx 1 root root 0 Jan 1 00:00 card0 -> ../../devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@300000/4830e000.target-module/4830e000.lcdc/drm/card0
lrwxrwxrwx 1 root root 0 Jan 1 00:00 card0-LVDS-1 -> ../../devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@300000/4830e000.target-module/4830e000.lcdc/drm/card0/card0-LVDS-1
lrwxrwxrwx 1 root root 0 Jan 1 00:00 card1 -> ../../devices/platform/ocp/ocp:target-module@56000000/56000000.gpu/drm/card1
lrwxrwxrwx 1 root root 0 Jan 1 00:03 renderD128 -> ../../devices/platform/ocp/ocp:target-module@56000000/56000000.gpu/drm/renderD128
-r--r--r-- 1 root root 4.0K Jan 1 00:00 version
Under /dev/dri, however, there is only one card:
drwxr-xr-x 2 root root 60 Jan 1 00:00 by-path
crw-rw---- 1 root video 226, 0 Jan 1 00:00 card0
Could this mean that the render device node is not created? What could be the reason? How to fix this?
Kind regards
Dirk