GV-MVP/RX2 を入手して以来、ubuntu desktop でのテレビ視聴設定に苦心してきたのだが、ivtv-1.0.2 を試してみたら、あっさりうまくいったという話。
基本的には、
- ivtvdriver.org で ivtv のソースと firmware を拾ってくる
- ぱ研さんとこ(というか macmil_co_jp さんとこ)のパッチを当てる
- ivtv 入れる
- firmware 入れる
- saa7115 やら ivtv やらを modprobe する設定を modprobe.conf へ
という流れなのだが、ivtv-0.9.8 くらい以降 ivtv-0.10.3 くらいまででいろいろ試したが、映像は出るものの、どうも音が出ない(かすかに出ているのだが、どうもデコードと同期に失敗してて聞き取れない)。mplayer で 10 秒くらい視聴していると
とか怒られて、だんだんカクカクになる。-cache しても -framedrop しても同じ。ライブが不要であれば $ cat /dev/video0 > hoge.mpg とかで録画すれば録画したモノは滑らかに再生できるので問題ないとしても、音が出ないのは致命的だ。
ちなみにマシンスペックは、GA-945G-S3 / Intel Core 2 Duo E6300 @1.86GHz / 2048KB cache / 1.5GB SDRAM / GeForce 7300 GS GPU で、そんなに低いとも思えなかった。
ふと、ivtvdriver.org を見に行ってみたら、ivtv-1.0.2 が出ていた。1.0 系が出ているのを知らなかったので、アーカイブを拾ってみたら README の supported cards に I/O Data GV-MVP/RX2E と、それっぽい記述が(もっとも 0.10 系でもこの記述はあった)。ということで、こいつをビルドしてみる。
ivtv-1.0.2 は kernels 2.6.22 以上対象なので、そのままだとビルドできない。まずはカーネルのバージョンアップから。Ubuntu Geekの記事を参考に、apt の sources.list に Gusty のリポジトリを追記。まさかこんな形で Gusty を試すことになるとは思わなかった。2.6.22-12 の各種ディストリビューションパッケージを $ sudo apt-get install => 再起動。NVIDIA カードの初期化に失敗したとかいって X 起動に失敗したので、nvidia 関連のパッケージ(nvidia-glx-new, nvidia-glx-new-dev とか)もインストールして、$ sudo modprobe -r nvidia && sudo modprobe nvidia-new した。
カーネルのバージョンアップが終わったら、ivtv-1.0.2 を $ make && sudo make install で OK。firmware をインストールしてから再起動。で、
$ mplayer /dev/video0 -cache 8192 -framedrop
で視聴開始。む、またも音が出ない。やはりパッチが必要か。
というわけで macmil_co_jp さんとこからパッチを取得。macmil_co_jp さんとこは相当数のパッチを公開されてて、目的のモノを捜し出すのがちと大変。僕が拾ってきたのは、
- http://www.macmil.co.jp/macmil/dat/s7115f8p.tar
- http://www.macmil.co.jp/macmil/dat/tvau-f8p.tar
- http://www.macmil.co.jp/macmil/dat/kb10-f8.tar
この3つ。それぞれ、saa7115.c, tvaudio.c, Kbuild にリネームして ivtv-1.0.2 を再ビルド。ついでに と /etc/modprobe.conf に saa7115 やら tvaudio の設定を追加。
これで再度 mplayer 起動。おお、音が出た!カクカクも起こらない!
あとは適当に tv コマンド(テレビ起動) やら ch コマンド(チャンネル変更) やらを整えて完了。Gusty 標準(?) の Compiz を有効にしてウィンドウふにふに 3D デスクトップしても、テレビ視聴問題なし。うーん、すばらしい。
ちなみに、S 端子入力にプレステ2の映像を突っ込んで、
とかすれば、S 端子外部入力に切り替えできる。–set-input=2 ならコンポジット(RCA)端子入力。でも、外部入力からの映像表示は遅延が大きく、コントローラ入力から映像への応答を見るに 2 秒弱遅延しているようだ。これはゲームには無理かなぁ。。
2007/10/01 追記。
-cache 8192 してたから遅延は当たり前でした。でも、-cache しなくても 1 秒弱は遅れるので、やぱしゲームでの利用は厳しいな。
関連していそうなエントリ:

10月 1st, 2007 at 10:46
非常に興味のある情報の提供を有難うございます。
私ごとですが現在、GV-MVP/RX2をubuntu 7.10に入れTV録画機能を持たすことができれば、自宅のメインマシンにしようかと思案している最中です。しかし、kernelのUpが必要ということで安定性が心配です。yosukeさんのPCは現在安定して使用できているでしょうか?
また、GV-MVP/RX2を入れるまでの/etc/modules.confなどのより詳細な情報の提供を頂ければ幸いです。
@高知
10月 1st, 2007 at 23:32
くる さん、コメントありがとうございます。
ご質問の件ですが、現在 TV 利用している ubuntu-7.10 は、メインデスクトップとしてではなく、自作の Web アプリ動作環境検証サーバと兼ねて利用しています。24 時間電源 ON で使用していますが、今のところ、特に不審な動作もなく安定して動いております。一方、サービスアプリ以外のユーザアプリなどは全く追加インストールしていませんので、通常デスクトップ利用した場合と比較すると、少し条件は異なるかもしれません。10 月中には 7.10 の正式リリースが来そうですので、安全を見るなら、もうちょっと待ちが良いかもですね。
また、apt などのパッケージ対応は多少遅れが出るため、当初からメイン環境として利用していくには、自前ビルドなどの面倒が起こり得ることについて、ある程度、心の準備が必要になると思います。
10月 1st, 2007 at 23:34
くる さん、続いて、エントリ中の省略した部分についてですが、firmware は ivtvdriver.org から取得したものを展開し、
$ sudo cp v4l-* /lib/firmware/2.6.22-12-generic/
としています。
最終的な /etc/module.conf については以下のとおりです。(パッチ前後で若干修正しているので、結局不要になっている部分もあるかもしれません。)
$ cat /etc/modprobe.conf
options ivtv tuner=46 ntsc=j
install ivtv /sbin/modprobe –ignore-install ivtv; /sbin/modprobe upd64031a; /sbin/modprobe upd64083; /sbin/modprobe tvaudio; /sbin/modprobe wm8739;
install videodev /sbin/modprobe –ignore-install videodev; /sbin/modprobe i2c-core; /sbin/modprobe i2c-algo-bit; /sbin/modprobe tuner; /sbin/modprobe saa7115;
これに加えて、/etc/rc.local に
/sbin/modprobe ivtv
の1行を追加してあります。
10月 4th, 2007 at 11:05
yosuke さん、詳細な説明有り難うございます。
次期Ubuntu Linux「Gutsy Gibbon」のベータ版がリリースされたとのアナウンスがありました。yousukeさんがいわれるように、私はメインのPCとして使用しているために、Ubuntu Linux「Gutsy Gibbon」が正式にリリースされてからの方が良いのかな〜と考えるようになりました。正式リリースも近いようですの安全にUPできるよう待とうと思います。後、1ヶ月ほどのようですので待って、yosukeさんのアドバイスを参考にしてTVライフ楽しめるようにしたいと思います。その時には、またよろしくお願いします。
このブログをMyNotbookに登録しました。
1月 22nd, 2008 at 21:21
はじめまして、こちらを参考に私もLinuxでテレビを視聴することができて大変感激してます。ありがとうございました。
環境はfedora8 + ivtv1.0.3 + PVR150 なのでちょっと違うのですが、ほとんど上の要領でokでした。
見れただけでも今は満足なんですがひとつだけ、上の要領でS端子外部入力にうまく切り替えることができたのですが、またコマンド
$ v4l2-ctl -d /dev/video0 –set-input=0
でテレビモードに戻したときに画像は戻るのですが音声がもどらなくなります。
もし操作方法がおわかりでしたら、教えていただきたく思います。
どうぞ宜しくお願いいたします。
1月 24th, 2008 at 19:44
マサトさん、コメントありがとうございます。お役に立てる部分があったみたいで、僕も嬉しいです。
入力切り替え時に音声が戻らないという件ですが、僕の手元では再現でませんでした。ただ、僕も、いろいろと設定をいじっていると映像が乱れたり、音声が消えたりということがありますが、$ v4l2-ctl -s ntsc-j などで復帰できることがあるようです。あまりちゃんと調べ切れてません (_ _) v4l2-ctl や ivtvctl の切り替え時の処理にまずい部分があるのかもしれないので、オプション等確認され、いろいろお試しになると、良い解決方法が見つかるかもしれませんです。あまり回答になってなくてすみません。
1月 26th, 2008 at 00:28
ありがとうございます!その後も自分なりにいろいろやってみたのですが、どうもうまくいく時といかない時があるようです。
そのタイミングポイントが判ればいいのですが、いまだ原因が不明です。
$ v4l2-ctl -s ntsc-j も試して見たいと思います。こちらも進展がありましたらご報告させていただきますので、どうぞ宜しくお願いいたします。