Ubuntu Weekly Recipe

第280回 次世代ディスプレイサーバ,Mir/XMirを試そう

この記事を読むのに必要な時間:およそ 4.5 分

先週,Ubuntu 13.10の標準のディスプレイサーバが,X Window SystemからMirに変更されると発表されました。そこで今回は,このMirについての簡単な説明と,手元の環境で試してみる方法を紹介します。

MirとXMirとは

Mirとは

MirはUbuntuの中でX Window Systemが担っている部分を置き換えることを目的とした「次世代ディスプレイサーバ」です。

X Window Systemは簡単に言うとディスプレイへのウィンドウの描画やユーザの入出力を扱うプロトコルです。そのプロトコルを実装したものの一つがX.Org Serverです。X Window System自体は互換性に配慮した設計思想と拡張機能を持っており,長い年月に渡ってUbuntuに限らず数多くのOSやソフトウェアで使われてきました。しかしながら古いものを改修・拡張しながら使い続けることは,とくに日進月歩なソフトウェアにはどうしても限界があります。

たとえばX Window Systemはウィンドウの配置や描画というGUIの中核部分のみを担当し,より高度なウィンドウの重ね合わせ(Composite)はMutterやCompizといったウィンドウマネージャに任せてきました。ただ,最近の3Dアクセラレーションの効いた洗練されたUIを提供するのであれば,これらの処理はより緊密に連携する必要があります注1)⁠

MirはX Window Systemの新しい実装(Xサーバ)ではなく,X Window Systemを置き換える存在として「ディスプレイサーバ」と名乗っています。Mirの長期的な目標は,⁠スマートフォンやタブレットといったモバイルデバイスからPCやTVといった家電に至るまで,すべての環境でUnityのユーザインターフェースを実現できるディスプレイサーバ」を作ることです。

注1)
Unityで具体例を挙げると,現在はXが起動してログインしてからウィンドウマネージャが起動するため,ログイン後に一度画面が暗転してしまいます。既存の環境でも暗転時間を短くすることは可能ですが,暗転することなくスムーズに画面遷移した方がよりスマートです。

Waylandとの関係

同じような位置付けの次世代ディスプレイサーバとしてWaylandが存在します。WaylandはMirよりも歴史が古く,既に各種ツールキットの多くはWaylandをサポートするようになりました。さらには,KDEは現在ベータ版である4.11でWaylandのサポートに向けての準備を始めていますし,GNOMEも2014年4月のリリースではWaylandに移行する予定です。Xの置き換えとしてWaylandを採用するLinuxディストリビューションも少しずつ増えてきました。

今のところ,Waylandの実装目標や実現できることはMirのそれとほとんど違いがありません注2)⁠違いがないのであれば,Unity自身も他のデスクトップ環境と情報を共有でき,開発者も充実しているWaylandを採用したほうが良いのではないかと考えるのが一般的でしょうし,Mirの発表時はそのような意見が大半を占めました注3)⁠しかしUnityとしてはWaylandの良さを認めつつも,Waylandのプロトコルの拡張性に対して不満があったために新しいディスプレイサーバを作ることにしたようです注4)⁠

ちなみに,⁠Waylandの代わりにMirを使う」というのはあくまでUnityとUnityを標準採用するUbuntuのみの話です。Waylandのパッケージはこれまでと同様に提供されますし,Unity以外を採用するUbuntuのフレーバー注5については,各フレーバーの開発コミュニティに一任することになります。今回の話は広義のUbuntuというシステム上でWaylandが使えなくなるというものではないことに注意してください。

注2)
当初Mirの開発目的の1つであった「AndroidのGPUドライバもサポートする」機能についても,Sailfish OSの開発者がWaylandで実現しています
注3)
逆に「選択肢は多いほうが良い」という考え方もあります。たとえばデスクトップ環境であればGNOMEやKDEなどの存在がGUIの多様性を生み出していますし,Linuxディストリビューション自体を個人の好みに合わせて切り替えられることがFLOSSのメリットの1つとしてよく挙げられます。ところが,普段「多様性の良さ」を喧伝する人たちであっても,より低いレイヤーの実装については保守的になる傾向があるようです。低いレイヤーの開発にはより多くの経験や能力が必要になること,実装方法によっては上のレイヤーの対応コストが必要以上に増えてしまうことなどがおもな理由です。
注4)
ただし具体的にどういう機能を実装したいから,という部分はぼかしています。
注5)
KubuntuやXubuntu,Lubuntuなどです。KubuntuはMirを採用する予定はありません。今後は上流であるKDEの開発状況に合わせてWaylandに移行する予定です。LubuntuはMirへの移行も視野に入れていますが,少なくとも13.10と14.04 LTSについてはXを使い続ける予定です。

XMirとは

XMirはMirに対応したXサーバーです注6)⁠といっても実態はこれまで使っていたX.Org ServerにMir対応パッチをあてただけのものです。これにより事実上,MirのうえでXサーバが動いていることになるので従来のXクライアントであるアプリケーションもMir上で動作することになります。

もちろん他のデスクトップ環境も例外ではなく,UnityだけでなくKDEやGNOME Shell,Xfce,LXDEをMirとXMirのうえで動作させている動画をMirの開発者が公開しています。

注6)
Waylandにも同じ位置づけとして,XWaylandが存在します。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。

コメント

コメントの記入