"Linux on the Palmax 1100" by Alan Cox.
Japanese translation done by KIMOTO Go.

Linux On The Palmax 1100


概要

Palmax 1100 は Cyrix MediaGX ベースのパーム/ミニノートブック PC です. IBM PC110 の替わりとなる持ち運び可能な開発マシンとして これを選びました.理由をいくつかあげます.

Linux のインストール

私は Red Hat を入れました.Lorax beta スナップショットを使いました. Red Hat 6.0 でも大丈夫でした.CD からインストールしました.

Lorax を使う場合はテキストモードでインストールします. このマシンは IDE ハードディスクと CD が普通の IDE インターフェースでつながっています. インストーラがほとんどすべて自動的にやってくれます.

タッチパネルは Red Hat ではサポートされていません.でもご心配なく. あとで解決策を説明します. X server は拡張ユニットの PS/2 マウスで使うことができ, セットアップで役に立ちます. 今のところ 8 ビットデプスモードでしか動きません. これは X server のバグかあるいは Cyrix VSA か,あるいは両方なのか, はっきりしません.

タッチパネルを有効にするには, 下のリンクのセクションで Xserver をダウンロードしてください.

そのままではオーディオが使えません. カーネルにパッチをあててリコンパイルするか, または Linux カーネル 2.2.13pre6 以降を使えば直ります. これは Cyrix MediaGX のエミュレーションにバグがあるためです. Cyrix MediaGX のエミュレーションにはもうひとつバグがあって, 録音ができません.こちらはまだ私にも解決策が見つかっていません.

互換性

ミニノートブックマシンで Linux を使おうとすると互換性の問題がつきまといます. マシンを 小さくするため, 電力消費を低くするために ベンダはいろいろと トリッキーなことをするからです. Palmax 1100 ではその点たいへんうまくいっています.

フロッピードライブ
ドッキングステーションのフロッピードライブは Linux で使えます. パラレルポートとフロッピードライブが同時に使えないのが ちょっと奇妙ですが,互換性は完全です.

CD-ROM
ドッキングステーションの CD-ROM ドライブは IDE 接続で /dev/hdc となります. ひとつだけ問題があるとすれば,ドッキングステーションを 着脱するときは必ず電源を落とさなければいけないことです. Suspend-to-disk が使えない Linux にとってはつらい仕様です.

ハードディスク
2.5 型ドライブです. ドライブ自体は UDMA をサポートしていますが BIOS が UDMA サポートを有効にしてくれないので Linux で UDMA を有効にする方法はわかりません. PIO モードでの転送レートは約 2.5Mバイト/秒 です. 2.2.15pre カーネルで UDMA がサポートされるようになりました.

オーディオ
MediaGX は Soundblaster 16 互換をうたっています. とんでもない.ちっとも互換ではありません. 私は MediaGX サウンドのバグを調べて 再生側の問題は解決し, 音が出るようになりました. 現在は実用的なオーディオ再生ができるようになりました.

ビデオ
コンソール切り換えにおいて色がおかしくなることを除くと 8 ビットカラーモードは問題なく使えます. 16 ビットモードはバーチャルで 1024 ピクセルにした場合のみ使えます. これについては私も調べてみたのですが Cyrix の怪しげなファームウェアの奥深くで死んでいるようです. 3.3.3.1 SVGA X Server を使用してください. 近いうちに 3.3.5 サーバが Palmax で動くようにしたいと思います. それまでの回避策はバーチャルスクリーンにすることです. これで X サーバクラッシュの原因であるビデオ圧縮機能がオフになります. バーチャルスクリーンがいやならば横 641 にしてください. 1 ピクセルの違いなら気にならないと思います.

Cyrix MediaGX にはテキストモードはありませんが, たいへん低いレベルでそれをエミュレートしています. Palmax 1100 では Linux で問題なく使えます.

キーボード
キーボードはおかしな配列で 77 個のキーがあります. この配列になれるにはちょっとかかりますが, 77 個キーがあるということは PC110 よりは本物のキーボードに 近いということになります. 配列はファームウェアでマッピングされているようで, 一般的な UK 配列で使えます. うれしい誤算.

パワーマネジメント
うまく動いています. Linux では ACPI を使いたいところですがそうはいきません. BIOS で APM サポートを有効にすることができます. サスペンドは単に画面の消去になります. ホットキーによるサスペンドが動作します. Suspend to disk は Linux では動作しません. かわりに Linux swsuspend パッチを試してみようと思っています. 見つかった問題の中では Suspend to disk ができないことが 一番がっかりさせられました. BIOS の設定で CPU をアンダークロックすることができますが, リセットしないと変更が適用されないので PC110 のスピードホットキーの便利さに比べたらないも同然の機能です. Linux から CPU のスピードを設定する方法があればいいのですが.

大容量バッテリパックは4時間駆動をうたっています. X11 でゲームをしたり一般的な作業をするぶんには間違ってはいませんが, カーネルのビルドをさせると真実とはいえません. ルートファイルシステムを "noatime" に設定し, 1.5 分でディスクの回転を止めるようにしてやりました. そうそう,スクリーンセーバは凝った表示をさせるのではなく 画面をオフにさせるものと心得ましょう.

ペン入力
Palmax 1000 専用の XInput デバイスが入手できます. これをインストールすると Palmax 1100 のペンが気持ちよく使えるようになります. 精度はまずまずで, 他の小型ラップトップのマウス代用デバイスにくらべたら ずっと快適です.

PCMCIA
PCMCIA コントローラは Linux pcmcia_cs で快調に動いています. Red Hat では PCMCIA を有効にしてインテル式に設定しただけで すべてうまくいっています. タイプ II が 1 スロット.ネットワークカードに.

IRDA
Itai Nahshon さんの報告によれば 2.2.14 に 2.2.14-irda1 patches をあてて (つまり 2.2.15pre) うまく動いたそうです. Palmax には NSC PC97338VJG コントローラが シリアル,フロッピー,パラレルに使われています. IRDA が使えるようにするにはつぎのように設定します.
setserial /dev/ttyS1 uart unknown
modprobe nsc_fir dongle_id=9
irmanager &
ifconfig irda0 up

USB
Linux 2.3.x の USB が Palmax で動作します. 現在開発中のコードではサスペンドしたあとに USB を使うのには問題があります.

まとめ

Palmax 1100 はナイスな Linux パームトップです. Cyrix MediaGX の サウンドとビデオのサポートには少々難がありますが, 致命的なものではありません. ハードウェアはうまく動いており, 非 Windows ユーザをおとしいれる汚い罠は見当たりません.

二つ,とてもがっかりしたことがあります. Linux で Suspend to disk ができないこと, Cyrix がいつまでたっても エミュレーションが正しく動作する ファームウェアを提供できないでいることです.

Linux suspend to disk パッチというものがあるので これが Palmax 1100 でうまくいかないかと模索しています. Cyrix はあてになりませんね.

追加情報: Cyrix が Mark Lord さんに 5530 チップセットで UDMA を使うための情報を提供してくれました. また私にも十分な情報をくれたので,オーディオのバグを回避できるかもしれません. これで Palmax は Linux の基本部分をすべてサポートできることになります. 残る問題は BIOS Suspend to Disk だけです.

リンク

XServer
Palmax 1000/1100 のタッチスクリーンをサポートした XFree86 3.3.3.1 です. ファイルが壊れているというレポートが出ますが Xserver 自体は問題ありません. ペンを有効にするには XFree86 コンフィグレーション を適切に設定してやる必要があります.
Amherst Electronics
私はこの店から Palmax 1100 を購入しました. このお店とはトラブルもなく,購入前の問い合わせにも親切に対応してもらえました.
Cyrix Tools
ここから set6x86 を手に入れると MediaGX CPU のパワーマネジメントを有効にすることができます.

スタートアップの設定は,私の場合 /etc/rc.d/rc.local に以下の記述を加えています.

mount -o remount,rw,noatime /
/sbin/hdparm -S 15 /dev/hda
/sbin/hdparm -u 1 /dev/hda
/usr/local/sbin/set6x86 -p 0xC2 -s 0x08
"noatime" の設定で「最後にアクセスした日時」を 記録しないようにします. ファイルをオープンしたり読み込んだだけで ディスクの回転がはじまらないようにするためです. hdparm -S 15 は 1分 15秒たったらディスクの回転を 停止する設定です (数字はお好みで変更できます). hdparm -u1 でディスクアクセス時の IRQ マスキングを無効にします. 音が途切れないようにするためです. set6x86 で MediaGX CPU のパワーマネジメントを有効にしています.