kledgeb UbuntuやLinuxの最新情報を紹介

Mir その76 - Mirの開発方針

Mirの開発方針

現時点における「Mir」の開発方針が以下で紹介されています。


  • Mir Terrain Map

開発方針と言っても大局的な方針であり、具体的なロードマップではありません。
とは言え「Mir」が進んでいる、あるいは進もうとしている道が上記を通して見えてくると思います。
開発者や開発チーム内で閉じてしまっている内容を表に出し、開発に関心を持ってもらい参加を促す・容易にする意図もあります。

Mirとは 

「Mir」は次世代のディスプレイサーバーです。
デスクトップやモバイルデバイス、そしてIoTまで、幅広い分野をサポートするディスプレイサーバーです。
デスクトップPCから見れば、既存のXサーバーを置き換えるソフトウェアになります。
「Mir」に関する詳細は、以下を参照してください。

  • 公式サイト:Mir Display Server
  • ユーザー向けドキュメント:Getting and Using Mir
  • 開発者向けドキュメント:Welcome to Mir
  • GitHub:MirServer/mir 
  • コミュニティー:Mir category

プラットフォームのリファクタリング

リファクタリングとは、内部設計や実装を見直し、継続的に発生し得るメンテナンスコストの削減や品質及び開発効率の向上、開発に参加するエンジニアの学習コストの削減等を目的に実施される作業のことです。
端的に言えば煩雑・複雑な内容を紐解き、分かりやすくする作業ですね。

レンダーとディスプレイの分離

現在「Mir」では、レンダリング(rendering)と出力(output)を分離し、グラフィックプラットフォームを抽象化する目標がありますが、まだ道半ばです。

レンダリングプラットフォームは、クライアントにMirにバッファーを渡す方法を提供し、GLテキスチャーやCPUバッファーコンテントなどMirの描画に関する要素を提供します。
出力プラットフォームは、物理ハードウェア上でレンダリングを表示する方法を提供します。

様々なデバイスの対応がもっと簡単に

レンダリング(rendering)と出力(output)の分離により、様々なデバイスの対応がもっと簡単になります。
例えばレンダリングを行わないが出力を行うDisplayLink USBドックや、レンダリングハードウェアと出力ハードウェアが異なるDRMデバイスとして提供されるARMボードの対応がもっと簡単になります。

現在の分離されていない「Mir」のプラットフォームでは、このようなデバイスを綺麗に「Mir」のプラットフォームに当てはめることができません。

複数のグラフィックプラットフォームの読み込みと共存

現在の「Mir」では、ハイブリッドグラフィックのサポートに制約があり、すべてのグラフィックデバイスがMesaによってサポートされている必要があります。

制限を緩和したい

この制約を緩和しNVIDIA GPUのプロプライエタリドライバーとIntel GPUのMesaドライバーでハイブリッドグラフィックをサポートするには、複数のグラフィックプラットフォームを読み込み、そして共存できる機能が「Mir」に必要になります。

またこの機能は複数の出力プラットフォームの共存により、リモートデスクトップのサポートにも役立てることができるしょう。

  • Remote desktop support

置き換え可能なレンダラーとシーングラフ

シェルを開発する際、ツールキットが利用できればシェルの開発に大きく役立てることができます。

Unity 8

「Unity 8」で「qtmir」コンポーネントは、「Mir」のデフォルトのレンダラーとシーングラフを「QtSceneGraph」に置き換えています。
これにより「Unity 8」は「Qt/QML」を利用してトップバーやインジケーター、アニメーションやウィンドウ切り替えなどを実現しています。

内部インターフェースによる実装から公開可能なインターフェースへ

しかし現在この仕組みは「Mir」内部のインターフェースを使用して実現されており、外部に安定したインターフェースとして公開されておらず、外部レンダラーやシーングラフをプラグインとして柔軟に活用できる仕組みになっていません。
そのためレンダラーやシーングラフを置き換え可能な仕組み作りが考えられています。

また「qtmir」が新しいAPIを使用するようにアップデートする作業や、「GSK (GTK SceneGraph Kit)」バックエンドの構築が考えられています。

高度なシェルを開発する時に役立つ

レンダラーやシーングラフを置き換えられるようになれば、「GNOME Shell」や「Unity 8」のような複雑なシェルの開発に役立てられるようになります。

動的な再読み込みとクラッシュに対する耐性

新しいグラフィックドライバーをインストールした時や、既存のグラフィックドライバーをアップデートした時に、現在起動しているアプリケーションを終了すること無く、その新しいグラフィックドライバーを読み込み直し、新しいグラフィックドライバーで動作する仕組みが考えられています。
これが実現すれば、クラッシュしても現在起動しているアプリケーションを終了すること無く再起動することも可能になります。

いずれもすでに「Windows」のディスプレイサブシステムで実現されていることです。
これをLinuxデスクトップでも実現したいとのことです。

Mir
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Linux その422 - GNOME Boxes の再構築と未来・Flatpak のみの提供やモダンな機能の実装など
    GNOME Boxes の再構築と未来 GNOME Boxes の再構築と未来が以下で紹介されています。
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Kubuntu その117 - Kubuntu 26.04 LTS にもっと手厚いサポートを・最高の信頼性を誇る KDE 搭載ディストリビューションを目指して
    最高の信頼性を誇る KDE 搭載ディストリビューションを目指して Kubuntu 26.04 LTS に手厚いサポートが導入されました。
  • Linux その421 - GNOME Shell のデザイン構想と長期的な見通し
    GNOME Shell のデザイン構想と長期的な見通し GNOME Shell のデザイン構想と長期的な見通しが、以下で紹介されています。
  • Linux その420 - KDE Plasma で実装予定の新機能や改善・UI レイアウトの調整やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Windows その29 - Windows 向け Coreutils 登場・Coreutils のインストールやコマンドの一覧など
    Windows 向け Coreutils 登場 Windows 向け Coreutils が登場しました。
  • Linux その386 - Arch Linux の AUR パッケージで悪意あるコミットが続く・今度はソースコードの難読化か
    Arch Linux の AUR パッケージで悪意あるコミットが続く Arch Linux の AUR パッケージで悪意あるコミット(マルウェア)が続いています。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
記事のピックアップ
オプション