2012-05-09

Ubuntu 12.10ではUnity 2Dが廃止される

[Phoronix] Unity 2D To Go Away In Ubuntu 12.10

Ubuntu 12.10では、Unity 2Dが廃止されるそうだ。Unity一本に開発リソースを集中するつもりらしい。

では、OpenGLを十分にサポートしていないハードウェアはどうするのかというと、LLVMpipeを使うらしい。

LLVMpipleというのは、OpenGLのソフトウェア実装である。LLVMを使うことにより、ネイティブコードを生成して実行できる。そのため、ソフトウェア実行でも、ある程度のパフォーマンスが得られる。ゲームができるほどではないが、UIとしては実用に耐えるパフォーマンスとなる。

それにしても最近、LLVMpipeがにわかに脚光を浴びている。なかなか面白い。

追記:

Unity 2Dが廃止されるのは、そもそもUnity 2Dの開発者であるAurelien Gateauが、とっくの昔にCanonicalを辞めて、Blue Systemsで職を得たからである。Unity 2Dは、実はQt上で実装されているのだ。Canonicalにはおそらく他に、Qtに関する十分な知識を持った他の技術者がいないだろうし、開発中止は必然である。

LLVMpipeは魔法の技術ではない。所詮はOpenGLのソフトウェア実装に過ぎない。まともに使えるパフォーマンスを得られるのは、マルチコアのx86かx86_64アーキテクチャぐらいに限られるだろう。ARMやMIPISなどでまともなパフォーマンスが期待できるわけがない。そもそも、ARMやMIPSは、スマートフォンやタブレット、極小のノートPCなど、パフォーマンス重視ではないプラットフォーム向けでよく使われている。まあ、そのような環境では、大抵OpenGLを実装したGPUも提供されているのだが、問題は、大抵不自由なドライバーを必要とする。

たとえUIを使える程度のパフォーマンスを出せたとしても、かなり重い処理になる。つまり、CPUを酷使することになる。すると、電力消費が増える。GUIを動かすだけでCPUがフル稼働していては意味がない。GPU的には比較的軽い処理っであるCompizでさえ、ゲーマーからオーバーヘッドの問題を非難されているのに、OpenGLのソフトウェア実装の稼働を必須にした日にはどうなることか。

そもそも、ムーアの約束が敗れる日は旦夕に薄っている。これ以上、集積回路の密度が上げられない日が近い将来やってくる。実際、すでにCPUのシングルコアの性能はわずかしか上がってない。コンピューターのハード構成がHeterogeneousになっていくのは当然である。だから、コンピューターはCPUとGPUを両方搭載すべきであるし、GPUもある程度のプリエンプティブ性を確保して、GUIを提供するぐらいで極端なオーバーヘッドを引き起こさないようにならなければならない。

問題は、今のほとんどのGPUを動かすには、不自由なソフトウェアを使わなければならない。この状況は、近い将来覆されるだろう。Waylandへの移行が進めば、もはやGNU/LinuxはKMSに追随できない不自由なドライバーを切り捨てる。不自由なデバイスを切り捨てるのは当然だ。不自由なデバイスに固執するベンダーは、不自由な環境でほそぼそと生き残るか、自由に転校するかを迫られるだろう。

自由なソフトウェアの未来は明るい。

No comments: