I am trying to get the Graphics SDK 4.10.0.1 running on my BBB in order to run Qt5 QtQuick2 applications which need OpenGL ES.
My Kernel is from the RoberCNelson tree:
root@arm:~# uname -a
Linux arm 3.8.13-bone28 #1 SMP Wed Oct 23 21:43:09 CEST 2013 armv7l GNU/Linux
Compiler is gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux
I downloaded the Graphics_SDK_setuplinux_4_10_00_01_hardfp_minimal_demos.bin and also the Graphics_SDK_setuplinux_4_10_00_01.bin. In the second one compilng with SUPPORT_XORG=1 is not working. So I used the hardfp package.
Here the steps I made:
For the Kernel:
cloned https://github.com/RobertCNelson/linux-dev and checkout out the 3.8.13-bone28 branch
run ./kernel_build.sh to build the kernel
For the SDK:
- Modified the Rules.make for my environment
- Modified the /GFX_Linux_KM/services4/3rdparty/linux_drm/Kbuild file (uncommented Kernel 3.4 - 3.8 section and commented the default config)
- file: 5165.Kbuild.txt
SYS_USING_INTERRUPTS = 1 SUPPORT_OMAP3430_OMAPFB3 =1 SUPPORT_TI_DSS_FW = 0 PVR_LINUX_USING_WORKQUEUES = 1 SUPPORT_DRI_DRM =1 SYS_CFLAGS.$(SYS_USING_INTERRUPTS) += -DSYS_USING_INTERRUPTS SYS_CFLAGS.$(SUPPORT_OMAP3430_OMAPFB3) += -DSUPPORT_OMAP3430_OMAPFB3 SYS_CFLAGS.$(SUPPORT_TI_DSS_FW) += -DSUPPORT_TI_DSS_FW SYS_CFLAGS.$(PVR_LINUX_USING_WORKQUEUES) += -DPVR_LINUX_USING_WORKQUEUES EXT_SOURCE_DIR := $(KERNELDIR)/drivers/gpu/drm EXTRA_CFLAGS = -DLINUX \ -DCONFIG_PCI \ -Wno-error \ -I$(KERNELDIR)/include/drm \ -I$(KERNELDIR)/include/linux \ -I$(EXT_SOURCE_DIR) \ $(SYS_CFLAGS.1) \ ifeq ($(SUPPORT_DRI_DRM),1) EXTRA_CFLAGS += -DPVR_DISPLAY_CONTROLLER_DRM_IOCTL ifeq ($(TI_PLATFORM),omap4) EXTRA_CFLAGS += -DCONFIG_SLOW_WORK endif endif obj-m := drm.o #ifeq ($(TI_PLATFORM),omap4) #drm-y := pvr_drm_stubs.o drm_auth.o drm_bufs.o drm_cache.o drm_context.o drm_dma.o drm_drawable.o drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \ # drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \ # drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \ # drm_sysfs.o drm_hashtab.o drm_sman.o drm_mm.o \ # drm_crtc.o drm_modes.o drm_edid.o \ # drm_info.o drm_debugfs.o drm_encoder_slave.o #else # Works for 2.6.37 till 3.2 kernel #drm-y := pvr_drm_stubs.o drm_auth.o drm_bufs.o drm_cache.o drm_context.o drm_dma.o drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \ # drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \ # drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \ # drm_sysfs.o drm_hashtab.o drm_sman.o drm_mm.o \ # drm_crtc.o drm_modes.o drm_edid.o \ # drm_info.o drm_debugfs.o drm_encoder_slave.o drm_global.o drm_platform.o drm_trace_points.o #endif # For 3.3 kernel only #drm-y := pvr_drm_stubs.o drm_auth.o drm_bufs.o drm_cache.o drm_context.o drm_dma.o drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \ # drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \ # drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \ # drm_sysfs.o drm_hashtab.o drm_mm.o \ # drm_crtc.o drm_modes.o drm_edid.o \ # drm_info.o drm_debugfs.o drm_encoder_slave.o drm_global.o drm_platform.o drm_trace_points.o # For greater than/equal to 3.4 till 3.8 kernel drm-y := pvr_drm_stubs.o drm_auth.o drm_bufs.o drm_cache.o drm_context.o drm_dma.o drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \ drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \ drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \ drm_sysfs.o drm_hashtab.o drm_mm.o \ drm_crtc.o drm_modes.o drm_edid.o \ drm_info.o drm_debugfs.o drm_encoder_slave.o drm_global.o drm_platform.o drm_trace_points.o drm_prime.o # less than 2.6.32 kernel #drm-y := pvr_drm_stubs.o drm_auth.o drm_bufs.o drm_cache.o drm_context.o drm_dma.o drm_drawable.o drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \ # drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \ # drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \ # drm_sysfs.o drm_hashtab.o drm_sman.o drm_mm.o \ # drm_crtc.o drm_modes.o drm_edid.o \ # drm_info.o drm_debugfs.o drm_encoder_slave.o
- file:
- Run make BUILD=release OMAPES=8.x FBDEV=yes SUPPORT_XORG=1 all
- log: 1055.compile.txt
- Run sudo make BUILD=release OMAPES=8.x FBDEV=yes SUPPORT_XORG=1 install
- log: 5734.install.txt
exporting necessary variables and installing... ######################################################## Please ensure that PSP Linux kernel is re-built atleast once, Please refer online guide for further details. ######################################################## creating directories... copying startup files... copying user space graphics libraries to target file system... copying install information to target file system... copying graphics SDK demos to target file system...
- log:
Loading the modules:
Run /etc/init.d/335x-demo
log:
0x10205 release8.x installing 8.x SGX release user libraries Installing PowerVR Consumer/Embedded DDK 'sgxddk_1.10@2359475' on target File system installation root is / Uninstalling existing version sgxddk_1.10@2359475 Uninstallation completed. boot script rc.pvr -> /etc/init.d/rc.pvr kernel module drm.ko -> /lib/modules/3.8.13-bone28/extra/drm.ko kernel module pvrsrvkm.ko -> /lib/modules/3.8.13-bone28/extra/pvrsrvkm.ko shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.10.2359475 shared library libusc.so -> /usr/lib/libusc.so.1.10.2359475 shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.10.2359475 shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.10.2359475 shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.10.2359475 shared library libEGL.so -> /usr/lib/libEGL.so.1.10.2359475 shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.10.2359475 shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.10.2359475 shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.10.2359475 shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.10.2359475 shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.10.2359475 shared library libpvrPVR2D_DRIWSEGL.so -> /usr/lib/libpvrPVR2D_DRIWSEGL.so.1.10.2359475 shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.10.2359475 shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.10.2359475 shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.10.2359475 binary pvrsrvctl -> /usr/local/bin/pvrsrvctl binary sgx_init_test -> /usr/local/bin/sgx_init_test binary services_test -> /usr/local/bin/services_test binary sgx_blit_test -> /usr/local/bin/sgx_blit_test binary sgx_clipblit_test -> /usr/local/bin/sgx_clipblit_test binary sgx_flip_test -> /usr/local/bin/sgx_flip_test binary sgx_render_flip_test -> /usr/local/bin/sgx_render_flip_test binary pvr2d_test -> /usr/local/bin/pvr2d_test shader glsltest1_vertshader.txt -> /usr/local/bin/glsltest1_vertshader.txt shader glsltest1_fragshaderA.txt -> /usr/local/bin/glsltest1_fragshaderA.txt shader glsltest1_fragshaderB.txt -> /usr/local/bin/glsltest1_fragshaderB.txt binary eglinfo -> /usr/local/bin/eglinfo binary xeglinfo -> /usr/local/bin/xeglinfo binary xgles1test1 -> /usr/local/bin/xgles1test1 binary xmultiegltest -> /usr/local/bin/xmultiegltest binary xgles1_texture_stream -> /usr/local/bin/xgles1_texture_stream binary xgles2test1 -> /usr/local/bin/xgles2test1 binary xgles2_texture_stream -> /usr/local/bin/xgles2_texture_stream X.Org PVR DDX video module pvr_drv.so -> /usr/local/XSGX/lib/xorg/modules/drivers/pvr_drv.so X.Org configuration file xorg.conf -> /usr/local/XSGX/etc/xorg.conf Installation complete! You may now reboot your target. /etc/init.d/335x-demo: 21: /etc/init.d/335x-demo: [[: not found
reboot
root@arm:/etc/init.d# lsmod
Module Size Used by
g_multi 56821 0
libcomposite 17153 1 g_multi
nfsd 234170 2
exportfs 3701 1 nfsd
hid_multitouch 7690 0
root@arm:/etc/init.d# modprobe pvrsrvkm
[ 1628.158673] pvrsrvkm: Unknown symbol drm_pvr_dev_remove (err 0)
[ 1628.167921] pvrsrvkm: Unknown symbol drm_pvr_dev_add (err 0)
ERROR: could not insert 'pvrsrvkm': Unknown symbol in module, or unknown parameter (see dmesg)
root@arm:/etc/init.d# modprobe --show-depends drm
insmod /lib/modules/3.8.13-bone28/extra/drm.ko
root@arm:/etc/init.d# modprobe --show-depends pvrsrvkm
insmod /lib/modules/3.8.13-bone28/extra/drm.ko
insmod /lib/modules/3.8.13-bone28/extra/pvrsrvkm.ko
Also a depmod -a does not help. Any idea what it could be?