2011年11月16日 linux-3.1 on ARMedslack-13.1 with SL-C860(Touchpanel fix) [長年日記]
_ linux-3.1 on ARMedslack-13.1 with SL-C860(Touchpanel fix)
ALSAに引続きタッチパネルが動かなかった件も解決(^^)d。
Xorg
/usr/bin/Xorgはtslib-1.0をソースから導入した環境で動かしていたのだが、以下のパッチを当ててtslib-1.0をインストールし直せば動いた。
*** plugins/input-raw.c.ORG 2011-11-14 18:16:07.000000000 +0900 --- plugins/input-raw.c 2011-11-15 23:20:00.000000000 +0900 *************** *** 52,58 **** u_int64_t absbit; if (! ((ioctl(ts->fd, EVIOCGVERSION, &version) >= 0) && ! (version == EV_VERSION) && (ioctl(ts->fd, EVIOCGBIT(0, sizeof(bit) * 8), &bit) >= 0) && (bit & (1 << EV_ABS)) && (ioctl(ts->fd, EVIOCGBIT(EV_ABS, sizeof(absbit) * 8), &absbit) >= 0) && --- 52,58 ---- u_int64_t absbit; if (! ((ioctl(ts->fd, EVIOCGVERSION, &version) >= 0) && ! (version >= EV_VERSION) && (ioctl(ts->fd, EVIOCGBIT(0, sizeof(bit) * 8), &bit) >= 0) && (bit & (1 << EV_ABS)) && (ioctl(ts->fd, EVIOCGBIT(EV_ABS, sizeof(absbit) * 8), &absbit) >= 0) &&
$ ls -al /usr/local/lib/libts* lrwxrwxrwx 1 root root 18 2011-11-15 23:30 /usr/local/lib/libts-0.0.so.0 -> libts-0.0.so.0.1.1* -rwxr-xr-x 1 root root 9822 2011-11-15 23:30 /usr/local/lib/libts-0.0.so.0.1.1* -rwxr-xr-x 1 root root 916 2011-11-15 23:30 /usr/local/lib/libts.la* lrwxrwxrwx 1 root root 18 2011-11-15 23:30 /usr/local/lib/libts.so -> libts-0.0.so.0.1.1*
ようはバージョンチェックの判定条件がまずかった様子。
Ximageon
/angstrom/usr/bin/Ximageonの方がリンクしているtslibはlibts-1.0-0_1.0-r28.6.9_armv5te.ipkを展開した物なのだが、
$ ls -al /angstrom/usr/lib/libts* lrwxrwxrwx 1 root root 18 2011-11-15 23:58 /angstrom/usr/lib/libts-1.0.so.0 -> libts-1.0.so.0.0.0* -rwxr-xr-x 1 root root 10060 2011-11-15 23:58 /angstrom/usr/lib/libts-1.0.so.0.0.0* -rwxr-xr-x 1 root root 919 2011-11-15 23:58 /angstrom/usr/lib/libts.la* lrwxrwxrwx 1 root root 18 2011-11-15 23:58 /angstrom/usr/lib/libts.so -> libts-1.0.so.0.0.0*
実態としては上記のようなバージョンで、対応するソースはhttps://github.com/kergoth/tslibより取得できる最新版のkergoth-tslib-1.0-102-g1fd999e.tar.gzで良さそう。こちらのソースは上記のバージョンチェックの修正が施されていたので、そのままビルドし直した。
$ tar xvzf kergoth-tslib-1.0-102-g1fd999e.tar.gz $ cd kergoth-tslib-1fd999e $ ./autogen.sh $ ./configure --prefix=/angstrom/usr --sysconfdir=/angstrom/etc $ make # make install && ldconfig
とりあえずこれで、linux-3.1環境でARMedslack-13.1 on SL-C860を問題なく利用できる自信がついたので、ARMedslack-13.37へのバージョンアップも十分可能ではないかと思う。