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

Mir その55 - 発表から5年以上の時を経て、ついにMir 1.0登場

Mir 1.0リリース

2018年9月21日、「Mir」の発表から5年以上の時を経て、ついに「Mir 1.0(Mir 1.0.0)」がリリースされました。
「Mir 1.0」は「Mir」にとって、初のメジャーリリースとなります。


  • IoT Graphics: Mir Release 1.0 
  • Mir 1.0.0 Release

Mirとは

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


「Mir」に関する詳細は、以下を参照してください。

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

紆余曲折の歩み

「Mir」の発表から5年以上の時間が経ちましたが、その間「Mir」にとって様々な出来事がありました。

元々「Canonical」は、次世代のディスプレイサーバーである「Wayland」を支持していました。
しかし(当時の)「Wayland」では、いくつか不満を感じる点があり、独自のディスプレイサーバーである「Mir」の構想及び開発へと移りました。
この時点で「Wayland」と「Mir」はお互いに互換性はなく、またお互いに競合するソフトウェアでした。

モバイルデバイスでは、デスクトップよりも先に「Ubuntu Touch」に「Mir」と「Unity 8」を採用し、「Ubuntu Phone」や「Ubuntu Tablet」が市販されました。
デスクトップデバイスでは、「Mir」は次期「Unity」の「Unity 8」と共に、デフォルトのデスクトップ環境として採用される予定でした。

しかし記憶にも新しいですが、その後「Canonical」は「Unity」及び「Ubuntu Touch」から撤退し、「Ubuntu Touch」と「Unity」の開発は、コミュニティーが引き継ぐことになりました。
また「Mir」はこれに伴いデスクトップやモバイルから撤退し、IoTデバイス向けのディスプレイサーバーとして提供され、その開発規模は大きく縮小されました。

それでも「Mir」の開発者は撤退した分野での活路を見出すため、「Mir」の開発方針を変更し、継続的に開発を行ってきました。
その方針変更とは、「Wayland」の実装です。
「Mir」は「Wayland」コンポジターとして実装されています。

このような紆余曲折の中、ついに「Mir 1.0」のリリースに至りました。
一度は撤退したデスクトップ分野では、「Ubuntu MATE」が「Mir」の採用を検討したり、「Lubuntu」が将来「Mir」の採用を計画しています。
もちろん「Ubuntu Touch」も引き続き「Mir」を採用し、将来最新の「Mir」を採用する計画を立てています。

高速で軽量、そしてセキュアなディスプレイサーバー

「Mir」は高速で軽量、そしてセキュアなディスプレイサーバーです。
デバイスやデスクトップ向けのシェルを開発するなら、「Mir」は最適な選択肢になるでしょう。


「Mir」のグラフックスタックは、異なるグラフックプラットフォームやデバイスモデルでも横断的に動作し、キオスク(マルチメディアステーション)やデジタルサイネージ(電子掲示板や電子ポスターなど)、スマートデバイスなど、グラフィックが必要なデバイスと簡単にそして柔軟に統合できます。

GTK3/4、Qt5、SDL2アプリのサポート

GTK3/4、Qt5、SDL2で開発されたアプリや、直接「Wayland」にアクセスできるアプリなら、「Mir」との組み合わせでも動作するでしょう。

Mir 1.0.0の利用

「Mir 1.0.0」の利用に関する情報です。

IoTデバイス向け

「Mir」はライブラリーの集合体であり、それ自体エンドユーザー向けのアプリケーションではありません。
しかしそのサンプルとして、「Mir」上で動作する「mir-kiosk」が提供されています。

  • mir-kiosk

現在「mir-kiosk」は、「Mir 1.0.0」上で動作するようになっています。
「mir-kiosk」の詳細は、以下を参照してください。

  • Mir-kiosk: a project that uses Mir

Mir上で動作するシェルの開発

「Mir」上で動作するシェルを開発する場合、「Mir」はデフォルトの基本的な振る舞いと、振る舞いをカスタマイズするシンプルなAPIを提供しています。
高度なカスタマイズを行うAPIはまだ提供されていません。

「Mir」のパッケージは、「Ubuntu」「Fedora」「Arch」で提供されています。
また近々「Debian」でも提供される予定です。
「Ubuntu」で最新版の「Mir」を利用するには、「Mir team’s "Release PPA2」を利用してください。

Wayland拡張プロトコル

「Wayland」には、ある特定の機能を実現する様々なWayland拡張プロトコルが存在します。
Wayland拡張プロトコルは文字通りWaylandの機能を拡張するプロトコルであり、誰でも新しい拡張プロトコルの定義や実装が可能です。
そのため「Mir」がそれらすべての拡張プロトコルをサポートすることは困難です。
「Mir」ではプロジェクトにとって重要な拡張プロトコルを選別し、拡張プロトコルの実装を引き続き行っていきます。

「Mir 1.0.0」では、以下の拡張プロトコルをサポートしています。

  • wayland
  • xdg_shell_unstable_v6
  • xdg_shell

デスクトップ及びIoTアプリケーションにとって、これら拡張プロトコルのサポートで大部分の要件を満たします。

デスクトップ向け

「Mir」は「Wayland」ベースのデスクトップ環境やシェルをサポートしています。

  • Unity8: a project that uses Mir
  • Egmde: a project that uses Mir

Mir 1.0.0の入手

「Mir 1.0.0」の入手方法です。

Ubuntu Coreにmir-kioskをインストールするには

「Ubuntu Core」に「mir-kiosk」をインストールするには、以下のコマンドを実行します。

sudo snap install mir-kiosk

Classic Ubuntuでは、現状「--devmode」オプションの指定が必要です。

Mir開発向けライブラリーやサンプルをインストールするには

「Mir」の開発向けライブラリーやサンプルをインストールするには、以下のPPAを追加します。

sudo add-apt-repository ppa:mir-team/release

また将来、「Ubuntu 16.04/18.04/18.10」のリポジトリーから利用できるようになる予定です。

egmdeをインストールするには

サンプルのシェルである「egmde」をインストールするには、以下のコマンドを実行します。

sudo snap install --classic --beta egmde

ソースコードを入手するには

「Mir 1.0.0」のソースコードは、以下から入手できます。

  • v1.0.0 

Mir 1.0.0の変更点

「Mir 1.0.0」の変更点です。

- ABI summary:
 . mirclient ABI unchanged at 9
 . miral ABI unchanged at 3
 . mirserver ABI unchanged at 47
 . mircommon ABI unchanged at 7
 . mirplatform ABI unchanged at 16
 . mirprotobuf ABI unchanged at 3
 . mirplatformgraphics ABI unchanged at 15
 . mirclientplatform ABI unchanged at 5
 . mirinputplatform ABI unchanged at 7
 . mircore ABI unchanged at 1
 . mircookie ABI unchanged at 2
- Enhancements:
 . [Wayland] A configuration mechanism to select the Wayland extensions
 . [Wayland] Support XDG shell stable
 . [Wayland] Improve protocol scanner
 . [libmiral] Display configuration file support
 . [libmiral] Make the pid of external clients available
 . [libmiral] Add DisplayConfiguration
 . [console] Ensure the_console_services() is constructed only once
 . [console] An option to select the ConsoleServices provider
 . [mir-demos] Move legacy binaries out of mir-demos package
 . [mir-test-tools] Drop internal test binaries from mir-test-tools package
 . [X11] Experimental X11 support via Xwayland
- Bugs fixed:
 . [Wayland] creating a shell_surface should associate a role immediately.
   (Fixes #512)
 . [Wayland] Default for positioner gravity
 . [Wayland] Use miral test framework for wlcs tests
 . [Wayland] Send popup configure events
 . [Wayland] When setting the pointer cursor apply it. (Fixes #555)
 . [Wayland] Hook the OutputManager into display reconfiguration
   notifications. (Fixes #585)
 . [Wayland] Remove hard coded values for output geometry (screen
   orientation and pixel arrangement). (Fixes #601)
 . [miral-kiosk] Don't allow apps to specify size of "maximized" windows.
   (Fixes #454)
 . [Mir-on-X] Fixed keyboard grab issue on Arch. (Fixes #549)
 . [eglstream-kms] Platform re-enabled, but no GL client support
 . [console] Fix VT switching with LinuxVirtualTerminal. (Fixes #499)
 . [console] Avoid breaking X11 desktops that have not claimed the VT from
   logind. (Fixes #535, #539)
 . [console] LogindConsoleServices: Support VT switching. (Fixes #459)
 . [libmiral] Parents of the active window also have focus. (Fixes #522)
 . Fix "sanitize" builds
 . Racy shutdown in miral-tests and miral_wlcs_tests. (Fixes #543)
 . Fix a locale initialization crash on musl
 . [mesa] Use both id and drm_fd as output identifier for cursor buffer
   as we're not sure of the uniqueness of either. (Fixes #556)
 . [mesa] Disconnected hardware has no modes: invent a (slow) refresh rate.
   (Fixes #587)
 . [input] Guess output for touchscreen (works with one of each).
   (Fixes #605)


Mir
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その74 - Chromium 系ブラウザーにより、Qt6 で構築されたアプリがクラッシュする現象
    Qt6 で構築されたアプリがクラッシュする現象 Chromium 系ブラウザーにより、Qt6 で構築されたアプリがクラッシュする現象が報告されています。
  • Ubuntu 24.04 その104 - Ubuntu 26.04 LTS へアップグレードするには・アップグレードの注意事項
    Ubuntu 26.04 LTS へアップグレードするには 現在 Ubuntu 24.04 LTS を利用しているユーザーは、Ubuntu 26.04 LTS へアップグレードできます。
  • Ubuntu 24.04 その103 - Ubuntu 26.04 LTS へアップグレード可能に・2年分の変化が一気にやってくる
    Ubuntu 26.04 LTS へアップグレード可能に 2026年9月29日、Ubuntu 24.04 LTS から Ubuntu 26.04 LTS へアップグレード可能になりました。
  • Ubuntu 26.10 その33 - Ubuntu 26.10 β版がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 β版がリリースされました 2026年10月1日、Ubuntu 26.10 β版 がリリースされました。
  • Linux その440 - uutils coreutils 0.11.0 でコマンド実行時のエラーメッセージを大幅に改良
    コマンド実行時のエラーメッセージを大幅に改良 uutils coreutils 0.11.0 で、コマンド実行時のエラーメッセージが大幅に改良されました。
  • Ubuntu 26.10 その34 - Ubuntu と Rust に対する取り組み(2026年10月)
    Ubuntu と Rust に対する取り組み 2026年10月1日、Ubuntu と Rust に対する取り組みが以下で紹介されました。
  • Ubuntu 26.10 その32 - Snapdragon X2 に対応した Ubuntu 26.10 実験版登場
    Snapdragon X2 に対応した Ubuntu 26.10 実験版登場 2026年9月29日、Snapdragon X2 に対応した Ubuntu 26.10 実験版が登場しました。
  • Ubuntu 26.10 その35 - RISC-V 向け Ubuntu Desktop 登場
    RISC-V 向け Ubuntu Desktop 登場 Ubuntu Desktop 26.10 では、RISC-V 向けデスクトップイメージがリリースされます。
  • Linux その437 - KDE Plasma で実装予定の新機能や改善・オーバービュー効果の改善や Kup の通知機能の改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Ubuntu 26.04 その71 - Linux kernel のアップデート頻度増加へ・毎週アップデートリリース
    Linux kernel のアップデート頻度増加 2026年9月23日、Canonical は Ubuntu 向け Linux kernel のアップデートを毎週リリースする方針をアナウンスしました。
記事のピックアップ
オプション