2013-07-10

Mark Shuttleworth: Mir二週間

Mark Shuttleworth: Two weeks with Mir

Mark ShuttleworthはMir(より厳密には、XMir上で動くUnity 7)を二週間試し、そのパフォーマンスに満足したようだ。また、体感的に、X.Orgよりも動作がスムーズになったとまで書いている。

この二週間、私のラップトップ上で、Mirはスムーズに動いている。このラップトップはIntelのみのDell XPSなので、Ubuntuにおけるドライバースタックはとてもクリーンなのだ。とはいえ、Mir以前よりもシステムがスムーズになったように感じるのは、驚きだ。このMirを動作させているSaucyは更新が激しく、新しいバージョンのXやCompizも使われているので、そのせいなのかもしれない。しかし、全体を観察してみると、XorgとCompizが、Mirの元では、Xがハードウェアを直接扱うより、メモリー消費量もCPU利用量も少なくなっている。

Mir開発部門と話したところ、他の者も同じ体験をしているそうで、彼らによれば、ハードウェアに対するリクエストを、より効率的なバッファリングで行うことが寄与しているのだという。「ご使用の環境により、効果は異なります」とはいえ、試すべき価値はある。私が気がついたバグはひとつだけ、CHromiumがグラフィックスタックの問題によりディスプレイをフリーズさせるという事だ。Alt-F1を押すとフリーズは治る(どうもこれにより、Compizになんらかの働きをさせ、GPUを正常な状態に戻すようだ)。私への報告によれば、この問題は些細なもので、将来のPPAのアップデートで解消されるそうだ。

私の全体的な感想としては、Mirは私が期待していたものを提供してくれる。すでに試みられた手法--SurfaceFlinger、Wayland、X--を検証したというアドバンテージがあるということもあろうが、パフォーマンスと効率が一番の懸念事項である、モバイルのレンズを通して問題を観察したからという事もあるだろう。とにかく、軽快で、効率的で、高品質で、レガシーXスタックを実行するのですら、恩恵を受けるのだ。

我々がUbuntuに下すあらゆる決定に疑念の声があがるのは、多くの人々が影響を受けるからだ。しかし、私が開発部門に念押ししているように、行動が必要とされている時に行動しないという失敗は、間違った行動による失敗と同じぐらいひどいものである。ユーザーからすれば我々には難しい領域に挑戦する責任がある。過去の多くの難しい決定は、今日の広範な利用者に、我々のお役立ち度の基礎となっているのだ。

グラフィックスタックを作るというのは、気軽に行われた決定ではない。午後のハッキングとはわけが違う。この決定は技術的ファクターを注意深く考察した結果取られた。我々には、様々なデスクトップ環境で一貫したユーザーエクスペリエンスの品質を提供するために、広範なハードウェアで動く、信頼性が高いグラフィックスタックが必要なのだ。

もちろん、ここには競争が存在するし、私はこれを健全なものと考えている。私はMirが競合相手より、我々の選択した基礎的な違いや決定のため、より素早く進化すると信じている。例えば、拡張するしか能のない凝り固まったプロトコルのかわりに、我々はAPIを提供している。このAPIの実装は、時間と共により優れたパフォーマンスへと進化するだろうが、固定プロトコルを話しているのでは、同じ事をするのは難しい。Xで我々が味わったように、固定のレガシープロトコルと、絶え間ない拡張群の作り続け、しかも拡張自体にバージョンが存在するというのは、物事をやたらと変な方向に持っていく。すでに私よりも適任な他人が、Mirの具体的な技術上の詳細をまとめているので、Mirの違いや、他のスタックから学んだことや、Mirのアーキテクチャの利点について興味を持ったならば、読むといい。

Mirをオプションとして提供するのは簡単だ。Mirはスタックの一部であり、たとえば、initシステムよりは、アプリ開発者をいじめる触手やそっとつするような要素が少ない。つまり、優れたパフォーマンスを出すために調整しなければならないコミュニティが少ないという事だ。ディストロはSystemDよりMirでやったほうが簡単だ。例えば、すべてのパッケージに影響を及ぼすより、少数のパッケージだけを調整するだけで優れた結果が出せる。QtとWebkitコミュニティとで調整した結果、好意的なエクスペリエンスが得られた。例えば、それらのアプリがすっ飛んでMirとネイティブにお話できるとか。良きupstreamはコードを広い環境で役立つものにしたいと思うもので、関連するツールキットは、Mirの改良された性能を引き出すパッチが提供されたならば、受け入れるだろう。また、我々はMirで高パフォーマンスのXスタックが提供できると確信しており、Xを話すすべてのアプリケーションや、Xを話すすべてのデスクトップ環境は、Mirで普通に快適に動作するので、Mirの提供するシステムコンポジターのその性能のおかげで、スムーズな移行が可能になる。

Ubuntuでは、我々はMirですべてのデスクトップ環境が、Xであろうと直接的にであろうと、快適に動作するように注意を払っている。我々はUbuntuコミュニティ全員が満足するまでMirにゴーサインをかけない。他のディストリビューションも、軽快でクリーンなグラフィックスタックの恩恵をたやすく受けられるだろう。我々はすべてのアプリとすべてのデスクトップ環境が、変更なしに、13.10のMir上で快適に動くように、Xパフォーマンスの最適化で忙しい。我々はネイティブで超高速なMirアクセスの必要な機能をサポートしてほしい人からのパッチも受け付けている。ディストリビューションはMirをオプションとして提供することが容易に可能であるはずだ。Xに対するパッチは極めて小さい(500行以下だ)。現時点では、試したければ、最も簡単な方法はUbuntu PPA経由だ。我々のQAとリリースチームが、非常に広範なテストができるだけの準備が整ったと判断したならば、すぐさま13.10に搭載される。

一応、公平のために書いておくと、ツールキットのコミュニティは、Mirにあまり好意的ではない。表向きにはWaylandをサポートすると言いながら、裏で秘密裏に開発されていたというのもある。また、凝り固まったプロトコルといずれ発生する際限ない拡張の山のかわりにAPIを提供していると書くと聞こえはいいが、そもそもMirのドキュメントによれば、MirのAPIは将来予告なく変更される可能性があり、何らの互換保証もなく、従って一切依存できないものである。

No comments: