ふと気づいたら年が終わりそうですね。今年はどこもかしこも大体コロナのせい、という感じになりましたが。

前回PCを新調した話をしましたが、中身も1x年ぶりに新調しました。いろいろ変えたので、その話を書いてみます。

どう変えたのか?

前のPCは、最初から数えて10年くらい前に入れたGentooを、自作するたびに移し替えながら使ってきました。しかし、さすがに10年も使っていると、使っていないパッケージとかがうろ覚えになり、いろいろ試行錯誤した設定ファイルが転がっていたり・・・。

NASを導入したので、データ移行自体は難しくなくなったのもありましたが、ちょうどいいタイミングということで、もう一回Gentooを入れてみることにしました。と、いうのが前回の終わりでした。

とはいえ、大きく変わったところは少ないです。dotfilesを使えるようにもしたいし。

X -> Wayland nativeに

今回のPC構成で最も大きな違いは、NVidiaのビデオカードではない、という点です。Waylandにするにあたって最大の問題となります。

https://wiki.archlinux.jp/index.php/Wayland

安定と信頼のArch Wikiにあるとおり、NVidia以外のドライバは、全て GBM というAPIを実装しているのですが、NVidiaだけはこれとは違うAPIを実装しています(そしてGBMを実装する気はサラサラ無いらしい)。Gnome/KDE Plasmaという、Desktop Environmentの二大巨塔はこれを使うような実装もしています。が、それ以外のコンポジターは、リソースの問題もあり、これを使うことができません。

NVidia以外の ということは、AMDのドライバは対応しています。(そしてRyzenの売上で余裕が出たのか、ドライバの出来もかなり良くなってきたというはなしです)

と、いうことで、前々からやってみたかったWayland nativeになってみました。なお、KDE Plasma(Gnomeは個人的に好みじゃない)ではなく、 swayを使っています。理由?i3とほぼ互換だからですよ・・・。

Wayland nativeになってみて、いろいろと良かったところ、悪かったところがありますので、いろいろと書いていこうと思います。

Pros: 120fpsとかが普通に使える

Xは、その設計された歴史的経緯のようなものがあって、60hzより高いFrame rateを利用できません。また、今はなきXineramaとかを使っても、完全なデュアルディスプレイは不可能でした(全体として大きな一枚のディスプレイとしてしか扱えないらしい)。

Waylandは、そういう事情も含めて設計されたプロトコルなので、完全な複数ディスプレイ環境や、120hzなどの高いframe rateを利用できます。実際、現在120hzで設定していますが、全く問題なく表示できてます。

Pros: 動画などもド安定する

Xのときは、動画を再生したりすると、X server自体がかなりのCPUを食ってしまい、60fpsとかをちゃんと出すのが難しかったです。しかし、Waylandは最初からGPUを使い倒すことを念頭に置いているので、描画周りは圧倒的になめらかです。

Youtubeの詳細などを見ていても、drop frameがほとんど発生しなくなりました。

Pros: フォントがきれい

UI上のフォントも、基本的にすべてきれいなアンチエイリアスがかかっています。個人的にはmacOSより見やすいかなと。

Cons: 日本語入力が使えない

いいことばかりではなく、Xと比較して新しいので、いろいろ問題があります。日本人で一番問題なのは、Wayland nativeなアプリケーションに対して日本語入力する方法がない、という点です。

これは、WaylandのprotocolにあるIMの実装がいろいろバラバラ・・・という話があるようです。一例だと、swayではversion 2を実装しているが、ibusではversion 1を実装している・・・といった具合です。(fcitx5ではversion 3を実装?しているらしいです)

例外としては、XwaylandというWayland上でXアプリケーションを動作させるためのレイヤーをかました場合です。この場合、アプリケーションとしてはX serverで動いているのと同じなので、fcitx/ibusといったような、XでのIMを使えます。なので、

  1. Emacsなど非Wayland nativeなアプリケーションで日本語入力
  2. コピる
  3. Wayland nativeなアプリケーションに貼り付ける

・・・という、なんだかなぁ、という状況になります。この点は、CJKなユーザーがWaylandを使う上での障壁になっていると思います。

Cons: System trayがうまく使えない

swayにはsystemtrayが実装されていますが、いろいろ制約が強いです。

いろいろあるけど、Waylandはだいぶ使えます

日本語入力をするアプリケーションをWaylandで使うのは無理ですが、そういうのはXのアプリケーションとして使えば大体なんとかなる、というところまで来ていると思います。

Chromium/FirefoxなどもWayland nativeで動作するようになっており、かなりスムースな動作をしますし、swayは非常に良くできていて、i3から移行しても特に問題ありません。

いきなり自分のデスクトップで試すのは怖い・・・という場合は、sddmとかlightdmとかを入れていれば切り替えられるので、NVidia以外のGPUを使っている方は、年末年始に籠もっている間に試してみちゃーいかがでしょうか。