Mirバージョン1に向けた議論
「Ubuntu」及び「Canonical」の開発者達は、「Mir」バージョン1で策定する仕様について議論を行っています。安定版のABI(Application Binary Interface)やライセンスについても議論が行われています。
「Mir」は既存のXサーバーに変わる新しいディスプレイサーバーです。
GPUと連携し、”表示”に関する処理を担うソフトウェアです。
「Ubuntu 16.10」に搭載されている「Mir」のバージョンは、「0.24」です。
先の長さが伺えます。
Mirバージョン1に何が必要か
時々我々はMirバージョン1に何が必要かを議論している。ここでは今日の我々の考えを記述している。
我々はMir安定版リリース時に”バージョン1”を宣言する必要があり、Mirの完成に向けた機能仕様の策定を行っている。
”バージョン1”で最低限決めなければならない仕様は、MirサーバーとMirクライアントを適切にサポートするのに必要な仕様である。
アップストリームでのサポートも必要
すべての開発者達がこの”最低限”という判断基準に満足しているわけではない。Mirディスプレイサーバーバージョン1は、アップストリームであるMesaやVulkanのようなレンダリングAPIでもMirがサポートされる必要があると、議論が行われている。
アップストリームでMirがサポートされることで、Mirに正当性と信頼性を与え、うまくいけばMirに貢献してくれる人々の呼び水となる。
また言うまでもなく、最初からMesaを利用しているOEMはMirのサポートを手にすることができる。
Ubuntuは現在、MesaでMirをサポートするためのパッチを持っている。
もしアップストリームでMirのサポートに失敗すれば、他のディストリビューションや様々なプロジェクトにとってMirの有用性は限られてしまう。
ただ我々はこのパッチをアップストリームに提供する前に、改善する必要があることは分かっている。
Vulkanに関しては十分なサポートがあるが、APIとして公開するにはより一層の作業が必要である。
ダウンストリームに対する適切なサポート
安定したABIと安定したライセンスを提供しなければならない4種類のダウンストリーム(分野)があると我々は想定している。- Mirクライアント (ツールキット)
- Mirサーバー(システムコンポジターとシェル)
- Mirグラフィックスプラットフォーム
- Mirインプットプラットフォーム
ところで我々はプラグイン可能なレンダリングモジュールの分離についても話をしている。
アーキテクチャー視点でこの分離は重要なことではあるが、現在我々が検討しなければならないことではない。
さて上記に上げた4種のダウンストリームすべてにおいて、安定したABIと安定したライセンスの提供が必須である。
我々はABIを変更した際、前方及び後方の互換性等に関するドキュメントを整備する必要がある。
非推奨の機能の削除
Mirバージョン1登場前に、非推奨となる機能をMirクライアントAPIから削除するかどうか我々は決定を下す必要がある。機能を維持するならば我々はそれらの機能に対し確実な保守計画が必要である。
我々は例えば”非推奨の機能は将来削除される”など、まだ何も具体的な判断はしていない。
しかしダウンストリームの多くは、その後続くリリースの前に非推奨の機能を削除するだろう。
非推奨のAPIの削除は、常に問題がつきまとう。
非推奨の機能を利用しているどのようなプロジェクトにおいても、実際に非推奨の機能が削除されるまで、非推奨の機能を使い続けるだろう。
非推奨の機能の削除に関する明確な方針とその方針に従うことが、非推奨の機能を利用しているプロジェクトに重要性を理解してもらう唯一の方法である。
次世代のディスプレーサーバー
さて現在主要なディストリビューションで採用あるいは採用を検討されている次世代のディスプレイサーバーには、以下の2種類があります。- Wayland
- Mir
「Wayland」は現在様々なLinuxディストリビューションにおいて採用あるいは採用を検討されているディスプレイサーバーです。
Linuxにおける主流のディスプレイサーバーと言ったところでしょうか。
一方「Mir」は「Canonical」主導で開発が行われ「Ubuntu」で採用されるディスプレイサーバーです。
「Wayland」と「Mir」は両方共ディスプレイサーバーであり、お互い競合するソフトウェアになります。
元々「Ubuntu」では「Wayland」の話が出てきた時に「Ubuntu」でも「Wayland」を採用する予定でした。
当時はそう言及していました。
しかし「Ubuntu」が他のディストリビューションと異なる点の1つに、「Ubuntu Phone」や「Ubuntu Tablet」といったモバイルデバイス向けの「Ubuntu」の存在があります。
OSで言えば「Ubuntu Touch」ですね。
モバイルデバイス向けのOSも視野に入れると「Wayland」では不十分なところがあり、「Canonical」は「Mir」を立ち上げ「Mir」の開発及び採用へと舵を切りました。
さて「Mir」は「Ubuntu」だけで完結できるソフトウェアではありません。
この点は「Wayland」も同じです。
GPUドライバーは元より、より良い体験をユーザーに提供するためには、アップストリームで開発されているレンダリングソフトウェアにも「Mir」対応を行ってもらう必要があります。
Waylandを採用するフレーバー
「Ubuntu GNOME」と「Kubuntu」では、将来「Wayland」の採用が決定しています。他のフレーバーがどうなるかは分かりませんが、「Mir」を採用する「Ubuntu」と「Wayland」を採用するフレーバーが混在することになりますね。