Hİ Everyone,
I have been trying to solve beaglebone black SGX problem. I started to make all of things in eewiki beaglebone black article.
I compiled u-boot,kernel and created minimal sdcard debian rootfs and now all SGX demos are working (OGLES2).
Problem is QT opengl.
$./hellogl_es2 -qws -display powervr
Output:
QFactoryLoader::QFactoryLoader() looking at "/opt/qt-embedded/plugins/gfxdrivers/libqgfxpvregl.so"
keys ("powervr")
QFactoryLoader::QFactoryLoader() looking at "/opt/qt-embedded/plugins/mousedrivers/libqpcmousedriver.so"
keys ("Auto", "IntelliMouse", "Microsoft", "MouseSystems", "MouseMan")
Error opening mouse device '/dev/input/mouse0': No such file or directory
QEglContext::createSurface(): Unable to create EGL surface, error = 0x300b
gui is working but opengl es2 screen all f.... green.
Please help me to solve this. You will say look at the TI SGXDebug, QT Quick sgx pages etc. all I looked and I am about to getting crazy.
RULES.MAKE
################# FIELDS MODIFIABLE BY THE USER ###############################
############### All the fields below are MANDATORY ############################
#By default all below variables have been initialized with equivalent AMSDK variables
# Change them to appropriate paths as per your machine/build environment paths.
# Set home area (ex /home/user/)
HOME=/opt/qt-bbb/sgx/
# Set Toolchain path (ex /home/user/toolchain/arago-2011.09/armv7a)
CSTOOL_DIR=/opt/kernel/bb-kernel/dl/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf
#/opt/toolchain/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux
# Set Tool chain prefix (ex arm-arago-linux-gnueabi- )
CSTOOL_PREFIX=arm-linux-gnueabihf-
# Set kernel installation path ( ex /home/user/linux-04.00.01.13 )
KERNEL_INSTALL_DIR=/opt/kernel/bb-kernel/KERNEL
#/opt/kernel/3.14
# Set Target filesystem path ( ex /home/user/targetfs )
TARGETFS_INSTALL_DIR=/tftpboot/RootFS
# Set installation folder
GRAPHICS_INSTALL_DIR=$(HOME)/Graphics_SDK_5_01_01_02
QT CONFIGURE
./configure -prefix /home1/prabu/arm-qt/test_install-gstrmr -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-TIarmv7-sgx-gst-g++
-depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp
-qt-mouse-linuxinput -qt-mouse-tslib -plugin-mouse-linuxtp -plugin-mouse-pc -plugin-gfx-powervr -fast -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT -opengl es2
-qt-gfx-linuxfb -no-webkit -verbose -confirm-license
QMAKE.CONF
#
# qmake configuration for building with arm-linux-g++
#
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
#User specific Path - To Be edited by User
QT_INSTALL_DIR = $$PWD/../../..
SGX_SDK_ROOT = /opt/qt-bbb/sgx/Graphics_SDK_5_01_01_02
TOOLCHAIN_DIR = /opt/kernel/bb-kernel/dl/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf
#/opt/toolchain/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux
#TSLIB_INCDIR = $TSLIB_INSTALL_DIR/include
#TSLIB_LIBDIR = $FILESYSTEM_INSTALL_ROOT/usr/lib
# modifications to g++.conf
QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard
QMAKE_CC = $$TOOLCHAIN_DIR/bin/arm-linux-gnueabihf-gcc
QMAKE_CXX = $$TOOLCHAIN_DIR/bin/arm-linux-gnueabihf-g++
QMAKE_LINK = $$TOOLCHAIN_DIR/bin/arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = $$TOOLCHAIN_DIR/bin/arm-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = $$TOOLCHAIN_DIR/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = $$TOOLCHAIN_DIR/bin/arm-linux-gnueabihf-objcopy
QMAKE_STRIP = $$TOOLCHAIN_DIR/bin/arm-linux-gnueabihf-strip
#Do not edit beyond this
QMAKE_INCDIR_OPENGL_ES2 = $$SGX_SDK_ROOT/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/
QMAKE_INCDIR_OPENGL_ES2 += $$SGX_SDK_ROOT/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/LinuxARMV7/Lib
QMAKE_INCDIR_OPENGL_ES2 += $$SGX_SDK_ROOT/include
QMAKE_INCDIR_OPENGL_ES2 += $$SGX_SDK_ROOT/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/
QMAKE_LIBDIR_OPENGL_ES2 = $$SGX_SDK_ROOT/gfx_dbg_es8.x/
QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2 -lGLES_CM -lIMGegl -lsrv_um -lusc
QMAKE_INCDIR_OPENGL += $$SGX_SDK_ROOT/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/
QMAKE_LIBDIR_OPENGL = $$SGX_SDK_ROOT/gfx_dbg_es8.x
QMAKE_LIBDIR_OPENGL_QT = $$SGX_SDK_ROOT/gfx_dbg_es8.x
QMAKE_LIBS_OPENGL_ES1 = -lEGL -lGLES_CM -lIMGegl -lsrv_um -lusc
QMAKE_INCDIR_OPENVG = $$SGX_SDK_ROOT/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/
QMAKE_LIBDIR_OPENVG = $$SGX_SDK_ROOT/gfx_dbg_es8.x/
QMAKE_LIBS_OPENVG = -lEGL -lGLESv2 -lGLES_CM -lIMGegl -lsrv_um -lOpenVG -lOpenVGU
QMAKE_INCDIR_EGL = $$QMAKE_INCDIR_OPENGL_ES2
QMAKE_INCDIR_EGL += $$QT_INSTALL_DIR/src/3rdparty/powervr/wsegl2
QMAKE_INCDIR_POWERVR = $$QT_INSTALL_DIR/src/3rdparty/powervr/wsegl2
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBS_EGL = -lEGL -lIMGegl -lsrv_um -lGLESv2 -lGLES_CM -lusc
#QMAKE_INCDIR += $$TSLIB_INCDIR
QMAKE_INCDIR += $$QMAKE_INCDIR_OPENGL_ES2
QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2
#QMAKE_LIBDIR += $$TSLIB_LIBDIR
QMAKE_LIBS = $$QMAKE_LIBS_OPENGL_ES2
#(aslinda opengl in yanindaydi)-lts
load(qt_config)
gfx_check.sh SCRIPT OUTPUT:
WSEGL settings
[default]
WindowSystem=libpvrQWSWSEGL.so
------
ARM CPU information
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 298.84
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : Generic AM33XX (Flattened Device Tree)
Revision : 0000
Serial : 0000000000000000
------
SGX driver information
Version SGX_DDK_Linux_CustomerTI sgxddk 1.10@2359475 (release) /opt/kernel/bb-ke
rnel/ignore/ti-sdk-pvr/Graphics_SDK/GFX_Linux_KM
System Version String: SGX revision = 125
------
Framebuffer settings
mode "1024x768"
geometry 1024 768 1024 2304 16
timings 0 0 0 0 0 0 0
accel true
rgba 5/11,6/5,5/0,0/0
endmode
Frame buffer device information:
Name :
Address : 0x9e900000
Size : 4718592
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 0
LineLength : 2048
Accelerator : No
------
Rotation settings
0
------
Kernel Module information
Module Size Used by
usb_f_acm 6922 1
u_serial 9898 1 usb_f_acm
usb_f_ecm 9505 1
g_multi 5911 0
usb_f_mass_storage 41875 2 g_multi
usb_f_rndis 22458 2 g_multi
u_ether 11042 3 usb_f_ecm,usb_f_rndis,g_multi
libcomposite 43179 5 usb_f_acm,usb_f_ecm,usb_f_rndis,g_multi,usb_f_ma
ss_storage
omaplfb 12024 0
evdev 7979 0
pvrsrvkm 147086 1 omaplfb
omap_aes 13065 0
tda998x 11679 1
omap_sham 19150 0
omap_rng 4342 0
tilcdc 27887 1 omaplfb
rng_core 7262 1 omap_rng
drm_kms_helper 106566 4 tda998x,tilcdc
leds_gpio 3094 0
uio_pdrv_genirq 3309 0
uio 8454 1 uio_pdrv_genirq
------
Boot settings
console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro fixrtc rootfstype=ext4 rootwait vr
am=50M
------
Linux Kernel version
Linux arm 4.1.10-bone16 #1 Sun Oct 18 17:50:16 EEST 2015 armv7l GNU/Linux
LSMOD:
root@arm:/opt/qt-embedded/examples/opengl/hellogl_es2# lsmod
Module Size Used by
usb_f_acm 6922 1
u_serial 9898 1 usb_f_acm
usb_f_ecm 9505 1
g_multi 5911 0
usb_f_mass_storage 41875 2 g_multi
usb_f_rndis 22458 2 g_multi
u_ether 11042 3 usb_f_ecm,usb_f_rndis,g_multi
libcomposite 43179 5 usb_f_acm,usb_f_ecm,usb_f_rndis,g_multi,usb_f_mass_storage
omaplfb 12024 0
evdev 7979 0
pvrsrvkm 147086 1 omaplfb
omap_aes 13065 0
tda998x 11679 1
omap_sham 19150 0
omap_rng 4342 0
tilcdc 27887 1 omaplfb
rng_core 7262 1 omap_rng
drm_kms_helper 106566 4 tda998x,tilcdc
leds_gpio 3094 0
uio_pdrv_genirq 3309 0
MY /etc/profile file:
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/opt/qt-embedded/lib
export QWS_MOUSE_PROTO="MouseMan:/dev/input/mouse0"
export QWS_DISPLAY="powervr"
export QT_QWS_FONT_DIR=/opt/qt-embedded/lib/fonts
export QT_PLUGIN_PATH=/opt/qt-embedded/plugins
export QWS_KEYBOARD="USB:/dev/input/event0"
export QT_DEBUG_PLUGINS=1
NOT : I used RobertNelson s script to create rootfs and sgx initialize and I USED TI GRAPHICS SDK and my rules.make with Robert's Toolchain hard float gcc.
I dont use tslib I just want to see it on lcd.but either mouse or keyboard is not working. I tried all MouseMan,Microsoft,IntelliMouse etc.
Please help me to solve this.