トップ «前の日記(2011年11月13日) 最新 次の日記(2011年11月17日)» 編集

Masa's blog

検索キーワード:

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へのバージョンアップも十分可能ではないかと思う。