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.

Reply via email to