Hi, I'm trying since some days to run a Qt OpenGL ES example application on my Beaglebone Black.
I'm using the latest debian image from beagleboard.org with the 3.12 kernel from Robert C Nelson's linux-dev repository. The Graphics SDK was downloaded and compiled by the sgx-build-modules.sh script (which is also provided in the git repository from Robert). I copied the sgx folders to /opt on the BBB and ran the sgx-install script, which setups and loads the pvrsrv and omaplfb modules. The sgx graphic examples (EvilSkull, ChameleonMan, etc.) run like a charm. (Before compilation I had to change this line https://github.com/RobertCNelson/linux-dev/blob/am33x-v3.12/sgx_build_modules.sh#L272 from "no" to "yes", otherwise there is a EGL error when I want to start a graphics sdk example) Now I want to compile Qt-4.8.6 applications with OpenGL ES support. I changed my qws mkspec to use OpenGL and use the same compiler which was used for compiling the kernel and the Graphics SDK (gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux). Also I had to apply these two patches: https://github.com/prabindh/qt-configs/tree/master/qt4.8 My configure directive is: ./configure -v -opensource -confirm-license -prefix /opt/qt -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-TIarmv7-sgx-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-ssse3 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -little-endian -host-big-endian -no-pch -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-webkit -no-qt3support -nomake demos -nomake docs -nomake translations -qt-mouse-tslib -opengl es2 -qt-gfx-linuxfb -plugin-gfx-powervr -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT After make install I'm copying the examples, libs and plugins to the BBB. Any non-opengl application works properly. But when I want to start the opengl_es2 example, a GLSurface error comes up: debian@beaglebone:/opt/qt/examples/opengl/hellogl_es2$ *sudo ./hellogl_es2 -qws -display powervr* QEglContext::createSurface(): Unable to create EGL surface, error = 0x300b On the BBB display (HDMI) I can see the running Qt application, but there's only a completely green area where the OpenGL rendering should happen. Well, I don't have any clue how to solve this problem. I even don't know if it's a problem with my Qt compilation OR my graphics sdk compilation. Maybe I've only missed to add a neccessary patch, which isn't automatically applied by Robert C Nelson's building scripts? Many thanks in advance! Greetings, Marcel Here I'll provide some information which could be helpful to figure out the problem. I disabled the window manager "lightdm". debian@beaglebone:/$ *uname -a* Linux beaglebone 3.12.13-bone12 #1 SMP Fri May 16 00:42:31 CEST 2014 armv7l GNU/Linux debian@beaglebone:/$ *lsmod* Module Size Used by omaplfb 12039 0 pvrsrvkm 178364 1 omaplfb usb_f_acm 5166 1 u_serial 9640 3 usb_f_acm g_multi 32477 0 u_rndis 8723 1 g_multi u_ether 12283 1 g_multi libcomposite 34176 2 usb_f_acm,g_multi snd_soc_omap 2834 0 snd_pcm_dmaengine 6073 1 snd_soc_omap debian@beaglebone:/$ *fbset -i* mode "1280x1024" geometry 1280 1024 1280 1024 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 : 0x9e400000 Size : 2621440 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 1 YPanStep : 1 YWrapStep : 0 LineLength : 2560 Accelerator : No debian@beaglebone:/$ *sgx_init_test* ----------------------- Start ----------------------- Try calling PVRSRVConnect with an invalid argument: OK Call PVRSRVConnect with a valid argument: OK Try calling PVRSRVEnumerateDevices with invalid puiNumDevices: OK Get number of devices from PVRSRVEnumerateDevices: OK .... Reported 1 devices .... Device Number | Device Type 0000 | PVRSRV_DEVICE_ID_SGX Attempt to acquire device 0: OK Getting SGX Client info OK .... ui32ProcessID:13147 Display Class API: enumerate devices OK PVRSRVEnumerateDeviceClass() returns 1 display device(s) OK Attempt to create memory context for SGX: OK Display Class API: open device OK Display Class API: Get display info OK .... Name:PowerVR OMAP Linux Display Driver .... MaxSwapChains:1 .... MaxSwapChainBuffers:1 .... MinSwapInterval:0 .... MaxSwapInterval:1 Display Class API: enumerate display formats OK OK .... Display format 0 - Pixelformat:1 Display Class API: enumerate display dimensions OK OK .... Display dimensions 0 - ByteStride:2560 Width:1280 Height:1024 Display Class API: get the system (primary) buffer OK .... Shared heap 0 - HeapID:0x7000000 DevVAddr:0x1000 Size:0x87fe000 Attr:0x2014200 .... Shared heap 1 - HeapID:0x7000001 DevVAddr:0xc800000 Size:0xfff000 Attr:0x2024200 .... Shared heap 2 - HeapID:0x7000002 DevVAddr:0xe400000 Size:0x7f000 Attr:0x2024200 .... Shared heap 3 - HeapID:0x7000003 DevVAddr:0xf000000 Size:0x3ff000 Attr:0x2024200 .... Shared heap 4 - HeapID:0x7000004 DevVAddr:0xf400000 Size:0x4ff000 Attr:0x2014200 .... Shared heap 5 - HeapID:0x7000005 DevVAddr:0xfc00000 Size:0x1ff000 Attr:0x2014200 .... Shared heap 6 - HeapID:0x7000006 DevVAddr:0xdc00000 Size:0x7ff000 Attr:0x2014200 .... Shared heap 7 - HeapID:0x7000007 DevVAddr:0xe800000 Size:0x7ff000 Attr:0x2014200 .... Shared heap 8 - HeapID:0x7000008 DevVAddr:0xd800000 Size:0x3ff000 Attr:0x2024200 .... Shared heap 9 - HeapID:0x7000009 DevVAddr:0x8800000 Size:0x0 Attr:0x2024200 .... Shared heap 10 - HeapID:0x700000a DevVAddr:0x8800000 Size:0x3fff000 Attr:0x2014200 Display Class API: map display surface to SGX OK Misc Info API: Query the SGX features from host driver OK .... SGX Host driver DDK version: 1.10.0.2359475 Misc Info API: Query the SGX features from microkernel OK .... Hardware core designer: 0, HW core revision: 1.2.5 .... Hardware core ID: 112, name: SGX 520/530 .... SGX microkernel DDK version: 1.10.0.2359475 .... SGX microkernel software core ID: SGX 530, revision: 10205 SGX microkernel build options .... DEBUG: disabled .... PDUMP: disabled .... PVRSRV_USSE_EDM_STATUS_DEBUG: disabled .... SUPPORT_HW_RECOVERY: enabled .... PVR_SECURE_HANDLES: enabled .... SGX_BYPASS_SYSTEM_CACHE: disabled .... SGX_DMS_AGE_ENABLE: disabled .... SGX_FAST_DPM_INIT: disabled .... SGX_FEATURE_WRITEBACK_DCU: disabled .... SGX_FEATURE_MP: disabled .... SGX_FEATURE_MP_CORE_COUNT: 1 .... SGX_FEATURE_SYSTEM_CACHE: disabled .... SGX_SUPPORT_HWPROFILING: disabled .... SUPPORT_ACTIVE_POWER_MANAGEMENT: disabled .... SUPPORT_DISPLAYCONTROLLER_TILING: disabled .... SUPPORT_PERCONTEXT_PB: enabled .... SUPPORT_SGX_HWPERF: enabled .... SUPPORT_SGX_MMU_DUMMY_PAGE: disabled .... SUPPORT_SGX_PRIORITY_SCHEDULING: enabled .... USE_SUPPORT_NO_TA3D_OVERLAP: disabled SLCSize = 0, ClockSpeed = 200000000 Display Class API: unmap display surface from SGX OK Attempt to destroy memory context for SGX: OK Display Class API: close the device OK SGXReleaseClientInfo: OK PVRSRVDisconnect: OK ---------------------End loop 1--------------------- -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
