Tool/software: Linux
I am building a lightweight Linux kernel that includes only the most basic SGX graphics capabilities. I have everything working with one exception. I still have to copy the libgbm binaries from the processor SDK build because mine do not work correctly. Whenever I call gbm_surface_create, I get a segmentation fault. When I use the version from the TI processor SDK output (Yocto), everything works fine.
git.ti.com/.../96f37555c7e82a417b02051661377b10e6b3966e
When building libgbm, are there any additional configuration steps that I need to take beyond running autogen.sh?
# /etc/init.d/rc.pvr start
[ 21.711516] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
Loaded PowerVR consumer services.
# kmscube
trying to load module omapdrm...failed.
trying to load module tilcdc...success.
### Display [0]: CRTC = 24, Connector = 26, format = 0x34325258
Mode chosen [800x480] : Clock => 45000, Vertical refresh => 92, Type => 72
Horizontal => 800, 840, 888, 928, 0
Vertical => 480, 493, 496, 525, 0
### Primary display => ConnectorId = 26, Resolution = 800x480
Initializing GBM...
gbm_create_device
failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
loaded module : gbm_pvr.so
found valid GBM backend : gbm_pvr.so
gbm_surface_create
Segmentation fault
My buildroot makefile is listed below
################################################################################ # # ti-gbm # ################################################################################ # This correpsonds to TI processor SDK 04.01.00 TI_GBM_VERSION = 96f37555c7e82a417b02051661377b10e6b3966e TI_GBM_SITE = git://git.ti.com/glsdk/libgbm.git TI_GBM_LICENSE = MIT TI_GBM_DEPENDENCIES = libdrm udev TI_GBM_INSTALL_STAGING = YES TT_GBM_INSTALL_TARGET = YES TI_GBM_AUTORECONF = YES TI_GBM_AUTORECONF_OPTS = -v --install TI_GBM_CONF_OPTS = --enable-maintainer-mode define TI_GBM_MAKE_SYMLINK mkdir $(TARGET_DIR)/usr/lib/gbm ln -sf ../libpvrGBMWSEGL.so.1.14.3699939 $(TARGET_DIR)/usr/lib/gbm/gbm_pvr.so endef TI_GBM_POST_INSTALL_TARGET_HOOKS += TI_GBM_MAKE_SYMLINK $(eval $(autotools-package))