Hidekichi

未だにWaylandなんてと考えているX11な人へ

全てのディストリビューションがそうだといい切れないもののCachyOSはこうなんだ

新しいものは「従来のものに慣れすぎていると」なかなか受け入れてもらえない

「こんなに良いのがありますよ」と新しいものを勧めても、従来のものに慣れすぎていると「そんなものが良いはず無いだろ」と言われることはしばしばあります。伝える人に影響力が無いとすぐには信用してもらえませんが、TVで誰かインフルエンサー的な人が「これはいいですよ」と一言言うだけでコロッと新しいものに乗り換えるなんてのは日常です。

なぜ同じ事を言っているのに信用してもらえないか、その1つの理由は自身で試してもいないからです。「いっぺん騙されたと思って食べてみて」と強く押されて嫌々でも食べてみると、「(思っていたよりも)おいしい……」となるようなこともよくあります。人はそれぐらいに普段から物事を疑って、慎重に、自分だけは損をしたくない気持ちの中で生きています。だからすぐに、「美味しい(ところ)はないか」とか、「良いメーカーはないか」とかと誰かに聞きたくなるんです。自身に経験がないので経験のある人のことを聞こうとするわけです。

誰かの経験が、自分に役に立つ経験とは限らないわけですが、大体の場合は良いことの方が多いようにも思います。駄目な結果だとしてもそれは他人のせいにもできますし。しかしほんの些細な、逆剥(さかむ)けができたぐらいのつまらない事がいつまでもジワジワとその痛みを感じるように「アレはだめだ」「使いにくい」と続く不評に(さいな)まされることになります。不評を口にした人の声が大きければ、他の使ってもいない人も同調して「アレはダメなんだろ?良い評判聞かないぜ」となります。使ってもいないのにです。

LinuxではX11の時代が長すぎて、ぽっと出のWaylandなど「なにそれ、オイシイノ?」ぐらいの扱いを受けたりすることもあります。当サイトでも「Waylandが良いですよ」と宣伝したとしても私の影響など皆無なので、誰ぞ声の大……影響力のある人が代弁してくれると良いのですが、なかなかに波及しません。

しかし徐々に、「あれ?別に何も問題ないんじゃ」程度には使用した人たちには理解してもらえてると思います。

細かいデータを提示しないほうが悪い

どうこうしても、「自分の環境でこんな感じです」と提示もしていないので、文字だけでは伝わらないのかも知れません。それはあるはずです。読んだり聞くよりも一回見るほうが一発で理解できる部分は多く、ギターでも教本を読みに読んで時間をかけて理解するのと、弾いてる人のやり方を間近でちょっと見るのとでは圧倒的に後者の方が理解が早いです。百聞は一見に如かずとはよく言ったものです。

そんな事から、実際にデータを取ったサイトがあるので紹介します。

KDE Plasma 6.7 X11 vs. Wayland Session Gaming Performance For NVIDIA On CachyOS

KDE Plasma 6.7 X11 vs. Wayland Session Gaming Performance For NVIDIA On CachyOS|phoronix(英語。3ページあります)

英語ですが、この記事の概要を説明していきます。

主に様々なLinuxゲーム(NativeおよびProton/Wine経由)やグラフィックスベンチマークを用いた、X11セッションとWaylandセッションの直接的なパフォーマンス比較が行われています。

多くのゲームでほぼ互角のパフォーマンス

多くのゲーム(特にグラフィックス負荷の高いモダンなタイトルや、すでに最適化が進んでいるタイトル)において、X11とWaylandの間で平均フレームレート(FPS)に劇的な差は見られません。両者ともにハードウェア(GPU)の性能をしっかりと引き出せており、誤差の範囲内か数FPS程度の僅差に収まる結果が多数を占めています。

「劇的な差がないならば……」もう少し例を出すとすると、同じ力を発揮できるのであれば蒸気機関で良いじゃないかと言っているのと同じだと思います。Waylandは蒸気機関から内燃機関(エンジン)に変わったと言えます。レールという制約から飛び出してその力を発揮できるようになったと言えるわけです。

YServer

YServerというモダンなX11の後継プロジェクトもあります。新しいデバイスや技術が出現する度に改修を加えられてきたX11のスパゲッティ状態になってしまったコードを新たにRustで書き直すということを行ったものです。AIが発展し、バイブコーディングで驚異的なスピードで書き直されたと聞きます。そうとは言え、現在は普通に導入できるWaylandの方が完全に優位です。YServerには、まだ作られていない部分もあり、とりあえずX11のデスクトップ環境が動く状態になったというだけなので、Waylandに追いつくにはまだ時間はかかりそうです。ただ、AIを用いたバイブコーディングという点がAIの発展いかんではより開発速度を早める可能性もあります。

バイブコーディング(Vibe Coding)とはAIに自然言語で指示を出すだけでソフトウェアやアプリの開発を進める手法です。プログラミング言語を手入力するのではなく、人間がAIと対話しながら「アイデア出し・コード生成・テスト・修正」のサイクルを高速で回すのが特徴です。

更に問題はあります。いくらX11環境が動作すると言えど、もはや多くのアプリなどはWayland用に作り変えられたと言っても過言ではありません。そこからまたモダンX11環境に戻るとするなら、Waylandを明確に超える優位性がなければそれらは行われないでしょう。Waylandにはない機能を盛り込めたらわかりませんが、これはかなり難しい問題だとも言えます。

Wayland(XWayland)が優位に立つケース

いくつかのゲームタイトルや特定のベンチマーク(例えば一部の低設定ベンチマークや、フレームレートが数百FPSに達するような非常に軽いタイトル)では、Wayland(XWayland)のほうがわずかに、あるいは明確に高いフレームレートを記録する結果が出ています。近年のKDE PlasmaにおけるWaylandの最適化、およびCachyOSによるカーネルやパッケージのチューニングが、Wayland環境下でも一切のオーバーヘッドを感じさせず、むしろ処理を効率化できていることを示しています。

オーバーヘッドがないとは「オーバーヘッドがない」状態とは、システム間のデータのやり取りや処理の切り替えにおいて、余計なデータ付与や待ち時間が極限までカットされ、CPUやメモリの能力が100%ゲーム本体の描画や演算に直結している理想的な状態を意味します。

軽いタイトルならパフォーマンスが高くて当然だと思われる方もいるでしょう。しかし重いAAAタイトルでも差はないということです。それには、

これらから重いゲームでも全く互角、むしろ足回りが強くなった分だけWaylandのほうが安定していると言えます。

実データのグラフから見るWayland

「現代のKDE Plasma(特にCachyOSのようなパフォーマンス重視のディストリビューション)において、WaylandはX11に対してパフォーマンス面で劣ることはなく、むしろタイトルによってはX11を上回ります。ゲーミング用途としても、すでにWaylandは完全に実用段階であり、移行する上での性能的なデメリットはほぼ存在しない」ということが明確に示されています。

前述しましたが、X11の歴史の到達点がWaylandのスタートです。どちらの方がより遠くへ行けるかはもうわかりますよね?Waylandを選ぶことは、X11の歴史の恩恵を最も正統に、そして未来の形で受け取ることでもあります。

だからWaylandへ

今X11を使う理由は、古いX11のアプリを使用する時のみで、それらアプリの後継バージョンではたいていWaylandに対応しているか、Waylandで同機能を持っている別アプリが出ていると思います。そういう理由もあって、あえて今X11を選ぶ必要性は薄いと思います。

先日、Linux Mint(Cinnamon環境)がWaylandの対応で実験的(experimental)を次期バージョンで外すというニュースがありました。しかし、完全に移行するわけではなくログイン画面でX11もWaylandもいずれもが選べるような感じになります。

元々MintはX11に深く依存していて、他のディストリビューションがWaylandに対応していく中、かなり遅れての対応という感じだったと見えますが、強固にバックエンドを作り込み、従来(X11)と使用感が変わらないまでに達したので満を持してWayland対応となるわけです。

Linux Mintは古い環境でも動作するということが利点の一つですが、それらを含め保守性と堅牢性を重視するのが彼らMintチームの哲学ですのでWaylandにそそくさと、流行りに任せるようには移行できなかったとも言えるでしょう。

CachyOSなどでは古すぎるハードは敢えて切る事で様々な障害をなくそうとしています。ユーザーはより良い性能のPCを使用したかったり、昔にはなかった高解像度(HiDPI)のモニターや、GPUを使用してゲームであったり動画編集であったりをするわけです。既にそういうデバイスしか店頭に並んでないにも関わらず、古いハードをサポートし過ぎるのは、今を生きるユーザーにしてみれば、良くなって欲しいという希望を叶えるのに(余計なことに)時間がかかりすぎるというのが悩みどころだと思うわけです。

例えば、「大衆食堂の方が好きだと、QRコードで注文するようなレストランなど全く好みではない」と言いながら「支払いはPayPayで」という何とも言えない状況がMintにはあるような気がします。ポータブル機でもあれだけゲームができるんだからPCであれば余裕だろと思い違いをしたりする人も少なからずいるのではないでしょうか。

もし、古いPCに高解像度のモニターを付けた、最新のGPUを搭載した。これでゲームができるんだろ?としたらそれは思い違いになってしまいます。そもそも古いPCに最新のGPUが載って最大のパフォーマンスが出るでしょうか?

ここにはもうX11であるとかWaylandであるかというソフト的な話ではなく、太っている人が子供用の服を着るような、たとえ着れるとしてもそれはどういう了見だと言いたくなる事が起こるわけです。

Mintが古いハードやX11を現在までサポートしていたのはそれら古い機能を使用するユーザーがいたからで、今店頭に並んでいるモニターやGPUを使用している人に対してではないのです。Waylandのサポートが始まるとしても同様のことが言えます。だからこそ使用目的をはっきりさせるというのは重要なのです。

Linuxでしたいゲームがあるのであれば、

大きな画面で表示したいなら、

などを、目的から(さかのぼ)って考えていき、最終的にどういうPCであるべきかと言う答えにたどり着く考え方がいるということです。

その過程で、X11かWaylandかという問いにぶつかるはずです。しかしもう答えは書きました。X11の到達点がWaylandのスタートである、そしてより遠くに行けるのはどちらだろうか、レールという制限をなくしたのがWaylandである。

だからWaylandへなんです。

まとめ

手段の目的化から入る人がとても多い印象を持っています。まず目的を決めて、その後で必要な手段を選ぶ道を通らず、最初から「Waylandなんだろ?」「CachyOSが良いらしいと聞くぜ」と目的がないのに手段から入るという事です。それらを使って何がしたいのかを問えば目的のある無しがすぐに分かります。

Atomicな環境でどこまでできるかとか、Bazziteのようなゲームに特化したOSでは思ったようにはできないかも知れません。そういうことから「何々がしたいけれども、〇〇と言うディストロで可能ですか」と確認し、「もしより良い環境があれば教えて欲しい」と聞くのが良いのではないかと。

最新を追うか、同じ状態を長く保つかが目安です。同じアプリでも最新の方が良いに決まってますが、最新のものには未知のバグがあるかも知れないという不安もあります。長く同じ状態を保持していると最新のものが世の中にあるのに古いまま使うことになります。それが安定だと感じるなら新しい機能は(次の更新まで)使えないのを我慢するしかありません。

手段と目的

Waylandを今さら疑う必要がないのは、現代のソフトウェア等がそれを前提に動いているからです。しかしそれ以前に、「あなたはPCで何がしたいのですか?」と言う目的がゲームならWindowsで良いわけです。それなりのハードは必要でしょうけれどもWindowsであれば動くわけですから。

Linuxでモダンな性能を引き出したいならCachyOSのような最先端を選べばいいですし、変わらない安心が欲しいならArch系以外のUbuntuやMintを選べば良いとなります。そこにはゲームをするということが目的ではなく、最先端か古いハードでも動く保守的・堅牢性が目的になっています。初心者向け上級者向けという事でもありません。

上級者向けというのは、Gentoo LinuxNixOSのような一般的なディストリビューションとは違った仕組みを持っているもののことを言うと私は思っています。一般的なディストリビューションでも、Windowsに慣れてしまっているとその操作感やシステム的な違いに取っ付きにくさを感じるので、難しいと思う所はあるとは思いますが、それは慣れの問題です

どこかでも書きましたが、最初から全部用意してくれているWindowsやLinuxのディストリビューションと、ある程度、事前知識が必要で自分である程度用意しなければならないというのも壁とか難しさと思われるかも知れませんが、基本的には慣れです。一つ例を挙げるとすれば、初めてWindowsでIllustratorを触った時、どうやって絵を描くのか((ブラシとベジエ曲線の違いや、数値で角度や長さの変更など))と、戸惑いがあるでしょう。それと同じようなことだと思うのです。

何をするにしろ目的さえ見据えれば、迷う必要も、今さら古いX11にしがみつく理由も、どこにもないはずなのです。その目的のために手段を選んでいるのですから。これが逆だと目的を見失ってしまいます。

ゲームの比較動画で再確認

ゲームの話ばかりになりますが、わかりやすいので少し続けます。

https://youtu.be/UvHsK9wJ-Mc

DirectX 12を駆使するモダンなAAAタイトル(『黒神話:悟空』や『ドラゴンズドグマ 2』『バルダーズ・ゲート3』など)において、CachyOS(動画ではLinuxと表記)は、Windows11と完全に互角、あるいはタイトルやシーンによってはWindowsを数FPS上回るパフォーマンスを叩き出しています。

これは、Windowsネイティブで作られたゲームをLinux上で動かすための互換レイヤー(Proton/DXVK/VKD3D)のオーバーヘッド(ロス)が、現代においては「ほぼゼロ」であることを意味しています。それどころか、CachyOSによるカーネルレベルでの最適化や、無駄を削ぎ落としたWayland環境の効率の良さが、Windowsのシステム全体の重さを上回った結果と言えます。

Windows11の重さWindows11はそれを動かすために他で動いているものがたくさんあって、更にデータの送信や次に起動するアプリを高速に開くための前準備というようなことをしています。その余力でゲームをしてるわけです。ゲームをしている間はそれらが止められるのであれば良いですがそれらはおそらく操作できません。そのため、それらが動作してもそれを上回る性能を引き出す(高速で大容量のメモリやSSDの速さ、GPUの性能等の)高級パーツ、もしくはIntelで言えば12世代以降のPコア、Eコアで処理を振り分けるような機能、どうせなら高級パーツと性能、最新のCPUいずれもが必要になってしまうわけです。それでも足りないと言われたりもします

グラフィックスやCPU負荷が非常に高い最新のゲームにおいて、平均フレームレートだけでなく、最低フレームレートの安定感や画面の滑らかさ(スタッターの少なさ、カクつきの無さ)においてLinux側が非常に健闘していることが分かります。「重いゲームでも差が出ない(むしろ安定する)」というこれまでの話の通り、ハードウェア(GPU/CPU)のポテンシャルを100%引き出すインフラとして、CachyOS+Waylandの組み合わせが完全に成熟している証拠です。

一方で、タイトルによってはWindowsの方がわずかに安定している、あるいはフレームレートが出ているケース(『Quake Champions』など)もあります。これはLinux側の性能が低いからではなく、ゲームのエンジンと互換レイヤーの相性、あるいは古いグラフィックスAPIの翻訳に起因するものです。

「初心者だからMint」と妥協するのではなく、「最新のゲームを高パフォーマンスで動かしたい」という明確な目的があるなら、さっさとCachyOSのような最先端(Waylandのルール)に身体を馴染ませた方が、Windowsに匹敵する最高の体験を最短ルートで得られると言うことです。

こういう事から、ゲームをするとなって、「それじゃMint」とはならないかも知れませんが、MintがWaylandに対応するのはアプリがそのように変わっているので致し方なくという点もあります。本来Mintは初心者向けと強調するのではなく、古いPCやシステムも無駄にしないならMintだと言うべきなのです。

「サブ機があるからMintを使ってLinuxで使う」ではなく、目的が「Linuxでゲーム」であるなら、もっと新しいPCをサブ機にするべきです。比較的新し目なPCをサブ機にするならそれはMintである必要はありません。もっとゲームが快適に動かせるディストリビューションを選ぶべきです。同じWaylandに対応しているとしても違うわけですから。Arch系とUbuntu(Debian)系では、多少の違いがあってもシステム的にかけ離れているわけではなく、左ハンドルか右ハンドルかとか、カルビーのポテチか湖池屋かぐらいの違いです。しかしその違いは乗った瞬間、食べた瞬間にわかりますよね。車の操作やポテチと同じで違いは感じるものの、それがX11だろうとWaylandだろうと変わらないと言いたいわけです。

しかし、「変わらないならどっちでもいい」は違って、前述した喩えで言えば蒸気機関のX11では無く、Waylandと言う内燃機関(エンジン)で自由にどこへでも旅をする。空を飛ぶことも現在は可能になりました。ということであればどっちを選択しますか?という事なのです。中には列車の旅が好きだから新幹線でと言う人もいるでしょう。それがWaylandにも対応するMintなのです。レールに乗っている限りたどり着けるのは最寄りの駅までです。

そこから車で移動して行く所が目的地です。その日泊まるホテルかも知れませんし観光地かも知れません。ゲームであるかサイト巡回かも、動画制作かも、動画視聴かもしれません。その目的に合わして、そこから遡って色んな事を、手段を決定しましょう。そこをよく考えたいとそういう提案をしたいのです。

blogカテゴリ内のタグ一覧