I have cross compiled Qt4.6.2 and tslib successfully. I have trafered the compiled tslib and Qt to Micro2440 But when run ./fluidlauncher program. It is give following error. Couldnt load module input No raw modules loaded. QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or di' Please check your tslib installation! Some one help me come out of this issue
ts_config() problem
Can you do a ts_calibrate before running the program? I see a ts_config() in ts_config.c and that's where the error messages are coming from. Have you uncommented the first line in /usr/local/tslib/etc/ts.conf\\
Did you also copy tslib's input modules to your target? The complete package contains the libts itself, the config file ts.conf and all modules in usr/lib/ts/*
yes i have uncommented the first line ts.conf i have copied all the contents of tslib still it is giving same error
When you run one of the two tslib utilities (ts_calibrate or ts_test), do you get the same error? If yes, you can try to run it with "strace" to see, what fails in the background.
yes i am getting same message when i run tslib utilities (ts_calibrate or ts_test) strace not fount in commands
Did you use the -qt-mouse-tslib switch and get no errors with cross-compiling Qt? Is ts.conf in /etc? You did check that ts_calibrate is an armv4t binary?
Here's a tutorial that works except I found things run slow compared to another pre-built Qt cross-compilation I have. Also, fluidlauncher doesn't work for me.
And the missing link: http://mini2440vietnam.blogspot.com/
yes i am using -qt-mouse-tslib and got no compilation errors I am doing all these stuff from the same link http://mini2440vietnam.blogspot.com/ Can u please provide the pre built cross compiled Qt . So that i will proceed with it. fluid launcher is working but, touchscreen is not working for me I dont know how to come out of this issue.
He has a link to pre-built Qt and tslib using the 4.3.2 cross compiler. I don't think my cross-compiled Qt is working properly, so there is no point is sending you a copy. You haven't said which toolchain you have compiled your kernel, QT and tslib with.
The problem surely lies with the environment variables. I've solved it today only. Please check the environment variables and provide correct values. Don't forget to source the env file after saving your variables. After that run the ts_calibrate from the tslib/bin directory before executing your program. The TS_TSDEVICE variable on the http://mini2440vietnam.blogspot.com/ should be /dev/input/<your device> Then it will work.
I can't get fluidlauncher to work with my cross-compilation. The /demo/browser seems to be working fairly well in the full screen mode. Now, there are a few other things you might have to do in tslib, check this page out: http://billforums.station51.net/viewtopic.php?f=8&t=15&start=130 at the bottom. Note: copying contents of tslib/lib/ts into tslib/lib I can't get ts_calibrate to work, the error is <ts_open: No such file or directory> This seems to be a problem that has generated a lot of bug reports. Have you got a pointercal file in tslib/etc? Fortunately, I got one with a pre-compiled tslib for a 64M machine. 18180 11 -1633018 -79 -25051 23358250 65536 240 3200 CUtomorrow, Dave
stalin yennaboina: You could try my BSP[1] for the Mini2440. Enable qt and the qt examples. This will build all required dependencies (including tslib) of qt-4.6.3 and seems to work out of the box on my Mini2440 hardware. Maybe its easier for you to work with a build system, instead of copying binaries from different sources and hoping they will work together. [1] http://www.oselas.org/oselas/bsp/pengutronix/mini2440_bsp_en.html
run on mini2440 cd /bin ./ts_calibrate run this file Generate a error Couldnt open tslib config file: No such file or directory ts_config: Illegal seek
./app -qws QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or direc tory' Please check your tslib installation!
> Couldnt open tslib config file: No such file or directory You should just fix what the program tells you...
QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or direc tory' Please check your tslib installation! same problem is generated How to solve this problem
I'm having a hard time getting the TS to work on the P35 display. I've implemented everything as explained in: But I get similar errors: root@mini2440:/usr/lib cd ts/ root@mini2440:/usr/lib/ts ls arctic2.so h3600.so pthres.so collie.so input.so touchkit.so corgi.so linear.so ucb1x00.so dejitter.so linear_h2200.so variance.so dmc.so mk712.so galax.so one-wire-ts-input.so root@mini2440:/usr/lib/ts ts_calibrate ts_open: No such file or directory root@mini2440:/usr/lib/ts ts_test /dev/touchscreen-1wire: No such file or directory root@mini2440:/usr/lib/ts Running strace on ts_calibrate produces: root@mini2440:/usr/lib/ts strace ts_calibrate execve("/usr/bin/ts_calibrate", ["ts_calibrate"], [/* 21 vars */]) = 0 brk(0) = 0x1993000 uname({sys="Linux", node="mini2440", ...}) = 0 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v4l", 0xbe9c2328) = -1 ENOENT (No such file or directory) open("/lib/tls/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xbe9c2328) = -1 ENOENT (No such file or directory) open("/lib/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v4l", 0xbe9c2328) = -1 ENOENT (No such file or directory) open("/lib/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/usr/lib/tls/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/v4l", 0xbe9c2328) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls", 0xbe9c2328) = -1 ENOENT (No such file or directory) open("/usr/lib/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/v4l", 0xbe9c2328) = -1 ENOENT (No such file or directory) open("/usr/lib/libts-0.0.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\374\t\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=6988, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40099000 mmap2(NULL, 39632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40192000 mprotect(0x40194000, 28672, PROT_NONE) = 0 mmap2(0x4019b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x4019b000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\t\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=9672, ...}) = 0 mmap2(NULL, 41136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40084000 mprotect(0x40086000, 28672, PROT_NONE) = 0 mmap2(0x4008d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x4008d000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\230X\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1209460, ...}) = 0 mmap2(NULL, 1246440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4019c000 mprotect(0x402bf000, 32768, PROT_NONE) = 0 mmap2(0x402c7000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x123) = 0x402c7000 mmap2(0x402ca000, 9448, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x402ca000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 set_tls(0x400154c0, 0x40015b98, 0x400ce048, 0x400154c0, 0x400ce000) = 0 mprotect(0x402c7000, 8192, PROT_READ) = 0 mprotect(0x4008d000, 4096, PROT_READ) = 0 mprotect(0x400cd000, 4096, PROT_READ) = 0 rt_sigaction(SIGSEGV, {0x8c00, [SEGV], SA_RESTART|0x4000000}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {0x8c00, [INT], SA_RESTART|0x4000000}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGTERM, {0x8c00, [TERM], SA_RESTART|0x4000000}, {SIG_DFL, [], 0}, 8) = 0 brk(0) = 0x1993000 brk(0x19b4000) = 0x19b4000 open("/dev/touchscreen-1wire", O_RDONLY) = -1 ENOENT (No such file or directory) dup(2) = 3 fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR) fstat64(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(204, 64), ...}) = 0 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400c8000 _llseek(3, 0, 0xbe9c28b0, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(3, "ts_open: No such file or directo"..., 35ts_open: No such file or directory ) = 35 close(3) = 0 munmap(0x400c8000, 4096) = 0 exit_group(1) = ? root@mini2440:/usr/lib/ts
The problem is with the new displays they are using 1-wire. For some reason the 1-wire file is not accessible when a Qt app is executing. Luckily the LCD board makes provision to switch to the analog touch screen. Modify the board: http://www.friendlyarm.net/forum/topic/6101
I am able to see the same image as you posted while trying to ts_test and ts_calibrate. But I am not able to move crosshair. while touching it gives me a value of x and y coordinate. But cursor is not moving. Plz help me in that case.
From memory ... you have to touch the crosshair exactly in the centre, with a sharp object, before it will move to the next position.
I was already try with sharp object still the crosshair could not be move. But while running ts_calibrate it only display the below message untill i forcefully stop it. root@linaro-alip:/home/linaro/dev/tslib_arm/bin# ./ts_calibrate xres = 720, yres = 1280 ^C*** Error in `./ts_calibrate': double free or corruption (!prev): 0x00000000034191f0 *** Aborted
What are using for the target device? Also do a: readelf -a ts_calibrate on your host machine and post the last 10 lines.
I am using himax8526 fro touchscreen. Here are the last few lines from command 'readelf -a ts_calibrate' :- Version needs section '.gnu.version_r' contains 1 entries: Addr: 0x0000000000400a08 Offset: 0x000a08 Link: 6 (.dynstr) 000000: Version: 1 File: libc.so.6 Cnt: 1 0x0010: Name: GLIBC_2.17 Flags: none Version: 2 Displaying notes found at file offset 0x000001e4 with length 0x00000020: Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 3.7.0 Displaying notes found at file offset 0x00000204 with length 0x00000024: Owner Data size Description GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 0b000ddbb6b63f8cb535df46ec87ff13df41eceb
What FriendlyArm product is driving the touchscreen controller? That readelf output does not look familiar to me. In the last 10 lines or so you should see which ARM architecture the file has been compiled for. try: readelf -A ts_calibrate
readelf -A ts_calibrate -> This command does not print anything. I am using 'aarch64-linux-gnu' toolchain for compiling the tslib source. The actual command is : ./configure --prefix=/home/linaro/dev/tslib_arm --host=aarch64-linux-gnu from evtest /dev/input/event1 -> it is printing the correct coordinates for x and y. I think there may be a problem in X11 configuration. I already added the node for himax 8526 in /usr/share/X11/xorg.conf.d/99-calibration.conf Section "InputClass" Identifier "calibration" MatchProduct "himax8526" Option "Calibration" "0 720 0 1280" # Option "SwapAxes" "1" EndSection Still crosshair is not moving.
root/usr/bin$ readelf -A ts_calibrate Attribute Section: aeabi File Attributes Tag_CPU_name: "4T" Tag_CPU_arch: v4T Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv2 Tag_ABI_PCS_wchar_t: 4 Tag_ABI_FP_rounding: Needed Tag_ABI_FP_denormal: Needed Tag_ABI_FP_exceptions: Needed Tag_ABI_FP_number_model: IEEE 754 Tag_ABI_align_needed: 8-byte Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: int Tag_DIV_use: Not allowed Tag_CPU_arch: v4T -> tells you it has been cross-compiled for the mini2440. You didn't answer my question about which FA product you are using. Good luck!
while lscpu command I got Architecture: aarch64 I am not using friendlyArm product. I am using different board. And for tslib source I clone it from below site: http://tuxamito.com/wiki/index.php/Build_Tslib_for_ARM