Hi,
Could anyone help me to undestand a problem that appears when I want to test an example from Qt5?. Yesterday I started the Qt5 compilation for my AM335x board. The board is a custom board with a XAM3359 720MHz + 256M DDR. In the past, I could run any example based on Qt4.8.4 + Qt3D without any problems.
Everything seems ok, but the first example analogclock crash to run with this output:
/proc/pvr # echo "4" > ./debug_level
/proc/pvr # /home/analogclock -platform eglfs
PVR: Hint: Setting WindowSystem to libpvrPVR2D_FRONTWSEGL.so
PVR:(Error): PVRSRVMetricsTimeNow: using (potentially) low resolution timer [95, /pvr_metrics.c]
evdevtouch: Using device /dev/input/event0
min X: 0 max X: 0
min Y: 0 max Y: 0
min pressure: 0 max pressure: 4095
device name: ti-tsc-adcc
Protocol type A
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 4144 bytes
PVR:
PVR: 4144 bytes still allocated in 1 allocations
PVR:
PVR: 1 - 4144 bytes at 0x18e80 - eurasiacon/imgegl/tls.c:32
PVR:
PVR:(Warning): PVR2DEnumerateDevices: display device name too long, truncating [142, /pvr2dinit.c]
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 4144 bytes
PVR:
PVR: 4144 bytes still allocated in 1 allocations
PVR:
PVR: 1 - 4144 bytes at 0x18e80 - eurasiacon/imgegl/tls.c:32
PVR:
PVR:(Warning): Running StartUpMemSpeedTest. High memory watermark will be ruined. Disable using apphint EnableMemorySpeedTest [45, /metrics.c]
PVR: Bytes : 512 1024 2048 4096 8192 16384 32768 65536 131072
PVR: ---------------|-------|-------|-------|-------|-------|-------|-------|-------|
PVR: H -> VB: 284.46 706.02 756.12 730.21 701.27 744.27 697.68 672.68 666.61
PVR: H -> H: 710.30 825.34 828.26 584.90 745.30 724.71 702.78 664.55 677.22
PVR:(Warning): PB Watermark Info - Alloc: 0x0 , Free: 0x9dd [486, /sgxrender_targets.c]
PVR:
PVR: Texture allocation HWM = 8 bytes
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 2151442 bytes
PVR:
PVR: 21360 bytes still allocated in 2 allocations
PVR:
PVR: 1 - 17216 bytes at 0x1dd58 - eurasiacon/imgegl/srv.c:471
PVR: 2 - 4144 bytes at 0x18e80 - eurasiacon/imgegl/tls.c:32
PVR:
PVR:(Warning): HW Recovery stats: Host: 0 uKernel: 0 [130, /sgxrender_context.c]
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 2151442 bytes
PVR:
PVR: 4144 bytes still allocated in 1 allocations
PVR:
PVR: 1 - 4144 bytes at 0x18e80 - eurasiacon/imgegl/tls.c:32
PVR:
PVR:
EGL Error : Could not create the egl surface: error = 0x3003
Aborted
/proc/pvr #
I tried to change the WindowsSystem param on powervr.ini, also the vram param on uboot but with same error. I can see that the program crashes into the function QEglFSWindow::create() when the program tries to make a second egl surface.
I compiled all Qt5 following the examples on http://gpupowered.org/node/16 for eglfs plugin
the gfx_check output is:
/proc/pvr # gfx_check.sh
WSEGL settings
[default]
WindowSystem=libpvrPVR2D_FRONTWSEGL.so
#WindowSystem=libpvrPVR2D_FLIPWSEGL.so
------
ARM CPU information
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 498.89
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : am335xevm
Revision : 0000
Serial : 0000000000000000
------
SGX driver information
Version SGX_DDK_Linux_CustomerTI sgxddk 19 1.9.RC2@2139099 (debug) /home/maxi/Graphics_SDK_4_08_00_01/GFX_Linux_KM
System Version String: SGX revision = 1.2.5
------
Framebuffer settings
mode "800x480-62"
# D: 30.000 MHz, H: 32.433 kHz, V: 61.895 Hz
geometry 800 480 800 960 32
timings 33333 39 39 29 13 47 2
rgba 8/16,8/8,8/0,8/24
endmode
Frame buffer device information:
Name : DA8xx FB Drv
Address : 0x87000000
Size : 3072000
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 1
YWrapStep : 0
LineLength : 3200
Accelerator : No
------
Rotation settings
0
------
Kernel Module information
Module Size Used by Tainted: G
omaplfb 11563 0
pvrsrvkm 478926 1 omaplfb
------
Boot settings
console=ttyO0,115200n8 mem=256M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait init=/init ip=off vram=16M omapfb.vram=0:4M,1:4M,2:4M
------
Linux Kernel version
Linux ONIX 3.2.0 #1 Thu Oct 18 10:30:04 ART 2012 armv7l GNU/Linux
/proc/pvr #
and the init kernel powervr modules output is:
[ 10.621093] Disabling lock debugging due to kernel taint
[ 10.659896] PVR: PVRCore_Init
[ 10.679866] PVR: PVRSRVDriverProbe(pDevice=bf066068)
[ 10.685275] PVR: EnableSystemClocks: Enabling System Clocks
[ 10.691291] PVR: GPTIMER11 clock is 24MHz
[ 10.696126] PVR: PVRCore_Init: major device 252
[ 10.861369] PVR: Installing MISR with cookie bf068f38
[ 10.866913] PVR: Installing device LISR SGX ISR on IRQ 37 with cookie c79b81c0
[ 10.875750] PVR: SysFinalise: Version string: SGX revision = 1.2.5
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 0 bytes
[ 10.903255] omaplfb: Device 0: Framebuffer physical address: 0x87000000
[ 10.903278] omaplfb: Device 0: Framebuffer virtual address: 0xffb00000
[ 10.903293] omaplfb: Device 0: Framebuffer size: 3072000
[ 10.903306] omaplfb: Device 0: Framebuffer virtual width: 800
[ 10.903319] omaplfb: Device 0: Framebuffer virtual height: 960
[ 10.903332] omaplfb: Device 0: Framebuffer width: 800
[ 10.903343] omaplfb: Device 0: Framebuffer height: 480
[ 10.903356] omaplfb: Device 0: Framebuffer stride: 3200
[ 10.903368] omaplfb: Device 0: LCM of stride and page size: 102400
[ 10.903381] omaplfb: Device 0: non-DRM framebuffer
[ 10.903393] omaplfb: Device 0: Auto Update Mode
[ 10.967424] omaplfb: Device 0: Maximum number of swap chain buffers: 2
[ 10.974385] omaplfb: Device 0: PVR Device ID: 1
Loaded PowerVR consumer services.
Thanks in advance, I will appreciate some help so I can figure out what the problem is.
Maxi