Mir
MirはCanonicalが開発中の次期ディスプレイサーバーです。Ubuntu 13.04では、他のディストリビューション同様Xサーバー(X.Org)が採用されています。
将来的に(Ubuntu 14.04あたり)Ubuntuは、XサーバーからMirへと移行します。
Xサーバー
このXサーバーの歴史は古く、様々な拡張を経て現在のLinuxディストリビューションで使用されています。もう30年ぐらいになるでしょうか。
これだけ長い期間利用されているのは、それだけ良く考えられて作られているからでしょう。
Xサーバーはデスクトップ・ノートPC向けのディスプレイサーバーです。
デスクトップデバイスとモバイルデバイス
何年も前からスマートフォンやタブレット市場が盛り上がりを見せ、従来ノートPCが使われていた分野でスマートフォンやタブレットが使われるようになって来ました。ここではデスクトップやノートPCのことをまとめて、便宜上デスクトップデバイスと表現します。
同様にスマートフォンやタブレットのことをまとめて、モバイルデバイスと表現します。
デスクトップデバイスとモバイルデバイスのアーキテクチャーは異なりますし、それぞれのデバイスに求められる性能や期待も異なります。
通信インフラやモバイルデバイスで使用する技術が今よりも未成熟だった頃、モバイルデバイスはデスクトップデバイスと連携して利用する使い方が一般的でした。
しかし今や、モバイルデバイスだけで実現したいことの多くは完結するようになってきました。
デスクトップデバイスとモバイルデバイの統合
このような状況の中、CanonicalはUbuntu Edgeの企画などを行い、デスクトップデバイスとモバイルデバイスをOSレベルで統合しようとしています。
しかしXサーバーは主にデスクトップデバイス向けのディスプレイサーバーですから、モバイルデバイスには不向きな面があります。
また、Xサーバーでは現在デスクトップデバイスのモダンなデスクトップ環境を実現するには、いくつか不足している機能があります。
ちなみにデスクトップデバイスとモバイルデバイスを統合するとユーザーにとって何が便利になるのか、何が嬉しいのかは、Ubuntu Edgeのコンセプトを読むとCanonicalが考える「統合の利点」が見えてくると思います。
WaylandとMir
もともとXサーバーを置き換える次期ディスプレイサーバーとして、Waylandの開発が行われています。Waylandはグラフィックを管理するシステムとアプリとのプロトコル(通信方法)を定義したものです。
MirはCanonical主導のUbuntu向けディスプレイサーバーですが、Waylandは多くの組織が次期ディスプレイサーバーとして開発しているディスプレイサーバーです。
各ディストリビューションが今後どのディスプレイサーバーを採用するかは、各ディストリビューションが決定します。
もともとUbuntuは次期ディスプレイサーバーとして、Waylandを採用する予定でした。
しかしデスクトップデバイスとモバイルデバイスを統合するにあたり、Waylandでは要件を満たせない点があったためMirの開発を始めました。
Xサーバーの課題
Canonicalはデスクトップデバイスとモバイルデバイスを統合するにあたり、以下のXサーバーの課題をあげています。1.システムの情報制御
Xサーバーはプロセスを超えて多くのシステムの情報を共有しています。この事自体は何の問題もありません。
しかし、美しく一貫性のあるユーザーインターフェースを提供するには、より厳密にシステムの情報を制御する必要があります。
現状Xサーバーの制御方法でそれらのユーザーインターフェースを構築するには、不十分です。
2.入力デバイスの制御
入力デバイスとは、マウスやキーボード、タッチパネル、ペンタブレットなど、ユーザーがOSに対して何かしらの入力を行うデバイスのことです。Xサーバーの入力デバイスの制御は複雑です。
Xサーバーの入力デバイス制御の調整や拡張は困難であり、多種多様な入力デバイスへの対応や新しい入力機能に対応することができません。
また、ユーザーがあたかも入力デバイスから情報を入力したかのようにイベントを偽装し、アプリにその偽装したイベントを送ることができます。
例えばユーザーがアプリのボタンをクリックしたかのように、アプリを外部から操作することが可能です。
このようなイベントの偽装は作業の自動化など有用な面がありますが、セキュリティーリスクをもたらします。
特にモバイルデバイスでは、致命的なセキュリティーリスクです。
3.非統合
そもそもXサーバーは、それ自体がソフトウェアとして個別に提供されています。独立性があるという事は、保守性や移植性に優れているということです。
しかしデメリットも存在し、システムとして統合されていないため、画面の切替などを円滑に行うことができません。
デスクトップデバイスであれば、それは大きな課題にはなりません。
しかしモバイルデバイスであれば、ユーザーは画面切り替え時のチラツキなどが気になるでしょう。
4.モバイルデバイス
Xサーバーはモバイルデバイスに焦点を当てたディスプレイサーバーではないため、そもそもモバイルデバイスにXサーバーを採用するのは適切ではありません。グラフィックドライバーモデル
デスクトップデバイスとモバイルデバイスを統合するにあたり、モバイルデバイスでも利用できるような、一貫性のあるグラフィックドライバーモデルが必要です。グラフィックドライバーに必要な機能を明確にし、一貫性のあるシステムを提供する必要があります。
グラフィックドライバーモデルには、Androidのシステムに似たモデルを採用します。
こうすることで、既存の資産を活用し開発コストを低減することができます。
デスクトップデバイスとモバイルデバイス両方で共通して利用できるような、グラフィックシステムを提供します。