主戦場を qtopia-free から opie に移す。
Opie もインストールするにはやっぱり /home/QtPalmtop 全とっかえ以下略なので、 まともに full build すらせずほっといた (そういうことするから個別 make でハマるんだろーが > オレ) ものだが、chroot jail が qtopia 動かせるほどまともになってくると opie も動く ... だろう、たぶん。
このあたりの CVS から opie のソース、opie は qt-embedded 2.3.4-beta5 でなきゃ動かんてことなので それは こっちから。 beta のとれた qt-embedded 2.3.4 もでているが、qt234-for-opie パッチはあたらんわ、 てきとーに修正して make したらエラーの塊でダウンした。
とかいいつつ qt-embedded 2.3.4 を使う。どーやら 2.3.4-beta5 に対する opie patch は 2.3.4 に姿を変えてとりこまれてる風。
一見、ひじょ〜に自然な流れだが、この時点ですでにワナに嵌っているのであった。
とりあえず手で TS_EVENT 書き換えて build した。
% export QTDIR=/home/src/Qt/arm/qt-embedded-2.3.4
% PATH=/opt/Embedix/tools/bin:${PATH}
% cd /home/src/Qt/arm/qt-embedded-2.3.4
% cp ../opie-cvs/qt/qconfig-qpe.h src/tools
% ./configure -qconfig qpe -depths 16,32 -xplatform linux-sla300-g++ \
-system-jpeg -system-libpng -system-zlib -no-qvfb -no-vnc -no-xft
% make |& tee ../make.qte.log
% cd ../opie-cvs
% export OPIEDIR=/home/src/Qt/arm/opie-cvs
% make menuconfig
% make |& tee ../make.opie-cvs.log
opie も巨大になって、カーネルと同様の make menuconfig 受け付けるようになってる。
それと 2.3.4 の場合、jpeg 〜 zlib は configure option だけで qt-embedded 外に追い出せる。 つーか、順番的には 2.3.4 の src/Makefile.in 見て 2.3.2 のを直したんだけど ...
Install も似たようなもの。
# mkdir /home/src/SUBSYSTEM/arm/usr/local/opie
# export JAIL_OPIEDIR=/home/src/SUBSYSTEM/arm/usr/local/opie
# cd /home/src/Qt/arm/qt-embedded-2.3.4
# tar -cvp lib | tar -xpC ${JAIL_OPIEDIR}
# cd /home/src/Qt/arm/opie-cvs
# tar -cvp apps bin doc docs etc help i18n pics plugins share sounds \
| tar -xpC ${JAIL_OPIEDIR}
A300 側では:
# mount -t nfs atropos:/home/src/SUBSYSTEM/arm /home/root/debian # cd /home/root/debian # chroot . /bin/zsh # mount -t proc proc /proc # unset LOGNAME # export QTDIR=/usr/local/opie # export OPIEDIR=/usr/local/opie # LD_LIBRARY_PATH=/usr/local/opie/lib # PATH=/root/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/opie/bin:/usr/local/bin # kill -1 1sed 's/qpe/opie/g' するだけでなんらかわりなし。起動すると:
# /usr/local/opie/bin/qpe ... (中略) segmentation fault.
... 実は一発で動くほうが奇跡か?
# /usr/local/opie/bin/qpdf -qws -display LinuxFb:0
順繰りにみてったら落ちるのはよーするにランチャの /usr/local/opie/bin/qpe だけでやんの。
その順繰りに試したなかに DrawPad とゆーものがある。お絵描きソフトである。 これがおそろしくはやかった ── というのは説明がいると思うが ...
A300 の Qtopia では、物理的なペンダウンからそれがアプリに伝わるまで最悪で約 100ms かかる。 ペンムーヴの処理は 1ms 強くらいのものなのだが。
Qtopia free だと約 70ms になるが、それでも X に比べると激烈に遅く、 お絵描きソフトや手書きメモなどでペンダウンから素早い移動に対して 描線のスタートダッシュが遅れるのが目で見える。 (お絵描きソフト側の処理の責任ではない ... 線描きを伴わないプログラムで見てもレイテンシは ほどんと変わっていない)。
Opie の DrawPad で見るかぎり、opie は X よりはやいんじゃないか? ペン先にぴったり追従する。 アプリの起動時間そのものは A300 の ROM 1.0J レベル (世界時計の起動に約10 秒; ただ、 NFS 越しでの起動というのは考慮する必要がある) で、 全体として軽いわけではないが、内部構成の素性は良さそう。
libqte 2.3.4 のバグ確定。
で、最初に戻るのだが、qte 2.3.2 と qte 2.3.4 て、むちゃくちゃ中身が違ってる訳で、 どこでどーエンバグしたんやら、さっぱり分からんのであった。 ちなみに diff -uNr qt-embedded-2.3.2 qt-embedded-2.3.4 すると 3.6 MB ほどになる。
stable というのかどうか、snapshot 版 を拾ってきて、これと組む。 こちらは make menuconfig でなく、まだ
# ./configure -platform linux-sharp-g++とする。 もっとも def-configs/ あたりに make menuconfig するための準備は入ってた。 make は最後まで通り、qpe も起動した。
Language を日本語にし、Appearance からデフォルトフォントも切替えると日本語もちゃんと見える。 デフォルトフォントを Unifont 以外にするのに ソースをいじる必要のある Qtopia よりかなりいい。 どこで切替えるかってあたりがとっても分かり辛いけど。ついでに半透明メニューを使ってみた。![]()
一方、日本語を入力する方法は今のところない。 もちろんかつて テスト的に SL5x00 で行われていたように、 unicode map から 1 文字ずつ手で拾ってけばできるけど、今それをせいと言われてもちょっと ...。 また、Anthy が qte に対応しつつあるが、 IM サポートのない qte 2.3.2 では話が遠い。せめて qte 2.3.4 に移れないとねぇ。