This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM-816x, Qt 4.7.4 + OpenGL: Qt Demo works fine, but I can't get mouse to work with 4.7.4 version.

What I am using:

Output from sgfperf_check.sh (aka gfx_check.sh):

root@dm816x-evm:~# sh ./sgxperf_check.sh 
WSEGL settings
[default]
WindowSystem=libpvrQWSWSEGL.so

[hellogl_es2]
WindowSystem=libpvrQWSWSEGL.so.1

[animatedtiles]
WindowSystem=libpvrQWSWSEGL.so.1
------
ARM CPU information
Processor : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 986.31
Features : swp half thumb fastmult vfp edsp neon vfpv3 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2

Hardware : ti8168evm
Revision : 0000
Serial : 0000000000000000
------
SGX driver information
Version 1.6.16.4117 (release) /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/omap3-sgx-modules-1.6.16.4117-r4i/Graphics_SDK_4_04_00_02/GFX_Linux_KM
System Version String: SGX revision = 1.2.5
------
Framebuffer settings

mode "1920x1080-60"
# D: 148.500 MHz, H: 67.500 kHz, V: 60.000 Hz
geometry 1920 1080 1920 3240 32
timings 6734 148 88 36 4 44 5
rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
Name : ti81xxfb
Address : 0x8ce00000
Size : 25165824
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 0
LineLength : 7680
Accelerator : No
------
Rotation settings
0
------
Kernel Module information
Module Size Used by
bufferclass_ti 4946 0 
omaplfb 10794 0 
pvrsrvkm 155450 2 bufferclass_ti,omaplfb
ti81xxhdmi 14478 0 
ti81xxfb 21771 1 
vpss 72346 3 omaplfb,ti81xxhdmi,ti81xxfb
syslink 1113011 0 
ipv6 209855 16 
------
Boot settings
console=ttyO2,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=256M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M ip=off noinitrd
------
Linux Kernel version
Linux dm816x-evm 2.6.37 #1 Wed Aug 1 16:37:15 EDT 2012 armv7l unknown

My Qt 4.7.4 configuration (from config.status):

configure -confirm-license -prefix /usr/local/Trolltech/QtEmbedded-4.7.4-arm -opensource -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-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 -opengl es2 -qt-gfx-transformed -qt-gfx-vnc -qt-gfx-linuxfb -qt-gfx-multiscreen -plugin-gfx-powervr -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT

My current environment:

root@dm816x-evm:~# export
export EDITOR='/bin/vi'
export HOME='/home/root'
export LD_LIBRARY_PATH='/lib:/usr/lib:/usr/local/lib:/opt/qt-embedded/lib'
export LOGNAME='root'
export OLDPWD='/bin'
export OPIEDIR
export PATH='/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin'
export PS1='\u@\h:\w\$ '
export PWD='/home/root'
export QPEDIR
export QTDIR
export QT_PLUGIN_PATH='/opt/qt-embedded/plugins'
export QT_QWS_FONTDIR='/opt/qt-embedded/lib/fonts'
export QWS_DBLCLICK_DISTANCE='20'
export QWS_DISPLAY='powervr'
export SHELL='/bin/sh'
export TERM='xterm'
export TSLIB_TSDEVICE='/dev/input/touchscreen0'
export TZ='UTC'
export USER='root'

So, I am able to build the hellogl_es2 against my newly compiled Qt 4.7.4 toolchain and when I run it on the EVM, it shows the exact same thing as the default 4.7.2 version does on the screen and shows this on the command line:

root@dm816x-evm:~# ./hellogl_es2 -qws
Found SGX/MBX driver, enabling FullClearOnEveryFrame 
Found v1.4 driver, enabling brokenTexSubImage 
Found non-Nokia v1.4 driver, enabling brokenFBOReadBack

Unlike the 4.7.2 version, I can't see the mouse pointer move when I try to use the mouse.  When I run the 4.7.2 version in the /usr/bin/qtopia/examples/opengl/hellogl_es2 directory, I see the same thing on the screen, I can use my mouse and I get no verbose messages on the command line.  

I was comparing the Qt mousedriver directories between the default and what I have:

root@dm816x-evm:/usr/bin/qtopia/examples/opengl/hellogl_es2# ls /opt/qt-embedded/plugins/mousedrivers/
libqlinuxtpmousedriver.so libqpcmousedriver.so
root@dm816x-evm:/usr/bin/qtopia/examples/opengl/hellogl_es2# ls /usr/lib/qtopia/plugins/mousedrivers/
libqtslibmousedriver.so

So, this looks like one of the following possibilities:

  1. Qt 4.7.4 installation on the target filesystem is missing some Qt and/or other mouse driver
  2. Qt 4.7.4 configure step didn't include some mysterious (to me) option that is needed
  3. The tslib and friends is really not optional and I need to build it in order for the mouse stuff to work.
I would appreciate any help with this matter.  
Thanks!
  • For debugging plugin related issues, you should follow step 5 of below link (enable QT_DEBUG_PLUGINS)

    http://processors.wiki.ti.com/index.php/SGXDbg#Qt.2FE_demos_do_not_work_when_powerVR_is_enabled

    In addition, it is observed that you have plugin paths different between the 2 versions of Qt, are you actually changing the paths (QT_PLUGIN_PATH) when switching the Qt versions ?

  • Hello,

    I could think of the possibility that the problem may be in the exports. You don't have an export like this:

    export QWS_MOUSE_PROTO='Auto:/dev/input/mice'

    BR

    Vladimir

  • Also you can try:

    $ cat /dev/input/mice

    to see the intense binary prints when you move your mouse to verify that the problem is in the Qt.

    BR

    Vladimir

  • Thanks for the replies, Prabindh & Vladimir.

    Here's an update on my progress.  The mouse does in fact work, but it appears that it is not visible.  I have been able to see move and click things with the mouse at the top-left corner, so I know that this is working.  So, I think this is an invisibility issue.

    In the configuration step, the -D QT_NO_QWS_CURSOR option is used.  I read in the src/plugins/gfxdrivers/powervr/README the following regarding this option:

    Qt/Embedded needs to be configured with the QT_QWS_CLIENTBLIT and QT_NO_QWS_CURSOR defines.

    So, I have built Qt without this option and will see if it works.  Is there any issues with this that I should know about?  

    Thanks for the tip about the QT_DEBUG_PLUGINS and QT_PLUGIN_PATH.  I overlooked them and will check those out in the future.

    -Rodney