MPlayer for Zaurus 1.0.0

キターー!!
待ってました。阿川さんのWikiページがちょこちょこ更新されてたので、そろそろだと思ってました。ということで、早速ダウンロードしてpdaXrom環境で試してみました。
AtiCoreドライバをlibqteのものではなく、pdaXromのAtiCore-1.0.1を使うようにしました。外部ライブラリへの依存が全く無くなったので、pdaXromでも動くはずです
とのことで、解凍しただけで動作しました。で、肝心のパフォーマンスですが、pdaXrom標準のものとほとんど変わらない感じです。ただし、たまに固まってしまい、Cancelで終了できなくなりました。あと、「→」や「↑」を押した時のシークバーのオンスクリーン表示がそのままでは出ませんでした。たぶん、関連ファイルにパスが通ってないからだと思いますが。

エンコード時のパラメータをいじったりして、いろいろと試してみようと思います。

pdaXromで動画とエミュを試す

pdaXromには、ザウルスのグラフィック チップW100に最適化されたmplayerが入ってるようで、オプションを調整することで動画も快適に見ることができました。DivXでエンコードした動画で試しました。320x240の29.97fps、QBでエンコードしたのですがビットレートは大体VBR500kbpsくらいだと思います(たぶん)。コマ落ちはしていると思われるもののほとんど気になりません。十分実用になる印象です。ただし、私のSL-C860だとXを落としたコンソール上からの実行では、縦に細いノイズが入ってしまいました。X上からでの実行でも性能はあまり変わらない感じだったので、私はX上から使うことにします。
お勧めのオプションはこんな感じで、"-vo w100"と"-vf rotate=1"がポイントです。
# mplayer -fs -cache 4096 -double -framedrop \
          -vo w100 -vf rotate=1 ファイル名

次に試したのがエミュレータ。pdaXrom上でのsnes9xは、はっきり言ってメチャ速いです。スーパー○リオ○ートが普通に遊べます。QtだとSound Offにして、やっとという感じだったのが、音ありで同じくらいのスピード。Sound Offにするとかなりスムーズにグリグリ動きます。体感的に1.5倍速くらいでしょうか。こちらは、Xを落としてコンソールから「Emulator for zaurus SL-xxx」さんの情報を元に次のコマンドで起動しました。
# SDL_NOMOUSE=1 snes9x ファイル名

# /proc/driver/w100/fastsysclkを100にしたらもっと速くなるかも。私のSL-C860は画面乱れるようになっちゃったんで、試してませんが。

pdaXromでもkey2mouseでスタイラスいらないす

pandanaotanさんに紹介してもらったkey2mouseを使ってみました。コンパイル自体は、解凍してmake一発と簡単でした。
いいですね、これ。いちいちスタイラスを取り出さなくても、ウィンドウのドラッグやマウスの真ん中ボタンクリックができます。私は、config.hを修正して、カーソルの移動は矢印キーでするように変更しました。Ctrl+Alt+jでマウス操作モードに移行して、qで抜けます。実行ファイル1つなのでipkg化するほどじゃないし、pdaXrom使ってる人ならコンパイルも簡単だと思います。

それから、ひねさんが日本語化されたpdaXromのインストールイメージを作ってくれました。最初からuim-anthyによる漢字入力ができたり、本体フラッシュの少ないC700やC750でも動くようにパッケージのダイエット化がされています。まだ、α版ということですが、私の所では快適に動いています。今から公開が楽しみです。
自分専用の俺様環境インストールイメージを作ることもできるらしいので、私も試してみたいです。

Openboxのキーバインドについて

pdaXromのデフォルトのWindow Managerは、Openbox + Matchboxツールという構成です。このOpenboxは、動作が軽い上にアンチエイリアスも効いて、見た目もなかなか良いです。pdaXromの魅力を醸し出す上で一役買っている感があります。

ただ、元々がマウス操作を前提としているので、いちいちスタイラスに持ち替えて画面をタッチしなければならない場面があって、面倒臭く思ってました(紀香こまっちゃう…)。Qtopiaの時は、InputHelper Appletのおかげで、スタイラスを使うことは、ほとんどなかったんですが。そこで、Openboxのキーバインドについて調べてみました。
Ctrl + Alt + [方向キー]仮想デスクトップ切り替え
Shift + Alt + [方向キー]ウィンドウを別のデスクトップに送る
Ctrl + Alt + Dデスクトップを表示
Alt + Tabウィンドウ切り替え
Alt + Shift + Tab  〃
Fn + 1QVGA拡大表示
Fn + 2VGA通常表示
Fn + 3バックライト照度変更(暗く)
Fn + 4バックライト照度変更(明るく)
Shift + Homeサスペンド
Alt + ペンでドラッグウィンドウの移動
設定ファイルは、"/etc/xdg/openbox/rc.xml"で、中身はXML形式です。キーバインドを変更したい場合は、このファイルをいじれば簡単にできそうです。
あとは、マウスカーソル自体をキーボードで操作できると更にいいのですが。

ぐはっ(吐血) .xinitrcを消してしまいました

わかる人にはわかる懐かしいタイトルですが、pdaXromを触っていると、昔Kondaraで必死にLinuxの勉強をしていた頃を思い出します。何とも言えないワクワク感があるんですよね。
きっと、道具としての完成度はPalmとかのほうが上なんでしょうけど、リナザウには操る楽しさがある気がします。そう、ちょうどオートマチック車全盛のこの時代にマニュアルを好き好んで乗っているのと通じるものがあります。(もともと私の車はオートマの設定自体ないですが…) もちろん、うまく使えば、機械が本来持ってる性能を最大限に引き出すことができます。全ては自分の腕次第、これが私がLinuxを好きな理由でしょうか。

で、本題なのですが、間違って~/.xinitrcを上書きして消してしまいました。どうせ、どこかに雛形があるだろうと思って余裕をかましていたら、あちこち探しても見つかりません。startxしてもtwmの寂しい画面しか表示されなくなってしまいました。全くもって性能を引き出せていません orz
openbox, matchbox-desktop, matchbox-panelを起動すれば、それらしい画面にはなるのですが、何か違うような… 再インストールはしたくないです。

追記:
~/.xinitrcは、/usr/bin/mbsessionにリンクしてたんですね。ちょっと変則的だなぁ。
pdaXrom.jpのwikiに載ってて、助かりました。

# mixiでpdaXromのコミュニティを作りました。

リナザウ上でOpenBSDも動作可能に

最近、pdaXromなどの出現で一部マニアの間でかなりアツいZaurusですが、今度はOpenBSDを動作させる"OpenBSD/zaurus"というプロジェクトが始まったようです。もちろん、X11が動くらしいです。/.Jによると、オープンソースになっていないSDカード周りは使えないようですが…
OpenBSDとなると、リナザウとは呼べませんね。何て呼ぶのでしょうか?

OpenBSD/zaurus
OpenBSD/zaurus is an effort to make OpenBSD run on several PDAs of the Sharp Zaurus family.
サポートするハードウェア:
  • ザウルス SL-C760 および SL-C860
    シリアルポート (console) (com)
    PCMCIA スロット (pxapcic)
  • ザウルス SL-C3000
    シリアルポート (suitable as console) (com)
    LCD ディスプレイパネル (lcd)
    PCMCIA スロット (pxapcic)
    オンボード・マイクロドライブ (wd)
    USB コントローラ (ohci)

# 明日の関東地方は雪らしいです。pdaXromいじるには、もってこいかも。

pdaXromでもbitWarp PDAを利用する

今日は午後から研修でした。直帰でいつもより早く帰って来たので、pdaXromをいろいろといじってました。で、やっとbitWarp PDAの機器認証による接続が可能になりました。何のことはないpdaXromのPPP設定ツールで接続情報を作成するだけでした。

1. authdrvを/usr/sbinにコピー
2. /usr/etcディレクトリを作成
3. System Tools->PPP ModemでbitWarpという名前で接続情報を作成(もちろん別の名前でも可)
 ユーザID,パスワードとともに以下のような情報を入力します。
 Phone: 0570570100##64
 Device: /dev/ttyS3
 Init String:AT&F&C1&D2&K3&S0E0#A1
4. ターミナルから次のコマンドを使って接続
# authdrv ttyS3 debug call bitWarp
最初の1回は失敗しますが、認証用のファイル(skdata.mac)が/usr/etcに作成されて2回目から接続できます。切断は、"Ctrl + c"です。

bitwarp PDAのカードが変わるそうです

bitWarpコース・オプション 新規入会 一時停止のお知らせ
So-netでは2005年より、bitWarp各コース・オプションのご利用に必要な「bitWarp専用通信カード」のモデル変更をいたします。 同通信カードの在庫入れ替え、ならびに関連業務システムのメンテナンスを行う都合上、bitWarpの全コース・オプションへの新規お申し込み受付を、以下のとおり一時停止させていただきます。
bitWarp新規お申し込み受付停止日:
2004年12月24日(金)正午
So-net ADSLの解約申し込みをしようとしててみつけました。
現行のNEC製からSII製のカードに変わるようです。VN-201の消費電力が約190mAに対して、SII製のは約170mAらしいです(どちらも128kbps通信時)。通信しているとあっという間にバッテリがなくなってしまうので、少しでも消費電力が減ってるのは嬉しいかも。
ちょうどbitwarp PDAに加入しようと思っている人は、年末年始に使うか新カードを取るかで悩ましいですね。

# ところで、ADSL解約時だけ郵送 or FAXなんてやめてください > So-netさん

pdaXromでbitWarp PDAを使いたい(2)

風邪が悪化してついに会社休んじゃいました。
で、少しだけauthdrv関連を試してみましたが、やっぱり動きませんでしたorz
標準のROMがglibc-2.2.2なのに対して、pdaXromがglibc-2.2.5なのがネックのようです。

試したことは、ファイル名を次のように変更して/libに保存。
libcrypt.so.1 → libcrypt.so.0
libdl.so.2 → libdl.so.1
ld-linux.so.2 → ld-linux.so.1
authdrvとこれらのライブラリをバイナリエディタでいじってそれぞれを参照するように変更、依存関係を解決してみました。でも、やっぱり接続しようとすると、Segmentation Faultで落ちちゃいます。
うーん、困った。

pdaXromでbitWarp PDAを使いたい(1)

と思ってゴニョゴニョしてみました。結果はNGでしたが、まだ深くは追っていません。いかんせん風邪気味なので。
試した内容は、まずQtopia環境から以下のファイルを持ってきました。
・/usr/sbin.rom/authdrv → /usr/sbin/にコピー
・/home/root/usr/etc/skdata.mac
・/etc/ppp/peers/DIALUP**********
3つ目のファイルは、ダイアルアップ設定情報が入っています。これを分かりやすいファイル名に変更します(例えば"bitWarp"とか)。
で、次のコマンドを実行すると、Segmentation Faultで落ちてしまいました。
# /usr/sbin/authdrv ttyS3 debug call bitWarp
Segmentation Fault
電話を掛けている様子もないので、機器認証以前の問題かもしれません。PPP Dialerからの接続では電話を掛けて認証で弾かれるので、VN-201のカード自体は認識しています。

一応、下記のように返ってくるのでライブラリ関連は足りているようです。怪しいのはバージョンでしょうか。
# /lib/ld-linux.so.2 --list /usr/sbin/authdrv
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x40005000)
    libdl.so.2 => /lib/libdl.so.2 (0x40039000)
    libc.so.6 => /lib/libc.so.6 (0x40044000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)

Zaurus上から使うわけでbitWarp PDAのライセンス上は問題ないはずですので、なんとか使えるようにしたいですねぇ。

今、Qtopia上でlddしてみたところ、次のようになりました。これらを全部持って行けば動くかも知れません…
[zaurus@C860 zaurus]$ /lib/ld-linux.so.2 --list /usr/sbin/authdrv
         libcrypt.so.1 => /lib/libcrypt.so.1 (0x40003000)
         libdl.so.2 => /lib/libdl.so.2 (0x40038000)
         libc.so.6 => /lib/libc.so.6 (0x40043000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)