Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - QNX 6.6 touch screen setup: (11 Items)
   
QNX 6.6 touch screen setup  
Hello.
I'm trying to use touch screen at QNX 6.6.
I've searched and followed answers and then I'm seeing calib-touch screen now.
But I can't move the cursor or click.

After launching below programs in rc.local, calib-touch program could be run.
But touch doesn't work and cannot calibrate.

With QNX 6.5 touch screen works fine.

Does anyone have any idea what's wrong?

Thanks.

Launch at rc.local:

io-usb -duhci -dohci -dehci
io-hid -dusb -degalax
devi-hid kbd touch

drm-intel &
screen &


Here is hidview result:
# hidview

Device Address       : 0
Vendor               : 0x0eef (eGalax Inc.)
Product              : 0x0001
Version              : r1.10
Usage                : Pointer

Device Address       : 1
Vendor               : 0x045e (Microsoft)
Product              : 0x0752 (Wired Keyboard 400)
Version              : r1.10
Usage                : Keyboard

And this is my env variables:
# env

_=/usr/bin/env
SSH_CONNECTION=192.168.100.118 64713 192.168.100.177 22
PATH=/sbin:/usr/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/sh
TMPDIR=/tmp
HOSTNAME=localhost
USER=root
PROCESSOR=x86
MAIL=/var/spool/mail/root
LD_LIBRARY_PATH=/prob/boot:/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib


/dll:/usr/lib/graphics/intel-drm:/opt/qt5/plugins/platforms
QT_DEBUG_PLUGINS=1
HOME=/root
SSH_CLIENT=192.168.100.118 64713 22
QNX_HOST=/
QT_QPA_PLATFORM=qnx:no-fullscreen
QNX_TARGET=/
GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
QQNX_PHYSICAL_SCREEN_SIZE=200,117
TERM=xterm
QML_IMPORT_PATH=/opt/qt5/imports
QML2_IMPORT_PATH=/opt/qt5/qml
QT_PLUGIN_PATH=/opt/qt5/plugins
FONTCONFIG_FILE=/etc/fontconfig/local.conf
QNX_CONFIGURATION=/etc/qnx
SSH_TTY=/dev/ttyp0
SYSNAME=nto
LOGNAME=root


This is my /usr/lib/graphics/intel-drm/graphics.conf:
begin khronos

  begin egl display 1
    egl-dlls = libEGL-mesa.so
    glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so
    glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so
  end egl display

  begin wfd device 1
    wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so

    # Run "drm-probe-displays" to list the available displays and pipelines,
    # and "use $GRAPHICS_ROOT/libWFDintel-drm.so" for more information on
    # these driver-specific settings.

    # Pipeline IDs 1 to 9 are used for DRM CRTCs.  One should be assigned
    # to each display that will be used.
    pipeline1-display = 1
    # Pipeline IDs 10 and above are used for DRM planes.  A plane can only
    # be used on a display with an active CRTC.
    pipeline10-display = 1
  end wfd device

end khronos

begin winmgr

  begin globals
    input = keyboard mouse
    # Adjust the stack size of Screen's resmgr threads.  The default size
    # is insufficient for blitters/compositors using Mesa (e.g., gles2blt).
    blit-config = gles2blt
  end globals

  begin display 1
    video-mode = 1024 x 600 @ 75
    # Adjust the stack size of Screen's composition thread; required when the
    # display's framebuffer uses Mesa (e.g. "usage = gles2"), as noted above.
    cursor = on
    stack-size = 4096  # in units of 1024 bytes
  end display

  begin class framebuffer
    # Be sure to configure the "pipeline%d-display" options (above) so the
    # specified display and pipeline are bindable.  Normally a framebuffer
    # will use a CRTC pipeline.
    display = 1
    pipeline = 1
    format = rgba8888
    usage = gles2blt
  end class

  begin mtouch                                                      
    driver = devi                                           
    options = height=600,width=1024                           
    display = 1                                               
  end mtouch

end winmgr
Re: QNX 6.6 touch screen setup  
Can you post the output from devi-hid in verbose mode after you touch the screen:

Devi-hid -vvvvvvv touch

Leave out the kid module as its already handled by screen.
Re: QNX 6.6 touch screen setup  
Thanks for reply.
I've changed devi-hid command of rc.local to:
devi-hid -vvvvvvv touch

then sloginfo output after booting:
--------------------------------------------
# sloginfo     
Time             Sev Major Minor Args
Sep 04 00:53:51    2    19   1500 devb-ahci cam ver 100 sim 1.00A (Feb 22 2014 18:20:52)
Sep 04 00:53:51    2     5     0 libcam.so (Feb 22 2014 18:20:44) bver 6060109
Sep 04 00:53:51    2    19   1500 eide_identify_devices: AHCI (generic) vid 0x8086, did 0x1e03, class 0x10601, rev 0x4, 
busno 0x0, dfunc 0xfa, base 0xf7d36000, irq 0xf, xlat 0x0
Sep 04 00:53:51    2    19   1500 eide_display_identify: mdl SAMSUNG MZMPC064HBDR-00000 sn S0VRNYAC200381 fw CXM1201Q 
port 2, max udma 6, cur udma 5, max mdma 2, cur mdma 0, pio 4, mblk 16
Sep 04 00:53:51    2     5   100 cam-disk.so (Feb 22 2014 18:20:50)
Sep 04 00:53:51    5     3   1000 fs-qnx6: trim was requested, and is usable
Sep 04 00:53:51    5     6     0 random: Selecting timer as entropy source
Sep 04 00:53:51    5     6     0 random: All ready, registering path names
Sep 04 00:53:51    5     6     0 random: Daemonizing the process
Sep 04 00:53:51    2     9     0 Error: No such file or directory - cannot open calibration file for absolute filter 
module(/etc/system/config/calib.localhost)

Sep 04 00:53:51    5    14     0 tcpip starting
Sep 04 00:53:51    3    14     0 Using pseudo random generator.  See "random" option
Sep 04 00:53:51    5    14     0 initializing IPsec... done
Sep 04 00:53:51    5    14     0 IPsec: Initialized Security Association Processing.
Sep 04 00:53:51    5    14     0 wm0
Sep 04 00:53:51    5    14     0 wm1
Sep 04 00:53:51    5    14     0 wm2
Sep 04 00:53:51    5    14     0 wm3
Sep 04 00:53:51    5    14     0 wm4
Sep 04 00:53:52    5    14     0 wm5
Sep 04 00:53:52    5     8   300 screen: starting up...
Sep 04 00:53:52    5     8   300 screen: connected to powman...
Sep 04 00:53:52    1     7     0 driver missing hw device index callback, ducking will not work properly between devices

Sep 04 00:53:52    1     7     0 driver missing hw device index callback, ducking will not work properly between devices

Sep 04 00:53:52    1     7     0 driver missing hw device index callback, ducking will not work properly between devices

Sep 04 00:53:52    1     7     0 driver missing hw device index callback, ducking will not work properly between devices

Sep 04 00:53:52    1     7     0 driver missing hw device index callback, ducking will not work properly between devices

Sep 04 00:53:52    1     7     0 driver missing hw device index callback, ducking will not work properly between devices

Sep 04 00:53:52    1     7     0 driver missing hw device index callback, ducking will not work properly between devices

Sep 04 00:53:52    3     8   915 [ihold:265]"warning"
Sep 04 00:53:52    5     8   300 screen: loading EGL display 1...
Sep 04 00:53:52    5     8   300 screen: loading blit module gles2blt...
Sep 04 00:53:53    3    12     0 devh-egalax.so - Failed to send check active (loopback) command to the controller: 5
Sep 04 00:53:53    5     8   300 screen: display_mode_set: selecting preferred mode 5 for display 1
Sep 04 00:53:53    5     8   300 screen: loading composition module gles2blt...
Sep 04 00:53:53    5     8   300 screen: win_cursor_init: No cursor specific in graphics.conf
Sep 04 00:53:53    5     8   300 screen: win_cursor_shape_init: using default cursor (9x16)
Sep 04 00:53:53    5     8   300 screen: loading mtouch module devi...
Sep 04 00:53:53    5     9   200 devi[INFO]:  Connected to TP on /dev/devi/touch0
Sep 04 00:53:53    5     9   100 libinputevents[INFO]: Attaching mtouch driver
Sep 04 00:53:53    5     9   100 libinputevents[INFO]: Changing mtouch coordinate mapping
Sep 04 00:53:53    5     9   100 libinputevents[INFO]: Opening mtouch device #0
Sep 04 00:53:53    5     8   300 screen: attached to mtouch0
Sep 04 00:53:53    5     8   300 screen: connected to HID...
View Full Message
Re: QNX 6.6 touch screen setup  
About the error of calibration file missing,
if I put calibration file from qnx650 to /etc/system/config then the error message has removed but still not working.
Re: QNX 6.6 touch screen setup  
If I run devi-hid in command line, output is different.

# devi-hid -vvvvvvv touch
Looking up touch in module table
Calibration filename: /etc/system/config/calib.localhost
Resetting module touch
Resetting module abs
Error: No such file or directory - cannot open calibration file for absolute filter module(/etc/system/config/calib.
localhost)
Did not find calib info for [639x479].  Attempting to use calculated transformation.
Calibration Matrix An: 0, Bn: 0, Cn: 0, Dn: 0, En: 0, Fn: 0, Divider: 0

If /etc/system/config/calib.localhost exist, just "Error:No such ..." message removed and no difference.
Re: QNX 6.6 touch screen setup  
Hi,

did you have any progress? I am having the same problem.

Regards
Re: QNX 6.6 touch screen setup  
No, I'm still stuck on it.
In my case, touchscreen controller is not HID-compliant so I can't use "io-hid -dusb" instead of "io-hid -degalax".
I'm using ETP-4500UG-B touchscreen controller.
I've been asking to QNX support from two weeks ago but no luck yet.
Re: QNX 6.6 touch screen setup  
Hi,

I am also trying to use touch screen with QNX 6.6 on TI Jacinto 6 (DRA74x) EVM (Rev E1) with 7" display.
I have used the screen patch and apps & media and run the driver for touch as per the QNX SDP user guide that came along with the BSP.

When I run the calib-touch utility, I get the calibration display but my touch inputs don't get registered.
I am not able to calibrate.

I have added the resolution of LCD I am using (800x480) to /etc/system/config/scaling.conf i.e.
800x480:mode=direct

Here is the sloginfo output when I run screen:

Jan 01 00:00:15    5     8   300 screen: starting up...
Jan 01 00:00:15    5     8   300 screen: connected to powman...
Jan 01 00:00:15    5     8   200 wfd: 1 wfdCreateDevice - Tiler is not available. Video buffer will be allocated in normal memory
Jan 01 00:00:15    5     8   200 wfd: 1 configure_sys_clock - System clock is set to: 20000 KHz
Jan 01 00:00:15    5     8   200 wfd: 1 configure_dss_func_clock - DSS func clock is set to: 192000 KHz
Jan 01 00:00:15    2     8   300 screen: invalid display id:
	>>>   begin display 1

Jan 01 00:00:15    5     8   300 screen: loading EGL display 1...
Jan 01 00:00:15    2     8   100 SGX - Starting SGX release driver (version: 1.9@2291151)
Jan 01 00:00:15    2     8   100 SGX - Power management turn ON
Jan 01 00:00:15    2     8   100 SGX - TKT26818_OPTIMIZATION_SUBSET enabled
Jan 01 00:00:15    2     8   100 SGX - SKIP_ISR_PULSE_WHEN_GPU_OFF enabled
Jan 01 00:00:15    5     8   300 screen: loading blit module pvr2d...
Jan 01 00:00:15    5     8   300 screen: loading composition module pvr2d...
Jan 01 00:00:15    5     8   300 screen: loading mtouch module devi...
Jan 01 00:00:15    5     9   200 devi[INFO]:  Connected to TP on /dev/devi/touch0
Jan 01 00:00:15    5     9   100 libinputevents[INFO]: Attaching mtouch driver
Jan 01 00:00:15    5     9   100 libinputevents[INFO]: Opening mtouch device #0
Jan 01 00:00:15    5     8   300 screen: attached to mtouch0

So it doesn't look like there is any problem with the driver.
Can anyone suggest what could be going wrong?

Thanks in advance.

I am attaching the graphics.conf that I am using.

Regards,
Abhishek
Attachment: Text graphics.conf 1.38 KB
Re: QNX 6.6 touch screen setup  
I've changed touch screen controller to HID compliant device. After figuring out what's going on, QNX support guy said 
that something is different between their egalax touch screen controller and mine. And if I want to go further, I have 
to pay 10000$ at least for priority support(bronze). Even though it works with QNX 6.5.0.

Anyway, now I can touch and move the cursor on the screen but coordinates are not fit.
So I've tried to calibrate but result was same as you. The cursor moves, but calib-touch program doesn't accept or 
recognize that.

I'm using a screen with 1024x600. But when I run 'devi-hid' from command line, some suspected output displayed.

# devi-hid -vvvvvvv mouse touch
...
Did not find calib info for [639x479]. Attempting to use calculated transformation.
...

I've set the resolution to 1024x600 through the same way as you and I don't know why that message displayed.
As your result is same with me, I wonder what's the output from devi-hid from command line with -vvvvvvv?
Re: QNX 6.6 touch screen setup  
May be uses egalax driver in section (as the documentation):
 begin mtouch                                                      
    driver = egalax
    options = height=600,width=1024                           
    display = 1                                               
  end mtouch

But then:
libs: load_object: attempt load of libmtouch-egalax.so
libs: dlopen: Library cannot be found

Where to get the library "libmtouch-egalax.so"?
Re: QNX 6.6 touch screen setup  
I solved my problem:
I didn`t use egalax driver, but used usb driver:

# io-usb -dehci -dohci -duhci -dxhci               
# io-hid -dusb
# hidview 
HIDD v1.00, v1.00 DDK

Device Address       : 0
Vendor               : 0x0eef (eGalax Inc.)
Product              : 0x0001 (USB TouchController)
Version              : r1.10
Usage                : Pointer

# devi-hid touch
# screen
# calib-touch -recalibrate

graphics.conf:

begin khronos

  begin egl display 1
    egl-dlls = libEGL-mesa.so
    glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so
    glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so
  end egl display

  begin wfd device 1
    wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so
    pipeline1-display = 1
#    pipeline2-display = 2
    pipeline10-display = 1
#    pipeline11-display = 2
  end wfd device

end khronos

begin winmgr

  begin globals
    stack-size = 2048  # in units of 1024 bytes
    blit-config = gles2blt
  end globals

  begin display 1
    video-mode = 1280 x 1024 @ 60
    stack-size = 2048  # in units of 1024 bytes
  end display

#  begin display 2
#    video-mode = 800 x 600 @ 60
#    stack-size = 2048  # in units of 1024 bytes
#  end display

  begin mtouch
        driver = devi
        options = height=1024,width=1280
        display = 1
  end mtouch


end winmgr


scaling.conf:
# Scaling based on calibration data
1280x1024:mode=calib,disp_x=[102:922:922:102],disp_y=[60:60:540:540],mtouch_x=[172:1108:1108:172],mtouch_y=[110:110:658:
658]

# Scaling based on physical dimensions
1280x1024:mode=dim,width_mm=154,height_mm=90,border_left_mm=5,border_right_mm=5,border_top_mm=5,border_bottom_mm=5

# Simple scaling to client resolution
1280x1024:mode=scale

# No scaling, report coordinates exactly as the driver hands them to the client
1280x1024:mode=direct


Good luck to everyone....