コンテンツにスキップ

Wayland

提供: ArchWiki
2026年2月17日 (火) 08:54時点におけるAshMyzk (トーク | 投稿記録)による版 (同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

Wayland は、ディスプレイサーバプロトコルです。X Window System の後継として広く確立されています[1] [2] [3] [4]Wikipedia に Wayland と Xorg との比較があります。

Wayland プロトコルを使用するディスプレイサーバは、コンポジット型ウィンドウマネージャ としても機能するため、コンポジタ と呼ばれます。以下にWayland コンポジタのリストを示します。

ネイティブな X11 アプリケーションをシームレスに動かすための後方互換性として、Xwayland を使うことができます。これは Wayland に X サーバを提供します。

要件

Wayland というのは単なるプロトコルです。Xorg とは違い、インストールすべき共通の「ディスプレイサーバ」は存在しません。Wayland を使用するために必要になるのは、互換性のあるディスプレイドライバ (この章) とコンポジタ (次の章)、あるいは Wayland プロトコルを実装しているデスクトップ環境 (例: GNOMEPlasma) のみです。ほとんどの Wayland コンポジタは、カーネルモード設定を使用しているシステム上でのみ動作します。

GPU ドライバと Wayland コンポジタは、同一のバッファ API に対応している場合に互換性があります。主要な API は2つ存在します: GBMEGLStreams です。

バッファ API GPU ドライバーのサポート Wayland コンポジタのサポート
GBM NVIDIA < 495* 以外の全てのドライバー 全て
EGLStreams NVIDIA GNOME
* Nvidia ≥ 495 は EGLStreams と GBM の両方をサポートします。[5]

NVIDIA が GBM のサポートを導入して以来、NVIDIA ≥ 495 で多くのコンポジタ (Mutter と KWin を含む) がデフォルトで GBM を使用し始めました。GBM は一般的にベターでより幅広いサポートがあると考えられています。EGLStreams がサポートされていた理由は、NVIDIA GPU をプロプライエタリドライバで Wayland 下で使用する代替の方法を NVIDIA が提供しなかったからだけです。さらに、GBM が NVIDIA に導入された後、KWin は EGLStreams のサポートを打ち切りました

人気なデスクトップ環境/コンポジタと、NVIDIA によってまだサポートされている GPU を使用している場合、おそらくすでに GBM バックエンドを使用しています。確認するには、次を実行してください: journalctl -b 0 --grep "renderer for"。GBM をバックエンドとして強制的に使用させるには、次の環境変数を設定してください:

GBM_BACKEND=nvidia-drm
__GLX_VENDOR_LIBRARY_NAME=nvidia

コンポジタ

スタック型タイル型ダイナミック型 の違いについては、ウィンドウマネージャ#種類 を参照してください。

スタック型

  • COSMIC コンポジタ — COSMIC デスクトップ環境のコンポジタ。
https://github.com/pop-os/cosmic-comp || cosmic-comp
  • hikari — FreeBSD で活発に開発されている cwm にインスパイアされた wlroots ベースのコンポジタ。Linux もサポートしています。
http://hikari.acmelabs.space/ || hikariAUR
https://userbase.kde.org/KWin || kwin
  • labwc — Openbox にインスパイアされた wlroots ベースのコンポジタ。
https://github.com/labwc/labwc || labwc
https://gitlab.gnome.org/GNOME/mutter || mutter
  • waybox — Openbox をモデルとした最小主義の Wayland コンポジタ。
https://github.com/wizbright/waybox || wayboxAUR
  • wayfireCompiz にインスパイアされた、wlroots ベースの 3D コンポジタ。
https://wayfire.org/ || wayfireAUR
  • Weston — 正しさ、信頼性、予測可能性、性能のために設計された Wayland コンポジタ。
https://gitlab.freedesktop.org/wayland/weston || weston
  • wio — Plan 9 のリオデスクトップのルックアンドフィールを複製することを目的とする wlroots ベースのコンポジタ。
https://gitlab.com/Rubo/wio || wio-wlAUR
  • wlmakerWindow Maker からインスパイアされた wlroots ベースのコンポジタ。
https://phkaeser.github.io/wlmaker/ || wlmakerAUR
  • woodland — Wayland 用の wlroots ベースの、最小かつ軽量のウィンドウスタッキングコンポジタ。Wayfire と TinyWl にインスパイアされています。
https://github.com/DiogenesN/woodland || woodlandAUR

タイル型

https://github.com/project-repo/cagebreak || cagebreakAUR
  • jay — Rust 製の Wayland コンポジタ。外観はデフォルトの i3 をベースとしています。Jay は、宣言型の TOML ファイルか、コンポジタにインジェクトされる共有ライブラリで設定できます。
https://github.com/mahkoh/jay || jayAUR
  • miracle-wm — Mir ベースの Wayland コンポジた。i3 や sway のスタイルですが、swayfs のように、これらよりも派手で機能に富んでいます。
https://github.com/miracle-wm-org/miracle-wm || miracle-wmAUR
  • niri — スクロール可能なタイル型 Wayland コンポジタ。
https://github.com/YaLTeR/niri/ || niri
  • Qtile — Python で記述および設定されたフル機能のハッキング可能なタイリングウィンドウマネージャーと Wayland コンポジタ。
https://github.com/qtile/qtile || qtile
  • Sway — wlroots ベースの i3 互換 Wayland コンポジタ。
https://github.com/swaywm/sway || sway
  • SwayFx — 魅力的な視覚効果機能を追加した Sway
https://github.com/WillPower3309/swayfx || swayfxAUR
  • Velox — swc ベースのシンプルなウィンドウマネージャです。dwm と xmonad の影響を受けています。
https://github.com/michaelforney/velox || velox-gitAUR

ダイナミック型

  • cwc — wlroots ベースの awesome ライクな Wayland コンポジタ。
https://cudiph.github.io/cwc/apidoc/ || cwcAUR
  • Mangowcdwl ベースのコンポジタ。標準的な設定ファイル、オプションのスクロールレイアウト、素晴らしいデザイン構築可能。
https://github.com/DreamMaoMao/mangowc || mangowcAUR
  • dwl — wlroots ベースの dwm ライクな Wayland コンポジタ。
https://codeberg.org/dwl/dwl || dwlAUR
  • Hyprland — 見た目を犠牲にしないダイナミックなタイリング Wayland コンポジタ。
https://hypr.land || hyprland
  • japokwm — wlroots ベースの、レイアウト作成を中心とした動的な Wayland タイリングコンポジタ。
https://github.com/werererer/japokwm || japokwm-gitAUR
  • river — dwm と bspwm にインスパイアされた動的なタイル型 Wayland コンポジタ。
https://codeberg.org/river/river || river
  • pinnacle-comp — Smithay ベースの Wayland コンポジタ。AwesomeWM にインスパイアされています。Lua あるいは Rust で設定できます。
https://github.com/pinnacle-comp/pinnacle || pinnacle-compAUR

その他

  • Cage — キオスクのような単一のフルスクリーンアプリケーションを表示します。
https://www.hjdskes.nl/projects/cage/ || cage
  • GNOME Kiosk — Mutter ベースのコンポジタ。特定の用途のみに使用する場合や、ウォールディスプレイや POS システムなどの単一アプリケーションの環境に最適です。
https://gitlab.gnome.org/GNOME/gnome-kiosk || gnome-kioskAUR
  • phoc — モバイル端末のための wlroots ベースの小さなコンポジタ。
https://gitlab.gnome.org/World/Phosh/phoc || phoc
  • Wayback — Wayland のコンポーネントを使用する完全な X11 デスクトップ環境を実行することのできる、X11 互換レイヤ。試験的で、開発の初期段階にあります。
https://wayback.freedesktop.org/ || wayback-x11AUR

上記のいくつかは ディスプレイマネージャ をサポートする場合があります。 それらがどのように開始されるかを /usr/share/wayland-sessions/compositor.desktop を見て確認してください。

ディスプレイマネージャ

Wayland コンポジタの実行をサポートしているディスプレイマネージャは以下の表の通りです。

名前 何で動作するか 説明
emptty TTY TTY で動作するシンプルな CLI ディスプレイマネージャ。
GDM Wayland GNOME ディスプレイマネージャ。
greetd Wayland/Xorg/TTY

Greetd#Greeter を参照。

最小でありながら柔軟なログインデーモン。
lemurs TTY Rust で書かれた TUI ディスプレイマネージャ。
lidmAUR TTY C で書かれた、完全にカラフルでカスタマイズ可能な TUI ディスプレイマネージャ。
LightDM Xorg[6] 様々なデスクトップに対応したディスプレイマネージャ。
ly TTY Zig で書かれた TUI ディスプレイマネージャ。
SDDM Wayland/Xorg QML ベースのディスプレイマネージャ。
tbsmAUR TTY bash のみに依存するシンプルな CLI セッションランチャー。
uwsm TTY スタンドアローンなコンポジタのための、セッションと XDG autostart のマネージャ。

TUI メニューを提供しますが、他のディスプレイマネージャと共に使用することもできます。

Xwayland

Xwayland(1) は、Wayland の下で実行される X サーバーで、Wayland サポートをまだ提供していないネイティブな X11 アプリケーションに互換性を提供します。これを使用するには、xorg-xwayland パッケージをインストールします。

Xwayland はコンポジタを介して開始されるため、あなたの使用しているコンポジタのドキュメントを読み、Xwayland との互換性についてや、Xwayland の起動方法に関する指示を確認しておく必要があります。

ノート
  • セキュリティ: Xwayland は X サーバーであるため、 Wayland のセキュリティ機能はありません。
  • パフォーマンス: ほとんどのケースで Xwayland は X11 とほぼ同等のパフォーマンスを発揮します。
  • 互換性: Xwayland は X11 と完全な後方互換性があるわけではありません。一部のアプリケーションは Xwayland 下では正しく動作しない場合があります。

Wayback

Wayback (wayback-x11AURwayback-x11-gitAUR) は、Wayland のコンポネントを使用する完全な X11 デスクトプ環境を実行できるようにする、X11 互換レイヤです。最終的には従来の X.Org サーバを置き換えることを目的としており、X11 アプリケーションのメンテナンスコストを減少させます。

NVIDIA ドライバ

ノート バージョン 470 より前の Nvidia ドライバ(例: nvidia-390xx-dkmsAUR) はハードウェア支援のある Xwayland をサポートしておらず、非 Wayland ネイティブなアプリケーションは Wayland セッションでのパフォーマンスが低下します。

なお、DRM KMS を有効にする必要があります。また、お使いのディスプレイマネージャ(例: GDM)の公式ドキュメントに記載されている情報も見てください。

Xwayland アプリケーションを検出する

アプリケーションが Xwayland 経由で実行されているかどうかを判断するには、xorg-xeyes を使用して、アプリケーションウィンドウ上でマウスポインタを移動するときに目が動いているかどうかで確認できます。

他の方法として、(xorg-xwininfo の) xwininfo をターミナルウィンドウで実行するというものがあります。Xwayland ウィンドウ上にマウスポインタをホバーすると、マウスポインタが + マークに変わります。ウィンドウをクリックすると、xwininfo は情報を表示して終了しますが、ネイティブな Wayland ウィンドウでは何も起こりません。Ctrl+C を押すことで xwininfo を終了できます。

あるいは、xlsclients (xorg-xlsclients パッケージ) を使用することもできます。Xwayland で動作中のアプリケーションを全てリストアップするには、xlsclients -l を実行してください。

あるいは、extramausAUR を実行して、アプリケーションのウィンドウ上でマウスポインタを動かすことでも確認できます。赤いマウスが動けば、アプリケーションは Xwayland で動いています。

ヒント KDE Plasma の場合は、KDE#KWin デバッグコンソール でウィンドウを調査できます。

GUI ライブラリ

GTK

gtk3gtk4 パッケージは Wayland バックエンドが有効になっています。GTK ではデフォルトで Wayland バックエンドを使いますが、環境変数を設定することで Xwayland を使うように上書きできます: GDK_BACKEND=x11

テーマの問題は GTK#Wayland バックエンド を見てください。

Qt

Qt 5 で Wayland のサポートを有効化するには、qt5-wayland パッケージをインストールしてください。これで、Qt 5 アプリケーションは Wayland セッション上では Wayland で動作するようになります。

必須ではないはずですが、明示的に Wayland プラグインを使って Qt 5 アプリケーションを動作させるには、[7] にあるように、-platform wayland を使用するか、環境変数 QT_QPA_PLATFORM=wayland をセットして下さい。

一方、Wayland セッション上で X11 を使用させるには、QT_QPA_PLATFORM=xcb と設定してください。これは、システムの Qt の実装を使用しない一部のプロプライエタリアプリケーションで必要になる場合があります。 また、QT_QPA_PLATFORM="wayland;xcb" を使用すると、Qt が Wayland を利用できない場合に、代わりに xcb (X11)プラグインを使用させることができます。[8]

sway などの一部のコンポジターでは、ネイティブに実行されている Qt アプリケーションの機能が不足している場合があります。たとえば、KeepassXC はトレイに最小化できません。これは、アプリケーションを実行する前に qt5ct をインストールし、QT_QPA_PLATFORMTHEME=qt5ct を設定することで解決できます。

Qt WebEngine のバグ (Incorrect sizing and bad text rendering with WebEngine using fractional scaling on Wayland) のため、Qt WebEgine を使用するアプリケーション (例: Calibre) では荒いフォントが表示される場合があります。 回避策は、QT_SCALE_FACTOR_ROUNDING_POLICY=RoundPreferFloor 環境変数を設定してアプリケーションを起動することです。 これにより、アプリケーションのウィンドウが分数スケーリングされなくなります。

Clutter

Clutter ツールキットには Wayland バックエンドがあり、Clutter を Wayland のクライアントとして動作させることが可能です。このバックエンドは clutterAUR パッケージで有効になっています。

Clutter アプリを Wayland 上で動作させるには、環境変数 CLUTTER_BACKEND=wayland を設定する必要があります。

SDL

SDL3 では、コンポジタが fifo-v1 プロトコルをサポートしている場合、デフォルトで Wayland が使用されます。[9] そうでない場合、順に X11 と Wayland が試行されます。環境変数 SDL_VIDEO_DRIVER=x11 あるいは SDL_VIDEO_DRIVER=wayland を使用することで、どちらか一方を強制することができます (あるいは、より優先度の低い、SDL2 用の環境変数もあります。下記を参照)。[10].

sdl2-compat は、アプリケーション固有の例外を除いて、上記の SDL3 と同じルールに従います。SDL2 自体に関しては (例: sdl2AUR)、SDL_VIDEODRIVER=wayland を設定してください。

SDL_VIDEODRIVER="wayland,x11" とすることにより、Wayland が利用できない場合に代わりに X11 ビデオドライバを使用するように SDL2 を設定できます [11]。ウィンドウ装飾を有効化するために libdecor をインストールすると良いかもしれません (例えば、GNOME で)。

詳細は公式のドキュメントを参照してください。

GLFW

glfw パッケージには Wayland に対するサポートがあります。XDG_SESSION_TYPEwayland に設定されていて、かつアプリケーションの開発者が特定のバックエンドを使用するようにしていなければ、Wayland バックエンドが使用されます。

詳細は GLFW のソースコードを参照してください。

GLEW

glew-wayland-gitAUR パッケージが GLEW ベースのアプリケーションで動かない場合、唯一の選択肢は Xwayland で glew を使うことです。FS#62713 を参照してください。

EFL

Enlightenment には完全な Wayland サポートがあります.

EFL ベースのアプリケーションを Wayland 上で動作させるには、ELM_DISPLAY=wl を設定してください。

winit

Winit は Rust で書かれたウィンドウ管理ライブラリです。デフォルトでは Wayland が X11 より優先される仕様ですが、環境変数を設定することで Xwayland を使うように上書きすることができます:

  • バージョン 0.29.2 より前の場合、WINIT_UNIX_BACKEND=x11 を設定してください。
  • バージョン 0.29.2 以降の場合、WAYLAND_DISPLAY を unset してください。そうすることで、強制的に DISPLAY 変数を使用して X にフォールバックされます。[12]

Electron

ノート Plasma では、一部の Electron アプリケーションがウィンドウに間違ったアイコン (デフォルトの Wayland アイコン) を使用することがあります (タスクバーには正しいアイコンが表示されます)。そのアプリケーションのデスクトップファイル名を強制する特殊なアプリケーション/ウィンドウルールを作成することで、解決できます。

Wayland サポートは、コマンドラインフラグか環境変数で有効化できます。

コマンドラインフラグ

ノート 一部のパッケージは、Electron に対してフラグを渡さないため、そのアプリケーションの開発者が解決策を実装する必要があります。

Wayland で動作させるために必要なコマンドラインフラグは Chromium#ネイティブ Wayland サポート を見てください。ただし、Electron 38 以降、コマンドラインフラグ --ozone-platform-hint=auto は機能しないことに注意してください。

これらのフラグを手動で渡すこともできますが、Electron の設定ファイルでフラグを永続化したり、~/.local/share/applications の .desktop ファイル内の Exec= 行にフラグを追加することでフラグを渡したりもできます。

この記事またはセクションの正確性には問題があります。
理由: Old version of Electron needs --enable-features=WebRTCPipeWireCapturer But what version is it enable by default? Also default behavior of Electron vendored by non-free software would be wrong. (議論: トーク:Wayland#)

Electron は、デフォルトで PipeWire による WebRTC スクリーンキャプチャを有効化しています。キャプチャは xdg-desktop-portal をベースとしています。

トップバーが表示されない場合は、--enable-features=WaylandWindowDecorations で解決できます。これは、例として GNOME で必要となります (electron17 からサポートされています)。

環境変数

バージョン 28 から 37 の間の Electron を使用するアプリケーションは、環境変数 ELECTRON_OZONE_PLATFORM_HINTauto または wayland に設定することで、Wayland モードを使用することができます。

コマンドラインのほうが、環境変数よりも優先されます。

Java

Java プラットフォームのオープンソース実装である OpenJDK は、まだ Wayland のネイティブサポートを備えていません。 OpenJDK に Wayland を実装することを目的としたプロジェクトである Wakefield が実用できるようになるまでは、Xwayland を代わりに使用できます。

Debian:Wayland#Java Programs (supported since OpenJDK 16?) を参照してください:

OpenJDK 16から、JRE は (Wayland をサポートしている) GTK3 を動的にロードできるようになりました。この議論によると、これがサポートされているかもしれません。
_JAVA_AWT_WM_NONREPARENTING 環境変数を "1" に設定することで、アプリケーションが空白の画面で起動する不具合を修正することができます。

XWayland は機能的に Wayland と同等ではないので、Wakefield が実用的になるまでは、WLToolkit で機能の差を埋めることができます。これは -Dawt.toolkit.name=WLToolkit でアクティブ化できます。JetBrains IDE といった一部のプログラムはこれをサポートしています。

ヒントとテクニック

自動化

  • ydotool (ydotool) - 汎用のコマンドラインツール (wayland 以外でも利用可能)。ydotool.service ユーザーユニット起動/有効化してください。ydotoold(8)ydotool(1) を参照。
  • wtype (wtype) - Wayland 用 xdotool type。wtype(1) を参照。
  • keyboard - Windows と Linux で動作する Python ライブラリ。実験的な OS X サポートあり。mouse ライブラリも参照。
  • wlrctl (wlrctlAUR) - 雑多な wlroots 拡張のためのコマンドラインユーティリティ (foreign-toplevel-management、virtual-keyboard、virtual-pointer をサポート)。

キーボードやマウスキーのリマップ

入力リマップユーティリティ を見てください。

スクリーンキャスト

スクリーンキャプチャ#スクリーンキャストスクリーンキャプチャ#X11 アプリケーションで Wayland ウィンドウをスクリーンキャストする を見てください。

アプリが閉じた後もクリップボードの内容を保持する

Wayland の設計思想上、クリップボードのデータはソースクライアントのメモリ内に保存されます。クライアントが閉じると、クリップボードのデータは失われます。wl-clip-persist を使うことで、この問題を解決できます。これはバックグラウンドで動き、クリップボードのデータを読んで、ソースクライアントからは独立した自身のメモリに保存します。

Wayland コンポジタを systemd サービスとして自動的に起動する

ノート Universal Wayland Session Manager は、使用中のコンポジタの systemd ユニットを自動的に生成します。さらに、グラフィカルアプリケーションを systemd と統合する際にも役立ちます。

ディスプレイマネージャーやシェルを使いたくなければ、Waylandコンポジタをsystemd サービスを使って自動的に起動できます。ExecStart 行を使いたいコンポジタに変えて下さい。以下は KDE Plasma の例です:

/etc/systemd/system/wayland-compositor.service
[Unit]
After=graphical.target systemd-user-sessions.service modprobe@drm.service
Conflicts=getty@tty1.service

[Service]
User=username
WorkingDirectory=~

PAMName=login
TTYPath=/dev/tty1
UnsetEnvironment=TERM

StandardOutput=journal
ExecStart=/usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland

[Install]
WantedBy=graphical.target

wlroots ベースのコンポジタで他のレンダラーを使用する

wlroots ベースのコンポジタに対して WLR_RENDERER 環境変数を設定することで vulkan などといった他の wlroots レンダラーを使用することができます。利用可能なレンダラーのリストは wlroots のドキュメントにあります。

トラブルシューティング

色補正

バックライト#色補正を参照。

動作が遅い、表示がおかしい、クラッシュする

Gnome-shell で X から Wayland に切り替えるとグラフィック表示に問題が発生することがあります。原因として Xorg ベースの gnome-shell 用に CLUTTER_PAINT=disable-clipped-redraws:disable-culling が設定されている可能性があります。/etc/environment や rc ファイルから該当箇所を削除してみてください。

リモートディスプレイ

  • (sway で使用されている) wlroots0.18wlroots0.19 は、バージョン 0.10 より、wayvnc による VNC バックエンドを提供しています。RDP バックエンドは削除されました [13]
  • mutter はコンパイル時にリモートデスクトップが有効化されています。詳細は [14]gnome-remote-desktop を見てください。
  • krfbkwin に VNC サーバを提供します。krfb-virtualmonitor を使えば、他のデバイスを外部モニタとしてセットアップすることが可能です。
  • 2013年に FreeRDP が Weston にマージされました。コンパイルフラグで有効化されています。weston パッケージは、バージョン 6.0.0 より、FreeRDP が有効化されています。
  • waypipe は Wayland アプリケーションの透過プロキシです。SSH 上で動作するラッパーコマンドあり。
    • 以下は、Plasma デスクトップでリモートの KDE kcalc を起動する例です:
$ waypipe ssh example.local env QT_QPA_PLATFORM=wayland QT_QPA_PLATFORMTHEME=KDE dbus-launch kcalc

ゲームやリモートデスクトップ、仮想マシンウィンドウでの入力捕捉

Xorg と異なり、Wayland では入力デバイスを独占 (グラブ) することができません (例: キーボードマウス)。キーボードショートカットやポインタデバイスをアプリケーションウィンドウに渡すのは Wayland コンポジタの役目となっています。

入力グラブが変わったことで以下のように既存のアプリケーションで問題が発生します:

  • ホットキーや修飾キーがコンポジタによって認識されてしまい、リモートデスクトップや仮想マシンのウィンドウに送信されなくなります。
  • マウスポインタがアプリケーションウィンドウに制限されなくなるため、仮想マシンやリモートデスクトップのウィンドウ内のマウスポインタの位置がホスト環境のマウスポインタとずれるようになります。

Wayland と Xwayland にプロトコル拡張を追加することで解決を図っていますが、Wayland コンポジタが拡張をサポートしている必要があり、ネイティブの Wayland クライアントの場合、ウィジェットツールキット (例: GTK, Qt) やアプリケーション自身が拡張に対応していなければなりません。Xorg アプリケーションの場合、Xwayland のサポートで十分であるため、アプリケーションやウィジェット・ツールキットに変更を加える必要はありません。

これらの拡張はすでに wayland-protocols に含まれており、xorg-xwayland によってサポートされています。

関連する拡張:

サポートしている Wayland コンポジタ:

サポートしているウィジェットツールキット:

  • GTK (リリース 3.22.18 以降)

GTK テーマが動かない

https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland を参照してください。

NVIDIA モジュールを読み込まないようにする

sway などの Wayland コンポジターを起動する前に __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json環境変数 として追加します。

拡大/サーフェススケーリング

スクリーンの拡大は、まだ解決していません。wp-surface-scale プロトコルを提供するプルリクエストが2022年半ばにマージされました。

カーネル 6.11.2 以降、Wayland にラグ/スタッタリングが発生する (AMD)

将来のカーネルリリースでこの問題が修正されるまで、回避策は、カーネルのコマンドラインに amdgpu.dcdebugmask=0x400 を追加することです。

こちらを参照: https://community.frame.work/t/wayland-lag-stuttering-since-kernel-6-11-2/59422

仮想デスクトップの切り替え時にゲームやアプリケーションが止まる

ワークスペースを変更した時や、Alt+Tab を押した時に、ゲーム (あるいは他のグラフィカルアプリケーション) が止まる、変な状態になる、部分的に停止します。これには、VRR アプリケーションや VSync がオンのアプリケーションが含まれますが、それらに限りません。症状としては、ゲームのウィンドウがフォーカスされていないときにのみ、音声が部分的に途切れる、ゲームが進まなくなる、ping が高くなる、ネットワークが途切れるなどがあります。これは、VSync がオンのアプリケーションにのみ影響します。

It is possible some games can work around this issue by changing to a window, but some do not. This is extremely annoying in more complex games which require heavy usage of web browsing, documentation and 3rd party tools or if the gameplay is interrupted for some reason.

回避策としては、環境変数 MESA_VK_WSI_PRESENT_MODE=immediatevk_xwayland_wait_ready=false の片方/両方を設定することです。しかし、これらの変数は VSync あるいは VRR の機能を破壊します。

参照

翻訳ステータス: このページは en:Wayland の翻訳バージョンです。最後の翻訳日は 2026-02-17 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。