tslib问题解决

作者:帅得不敢出门    C++哈哈堂群31843264  转载请保留此信息

 

 编译安装tslib就不说了,只说安装到板子上后,运行相应的测试程序出现问题的解决方法

./ts_test -qws
/dev/touchscreen/ucb1x00: No such file or directory

这里只要设置好TSLIB_TSDEVICE环境变量就可以了,下面会提到

 

/dev/input/event0: No such file or directory

解决

mknod /dev/input/event0 c  13 64

 

ioctl VT_OPENQRY: Inappropriate ioctl for device
KDSETMODE: Bad file descriptor

解决

export TSLIB_CONSOLEDEVICE=none

open fbdevice: No such file or directory

解决

export TSLIB_FBDEVICE=/dev/fb0

如果没有fb0则还得手动添加

mknod /dev/fb0 c 29 0

 

ts_test: QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or dire'

设置好QWS_MOUSE_PROTO环境变量就行

如果ts_test运行通过,其他程序运行还是出现上面错误, 就有些麻烦了,tslib估计得重新编译了,以下有一个patch

Patch

--- tslib.orig/plugins/Makefile.am
+++ tslib/plugins/Makefile.am
@@ -107,15 +107,19 @@  pluginexec_LTLIBRARIES = /

  variance_la_SOURCES    = variance.c
  variance_la_LDFLAGS    = -module $(LTVSN)
+variance_la_LIBADD     = $(top_builddir)/src/libts.la

  dejitter_la_SOURCES    = dejitter.c
  dejitter_la_LDFLAGS    = -module $(LTVSN)
+dejitter_la_LIBADD     = $(top_builddir)/src/libts.la

  linear_la_SOURCES      = linear.c
  linear_la_LDFLAGS      = -module $(LTVSN)
+linear_la_LIBADD       = $(top_builddir)/src/libts.la

  pthres_la_SOURCES      = pthres.c
  pthres_la_LDFLAGS      = -module $(LTVSN)
+pthres_la_LIBADD       = $(top_builddir)/src/libts.la

  # hw access
  corgi_la_SOURCES       = corgi-raw.c

还有一个原因可能是你编译qt时configure的tslib的相关参数设置不对可参考此链接

http://topic.csdn.net/u/20100731/20/3537e309-1ddb-4411-9e68-4972a95fb69b.html

 

ts_calibrate:Couldnt open tslib config file

应正确设置好TSLIB_CONFFILE

 

 

tslib 安装生成的ts.conf也须要修改,否则ts_test也是无法成功运行的

#module_raw input 改成module_raw input

 

上面问题大都是由于环境变量未设置正确

总的方法是在板子上添加如下env   可以加在/et/profile里 

export TSLIB_ROOT=/usr/local/arm/arm412
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

 

TSLIB_ROOT就是tslib编译时安装的目录就是你指定的prefix

TSLIB_TSDEVICE 有的可能是/dev/event0   要是不确定可以查看下板子的dev目录

TSLIB_CONFFILE与QWS_MOUSE_PROTO 的值如果不确定,你可以在板子上find / -name ts.conf 看看设置是否正确

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用:D:\Linux-4.9.88.tar\Linux-4.9.88\include\uapi\linux input.h 。 引用:cp -d lib/*so* /home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/lib/ (2)板子上测试编译 。 引用:1,上网搞个源码库,如果你可爱到不会用百度,没关系,戳我下载( http://download.csdn.net/detail/vincent040/9662825 )。 2,将源代码丢到Ubuntu,并通过以下命令解压到Ubuntu的家目录下: tar xjvf tslib-1.4.tar.bz2 -C ~ 3,进入源码顶层目录,依次执行如下命令: mkdir ~/tslib ./configure --prefix=/home/xxx/tslib --host=arm-none-linux-gnueabi make make install A) --prefix= 后面的路径就是你要安装 tslib 库的路径,墙裂建议设置为家目录下的空目录(比如~/tslib),因为如果设置系统其它目录的话,后期 make install 的时候会让你解决权限的问题,当你自作聪明地使用sudo的时候,系统却又可能会抱怨找不到工具链,因此除非你是 Ubuntu科学家,对系统环境变量了如指掌,否则不要用小白的身份去作死,乖乖将 --prefix 指定为 ~/tslib 即可。 根据提供的引用内容,可以看出tslib是一个Linux上的触摸屏输入子系统库。它提供了在嵌入式系统中处理触摸屏输入的功能和接口。要安装tslib库,可以按照以下步骤进行操作:首先,下载源码库并将源代码解压到Ubuntu的家目录下;接着进入源码顶层目录,创建一个空目录(比如~/tslib)作为安装路径,并执行configure命令来配置安装参数;然后使用make命令编译源代码;最后使用make install命令安装tslib库到指定的安装路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值