メインコンテンツへスキップ
  1. Footprints/
  2. Footprints of 2025-02/

2025-02-14

·1 分·

Wezterm on wayland with NVIDIAの描画遅延
#

それなりに前からだが,weztermをNVIDIA GPU下のwayland環境で使用すると,描画遅延がひどくて使い物にならないケースがあった.

原因はやはりNVIDIA周りのようで,Intel iGPU下では同様の症状が出たことがない.ほんとにNVIDIAとLinuxの相性の悪さはいつになってのご健在だなぁ…とつくづく思う.これでも相当マシになってきてる方だけど.

GPU要因なのでGraphic Accelerationを切ればいいのだが,それはそれで問題なので,Xwayland動作でしばらく運用していた. ただXwaylandはHiDPI環境でのスケーリングがダメで,AAなしジャギー状態のような描画になってしまう. 自分は4Kモニター複数枚運用の人なので,1xスケールでの運用は結構厳しい.しばらく使っていたものの,描画範囲が大きすぎるが故の遅延などが出ることもあって実用に耐えなかった.

なんとかWaylandネイティブで遅延が発生しないようにする術はないかと試行錯誤していたところ,wezterm側の描画フロントエンドをWebGPUにしただけで解決してしまった.なんとも拍子抜けな… ちなみにデフォルトのフロントエンドはOpenGL.

設定はwezterm.luaに以下を入れるだけでよい.

config.front_end = "WebGpu"

WebGPUに変更したことによる見た目の変化はほとんどない.若干フォントの鮮明さが落ちた雰囲気があるが,使用上の支障はないだろう.

ドキュメントによれば.Platformごとに適したbackendが使われるらしい.

The WebGpu front end allows wezterm to use GPU acceleration provided by a number of platform-specific backends:

  • Metal (on macOS)
  • Vulkan
  • DirectX 12 (on Windows)
Myuu
著者
Myuu
CS Researcher