1/16/2011

[note] LooxU/C40もUbuntu化

してしまった。ていうかLooxU/C30,C40,C50の極小コンバーチブルシリーズはあっさり打ち切られて久しいし、みんなもう忘れてますよね。いいPCなのに。後継の横長なんて誰が買うんだ元に戻せ。といっても、私もメインPCのOSをubuntuに移行して以来、本機はグラフィックドライバとかに不具合があるということで移行できず、長らく放置してたわけですが。10.10で色々解決されたという噂を聞いて復活に着手したのです。やっぱし自分のツールが使えないと。それでもドライバの設定とかで結構苦労したけど、とりあえず一通り満足に動く状態にまで出来たのです。高解像度だから持ち運び用の電子書籍ビューアとしては最高。再生支援で動画もヌルヌル。しかしとても面倒なその手順は以下の通り。

1. 何はなくともUbuntuのCDイメージ入手。日本語ローカライズ版もあるけどどっちでもあまり関係ない。
2. イメージを焼いたCDで、外付けドライブから起動。普通にインストール。
3. 端末から下記コマンドでアップデート。結構時間がかかるのでじっと待つ。

$ sudo apt-get update
$ sudo apt-get upgrade

 終わったら再起動します。

この時点では、グラフィックドライバがgenericなので遅いし解像度もXGAになってしまいます。あとこの機種特有らしい不具合として、サウンドが狂ってます。具体的には、ログイン時に鳴る音がログイン後も延々とループして鳴り続けます。デバイスが占有されるからか、音楽ファイルや動画再生も出来なくなります。これはひどい。というわけで、基本的にはこの2点、グラフィックとサウンドのドライバ当てが出来ればOKなのですが、情報は殆どなく、色々試行錯誤する羽目になったわけで。結論としては、以下の様にして対処します。

4. ドライバ当て
・グラフィックドライバ: GMA500のレポジトリ追加とドライバ取得。端末から下記コマンド。

$ sudo add-apt-repository ppa:gma500/ppa && sudo apt-get update && sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config

再起動すると解像度とかOKになる。

・サウンドドライバ: こっちは未だに原因も特定出来てないんだけど、結論だけ言えばデフォルトのalsaモジュールをアンインストールすると何故か上手く行く。具体的には端末から下記コマンド。

$ sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils

再起動すると、サウンドが正常に。何なんだ一体。いやまあ読んでる人の方がわけわかんないでしょうけどね。色々誤認識を疑ったり、オプション指定したり、バージョン変えたりしても治らなかったのがこれで治るんだから。嬉しいんだけど、やってみればわかるこの不条理さ。知らないうちに他に何かやったのかと自身の認知機能を疑う程であります。

---> 追記
サウンドの不具合に関して、正しい解決法が発見されたようです。といって今更クリーンインストールしなおして試す気にはならないので、上記でremoveしたalsaドライバ類をインストールしなお("--purge remove"を"install"に置き換えて実行)して、解決法の設定(/etc/modprobe.d/snd-hda-intel.confを作ってoptions snd-hda-intel enable_msi=0と書き込む)の有無を切り替えてテストしてみました。結果、確かに本設定の有無とサウンドの不具合が同期しますね。これですっきりしました。素晴らしい。

5.動画再生支援付きプレイヤーのインストール

以上の解決に至るまでには色んな情報に振り回されて結構苦労したわけだけれど、そんな面倒な思いをしてドライバを当てた主な理由は、ムービーを快適に観るために、GMA500の動画再生支援を有効にしなければならなかったからなのです。そのためにはあともう一手間。vaapiに対応した動画再生アプリも入れなければいけません。それには同下記コマンド。

$ sudo apt-get install mplayer smplayer gnome-mplayer gecko-mediaplayer

これで入ったmplayerを使えば、非力なlooxUでもHD動画がヌルヌル再生出来るわけであります。ああ面倒でした。特にサウンド。外したら正常になるってどういうことよホント。

他にも、タッチスクリーンのキャリブレーションとかもして、万事OK。小さいことは良い事です。あー疲れた。

・追記 万事OKではありませんでした。

スタンバイとかまだちょっとおかしくて、その辺も設定しないといけませんし、smplayerもデフォルト設定だといまいち挙動がおかしくて、出力ドライバーをgl(高速)にする必要があったり。タッチスクリーンのキャリブレーションにもいくつか方法があって、どれがいいのかはよくわかんないけど、回転とかも対応してるfujitsu専用ドライバがいい感じ。ただしタッチスクリーンドライバを使う時には、biosでモードを切り替えておく必要があるので要注意。マウスモードだとダメです。とか。うーん面倒。

・追記2

タッチスクリーンドライバのインストール&キャリブレーションの手順を一応メモ。

ドライバは下記から。富士通専用です。

spareinfo: Linux on a Fujitsu U810, P1620, T1010 - Ubuntu 10.10 Maverick

これを書いている時点ではfujitsu-usb-touchscreen-0.3.8.tar.gzが最新。wgetでも取得できます。それには下記コマンド。

$ wget http://katastrophos.net/downloads/fujitsu-usb-touchscreen-0.3.8.tar.gz

基本的にmake & make installでOKですが、一点だけ注意が必要です。本ドライバはインストール時等にHAL関連コマンドのlshalを使用している様子なのですが、これがデフォルトではシステムにインストールされていません。なので別途入れてやる必要があります。これらはgnome-device-managerの中に入っていますので、これを入れてやります。

$ sudo apt-get install gnome-device-manager

その後でsudo make installでインストール完了。
キャリブレーションは下記コマンド。

$ fujitsu_touchscreen_calibration.py

起動後、画面の四隅を押してからS押下で完了。以上でOKの筈です。素晴らしい。ドライバの作者には深い感謝の念を禁じ得ません。

・追記3
 回転ボタンとかのドライバもあると聞いて入れてみました。fjbtndrvという名前で、インストール方法はいくつかありますが、例えば下記で。
$ sudo add-apt-repository ppa:khnz; sudo apt-get update; sudo apt-get -y install fjbtndrv
 再起動すると、ディスプレイ下部の画面回転ボタンでローテーションするようになります。
 ただし、上記タッチスクリーンドライバを入れてる場合は、同期させるためにrotationスクリプト(fujitsu_touchscreen_rotate.py)を起動させておく必要があります。方法はタッチスクリーンドライバのREADMEに記載されていますが、[システム]-[設定]-[自動起動するアプリ]の中に/usr/bin/fujitsu_touchscreen_rotate.pyを登録するだけです。そして再起動で完了。画面回転時にタッチ位置も追いてくるように。