「Wayland」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(同期)
11行目: 11行目:
 
{{Related|カーソルテーマ}}
 
{{Related|カーソルテーマ}}
 
{{Related articles end}}
 
{{Related articles end}}
'''Wayland''' は Linux の新しいウィンドウプロトコルです。Wayland を利用するためは一部ソフトウェア変更と再インストールが必要になります。Wayland について詳くは[http://wayland.freedesktop.org/ ホームページ]を見て下さい
+
'''Wayland''' は Linux の新しいウィンドウプロトコルです。GNOME や KDE などの主要な Linux デスクトップは Wayland に対応しており、"Weston" という名前コンポジタリファレンス実装も存在します。Wayland で昔の X11 アプリケーションを動作させるための互換レイヤーと[https://wayland.freedesktop.org/xserver.html XWayland] があります
   
 
== 要件 ==
 
== 要件 ==
今のところ Wayland は [[KMS]] を利用しているシステムでしか動作できません。
+
今のところ Wayland は [[KMS]] を利用しているシステムでしか動作できません。また、Wayland はただのライブラリなので、それだけでは使い物になりません。X サーバーを置き換えるには、([[#Weston|Weston]] などの) コンポジタが必要です
   
== インスト ==
+
=== バッファ API のサポ ===
ほとんどの場合 {{pkg|gtk2}} や {{pkg|gtk3}} の依存パッケージとして既に間接的に Wayland がインストールされているはずです。インストールされていない場合、[[公式リポジトリ]]から {{pkg|wayland}} をインストールしてください。
 
   
  +
GPU ドライバーと Wayland コンポジタは同一のバッファ API に対応している場合に互換性があります。主要な API は2つ存在します: [[Wikipedia:Generic Buffer Management|GBM]] と [http://www.phoronix.com/scan.php?page=news_item&px=XDC2016-Device-Memory-API EGLStreams] です。
== 使用方法 ==
 
  +
Wayland はただのライブラリなので、それだけでは使い物になりません。X サーバーを置き換えるには、([[#Weston|Weston]] などの) コンポジタが必要です。
 
  +
{| class="wikitable"
  +
|-
  +
! バッファ API !! GPU ドライバーのサポート !! Wayland コンポジタのサポート
  +
|-
  +
| GBM || [[NVIDIA]] 以外の全てのドライバー || 全てのコンポジタ
  +
|-
  +
| EGLStreams || [[NVIDIA]] || [[GNOME]], [[Sway]], Grefsen
  +
|-
  +
|}
   
 
== Weston ==
 
== Weston ==
  +
Weston は Wayland コンポジタのリファレンス実装です。
  +
 
=== インストール ===
 
=== インストール ===
 
公式リポジトリから {{pkg|weston}} をインストールする必要があります。
 
公式リポジトリから {{pkg|weston}} をインストールする必要があります。
40行目: 50行目:
 
画面に花を散らすには:
 
画面に花を散らすには:
 
$ weston-flower
 
$ weston-flower
 
フレームプロトコルをテストするには ({{ic|glxgears}} を実行):
 
$ weston-gears
 
   
 
画像を表示するには:
 
画像を表示するには:
49行目: 56行目:
 
=== 設定 ===
 
=== 設定 ===
   
キーボードレイアウト・モジュール・UI の設定ファイルの例です。詳しくは {{ic|man weston.ini}} を見て下さい。
+
キーボードレイアウト・モジュール・UI の設定ファイルの例です。詳しくは {{ic|man weston.ini}} を見て下さい。Weston の出力設定は {{ic|xorg.conf}} のモニターと多少異なります:
  +
  +
$ ls /sys/class/drm
  +
card0
  +
card0-VGA-1
  +
card1
  +
card1-DVI-I-1
  +
card1-HDMI-A-1
  +
card1-VGA-2
  +
  +
{{ic|card0}} は使われていない内蔵ビデオアダプタです。追加アダプタ {{ic|card1}} は HDMI と DVI モニターに接続されており、出力名が {{ic|HDMI-A-1}} と {{ic|DVI-I-1}} です。
  +
 
{{hc|~/.config/weston.ini|<nowiki>
 
{{hc|~/.config/weston.ini|<nowiki>
 
[core]
 
[core]
197行目: 215行目:
 
=== Qt5 ===
 
=== Qt5 ===
   
{{Grp|qt5}} パッケージは Wayland をサポートしています ({{Pkg|qt5-wayland}} のインストールが必要です)。Wayland プラグインを使って Qt 5 アプリケーションを動作させるには環境変数 {{ic|1=QT_QPA_PLATFORM=wayland-egl}} をセットして下さい。
+
{{Grp|qt5}} パッケージは Wayland をサポートしています ({{Pkg|qt5-wayland}} のインストールが必要です)。Wayland プラグインを使って Qt 5 アプリケーションを動作させるには {{ic|1=-platform wayland}} を使用するか、環境変数 {{ic|1=QT_QPA_PLATFORM=wayland-egl}} をセットして下さい。
   
 
===Clutter===
 
===Clutter===
   
Clutter ツールキットには Wayland バックエンドがあり、Clutter を Wayland のクライアントとして動作させることが可能です。このバックエンドは extra に入っている公式パッケージで有効になっています。
+
Clutter ツールキットには Wayland バックエンドがあり、Clutter を Wayland のクライアントとして動作させることが可能です。このバックエンドは {{Pkg|clutter}} パッケージで有効になっています。
   
 
Clutter アプリを Wayland 上で動作させるには、環境変数 {{ic|CLUTTER_BACKEND&#61;wayland}} を設定する必要があります。
 
Clutter アプリを Wayland 上で動作させるには、環境変数 {{ic|CLUTTER_BACKEND&#61;wayland}} を設定する必要があります。
213行目: 231行目:
 
=== GLFW ===
 
=== GLFW ===
   
  +
GLFW で Wayland バックエンドを使用するには、({{Pkg|glfw-x11}} の代わりに) {{Pkg|glfw-wayland}} パッケージをインストールしてください。
バージョン 3.1 から wayland を試験的にサポートしています。コンパイルフラグで有効にします。cmake のフラグに {{ic|-DGLFW_USE_WAYLAND&#61;ON}} を追加してください。AUR からパッケージ {{AUR|glfw-wayland-git}} をインストールすることもできます。
 
   
 
===EFL===
 
===EFL===
228行目: 246行目:
   
 
Gnome Wayland セッションを起動するには、GDM ログインマネージャを使用する必要があります。ログインする前に "Gnome on Wayland" セッションを選択してください。
 
Gnome Wayland セッションを起動するには、GDM ログインマネージャを使用する必要があります。ログインする前に "Gnome on Wayland" セッションを選択してください。
 
===Hawaii===
 
[[Hawaii]] の記事を見て下さい。
 
   
 
===Enlightenment===
 
===Enlightenment===
256行目: 271行目:
 
[https://github.com/giucam/orbital Orbital] は Qt5 と Weston を使用する Wayland コンポジタ・シェルです。このプロジェクトではシンプルでありながら柔軟性のある見た目の良い Wayland デスクトップを作成することを目標としています。Orbital は完全装備の DE ではなく、どちらかと言えば [[Awesome]] や [[Fluxbox]] のような X11 におけるウィンドウマネージャに似ています。
 
[https://github.com/giucam/orbital Orbital] は Qt5 と Weston を使用する Wayland コンポジタ・シェルです。このプロジェクトではシンプルでありながら柔軟性のある見た目の良い Wayland デスクトップを作成することを目標としています。Orbital は完全装備の DE ではなく、どちらかと言えば [[Awesome]] や [[Fluxbox]] のような X11 におけるウィンドウマネージャに似ています。
   
=== Papyros Shell ===
+
=== Liri Shell ===
   
[https://github.com/papyros/papyros-shell Papyros Shell] は [[Papyros]] のデスクトップシェルであり、Wayland のコンポジタとして QtQuick と QtCompositor を使用して作られています。
+
[https://github.com/lirios/shell Liri Shell] は [[Liri]] のデスクトップシェルであり、Wayland のコンポジタとして QtQuick と QtCompositor を使用して作られています。
   
 
=== Maynard ===
 
=== Maynard ===
270行目: 285行目:
 
=== Way Cooler ===
 
=== Way Cooler ===
 
{{AUR|way-cooler}} は Rust で書かれた (Lua の設定ファイルによる) 豊富な設定を持つ Wayland コンポジタです。i3 と awesome の影響を受けています。
 
{{AUR|way-cooler}} は Rust で書かれた (Lua の設定ファイルによる) 豊富な設定を持つ Wayland コンポジタです。i3 と awesome の影響を受けています。
  +
  +
=== Maze Compositor ===
  +
  +
[https://github.com/capisce/mazecompositor Maze Compositor] は 3D の Qt ベースの Wayland コンポジタです。
  +
  +
=== Grefsen ===
  +
  +
[https://github.com/ec1oud/grefsen Grefsen] はミニマルなデスクトップ環境を実現する Qt/Wayland コンポジタです。
   
 
==トラブルシューティング==
 
==トラブルシューティング==
  +
  +
=== root でグラフィカルアプリケーションを実行 ===
  +
  +
Wayland セッションで [[su]], [[sudo]], [[polkit|pkexec]] を使って root でグラフィカルアプリケーション (例: [[GParted]] や [[Gedit]] など) を実行しようとした場合、以下のようなエラーが表示されます:
  +
  +
{{bc|$ sudo gedit
  +
No protocol specified
  +
Unable to init server: Could not connect: Connection refused
  +
  +
(gedit:2349): Gtk-WARNING **: cannot open display: :0
  +
}}
  +
  +
Wayland 以前では、特権による GUI アプリケーションの実行は [[Polkit]] ポリシーを作成して正しく実装するか、あるいはターミナルでコマンドの前に {{ic|sudo}} を付けて危なっかしく実行するようになっていましたが、(X)Wayland ではデフォルトでこのようなことはできなくなっています。クライアントの接続を許可されるのは X サーバーを起動したユーザーだけです ([https://bugzilla.redhat.com/show_bug.cgi?id=1266771 バグレポート] や [https://cgit.freedesktop.org/xorg/xserver/commit/?id=c4534a3] [https://cgit.freedesktop.org/xorg/xserver/commit/?id=4b4b908], [https://cgit.freedesktop.org/xorg/xserver/commit/?id=76636ac] を参照)。
  +
  +
回避策としては [[xhost]] を使うことで root ユーザーに対して一時的にローカルユーザーの X セッションへのアクセスを許可できます。非特権ユーザーで以下のコマンドを実行してください [https://bugzilla.redhat.com/show_bug.cgi?id=1274451#c64]:
  +
$ xhost si:localuser:root
  +
  +
アプリケーションを閉じた後に許可を取り消すには:
  +
$ xhost -si:localuser:root
  +
  +
{{Note|1=[https://bugzilla.gnome.org//show_bug.cgi?id=772875 GNOME のバグレポート] では他にも2つの方法が提案されており、片方はテキストファイルの編集で使えます。}}
   
 
=== LLVM assertion failure ===
 
=== LLVM assertion failure ===
280行目: 324行目:
 
$ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so
 
$ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so
   
  +
=== 動作が遅い、表示がおかしい、クラッシュする ===
=== 1.7 にアップデートしてから Weston が起動しない ===
 
  +
Gnome-shell で X から Wayland に切り替えるとグラフィック表示に問題が発生することがあります。原因として Xorg ベースの gnome-shell 用に {{ic|1=CLUTTER_PAINT=disable-clipped-redraws:disable-culling}} が設定されている可能性があります。{{ic|/etc/environment}} などの rc ファイルから該当箇所を削除してみてください。
おそらく {{ic|weston.ini}} によって {{ic|desktop-shell.so}} モジュールがロードされているのが原因です。以前はこのモジュールが必要でしたが、現在は要らなくなっています。
 
 
モジュールを削除するには、以下のようになっている行を探して:
 
{{hc|~/.config/weston.ini|
 
<nowiki>[core]
 
modules=xwayland.so,desktop-shell.so</nowiki>
 
}}
 
行から {{ic|desktop-shell.so}} を削除してください:
 
{{hc|~/.config/weston.ini|
 
<nowiki>[core]
 
modules=xwayland.so</nowiki>
 
}}
 
 
=== weston+xwayland の chrome/chromium でマウスのクリックが効かない ===
 
Chrome/chromium は weston から起動することができますが、キーボードだけが動作し、マウスのクリックが動作しません。これは weston の [https://bugs.freedesktop.org/show_bug.cgi?id=89178 バグ] です。orbment など、他の wayland コンポジタなら Chrome は問題なく動作します。
 
   
 
==参照==
 
==参照==
  +
* [https://fedoraproject.org/wiki/How_to_debug_Wayland_problems Fedora Wiki の Wayland のデバッグに関する記事]
 
* [https://bbs.archlinux.org/viewtopic.php?id=107499 Arch Linux forum discussion]
 
* [https://bbs.archlinux.org/viewtopic.php?id=107499 Arch Linux forum discussion]
* [http://wayland.freedesktop.org/docs/html/ Wayland documentation online]
+
* [http://wayland.freedesktop.org/docs/html/ Wayland オンラインドキュメント]

2017年7月25日 (火) 23:38時点における版

関連記事

Wayland は Linux の新しいウィンドウプロトコルです。GNOME や KDE などの主要な Linux デスクトップは Wayland に対応しており、"Weston" という名前のコンポジタのリファレンス実装も存在します。Wayland で昔の X11 アプリケーションを動作させるための互換レイヤーとして XWayland があります。

要件

今のところ Wayland は KMS を利用しているシステムでしか動作できません。また、Wayland はただのライブラリなので、それだけでは使い物になりません。X サーバーを置き換えるには、(Weston などの) コンポジタが必要です。

バッファ API のサポート

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

バッファ API GPU ドライバーのサポート Wayland コンポジタのサポート
GBM NVIDIA 以外の全てのドライバー 全てのコンポジタ
EGLStreams NVIDIA GNOME, Sway, Grefsen

Weston

Weston は Wayland コンポジタのリファレンス実装です。

インストール

公式リポジトリから weston をインストールする必要があります。

使用方法

Weston をインストールしたのなら Wayland をテストする環境が整っているはずです。

起動中の X セッションの中で Weston を実行することができます:

$ weston

もしくは、Weston をネイティブで起動するには、端末を切り替えて次を実行して見て下さい:

$ weston-launch

Weston の TTY からデモを実行できます。ターミナルエミュレータを起動するには:

$ weston-terminal

画面に花を散らすには:

$ weston-flower 

画像を表示するには:

$ weston-image image1.jpg image2.jpg...

設定

キーボードレイアウト・モジュール・UI の設定ファイルの例です。詳しくは man weston.ini を見て下さい。Weston の出力設定は xorg.conf のモニターと多少異なります:

$ ls /sys/class/drm
card0
card0-VGA-1
card1
card1-DVI-I-1
card1-HDMI-A-1
card1-VGA-2

card0 は使われていない内蔵ビデオアダプタです。追加アダプタ card1 は HDMI と DVI モニターに接続されており、出力名が HDMI-A-1DVI-I-1 です。

~/.config/weston.ini
[core]
# xwayland support
modules=xwayland.so

[libinput]
enable_tap=true

[shell]
background-image=/usr/share/backgrounds/gnome/Aqua.jpg
background-color=0xff002244
panel-color=0x90ff0000
locking=true
animation=zoom
close-animation=fade
focus-animation=dim-layer
#binding-modifier=ctrl
#num-workspaces=6
### for cursor themes install xcursor-themes pkg from Extra. ###
#cursor-theme=whiteglass
#cursor-size=24

### tablet options ###
#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
#animation=fade

###  for Laptop displays  ###
#[output]
#name=LVDS1
#mode=1680x1050
#transform=90

#[output]
#name=VGA1
# The following sets the mode with a modeline, you can get modelines for your preffered resolutions using the cvt utility
#mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
#transform=flipped

#[output]
#name=X1
#mode=1024x768
#transform=flipped-270

[input-method]
#path=/usr/lib/weston/weston-keyboard

[keyboard]
keymap_rules=evdev
#keymap_layout=gb,de
#keymap_options=caps:ctrl_modifier,shift:both_capslock_cancel
### keymap_options from /usr/share/X11/xkb/rules/base.lst ###
numlock-on=true

[terminal]
#font=DroidSansMono
#font-size=14

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
path=/usr/bin/weston-terminal

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
path=/usr/bin/gnome-terminal

[launcher]
icon=/usr/share/icons/hicolor/24x24/apps/firefox.png
path=/usr/bin/firefox

[launcher]
icon=/usr/share/weston/icon_flower.png
path=/usr/bin/weston-flower

[screensaver]
# Uncomment path to disable screensaver
path=/usr/libexec/weston-screensaver
duration=600

最小の weston.ini:

~/.config/weston.ini
[core]
modules=xwayland.so

[keyboard]
keymap_layout=gb

[output]
name=LVDS1
mode=1680x1050
transform=90

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
path=/usr/bin/weston-terminal

[launcher]
icon=/usr/share/icons/hicolor/24x24/apps/firefox.png
path=/usr/bin/firefox

XWayland

公式リポジトリから xorg-server-xwayland をインストールしてください。

Weston の中で X アプリケーションを動かすには、Xwayland を使ってリクエストを処理させます。以下の設定ファイルを作成してください:

~/.config/weston.ini
[core]
modules=xwayland.so

スクリーンキャスト録画

Weston にはスクリーンキャスト機能が備わっており、Super+r キーを押すことで録画を開始・停止することができます。スクリーンキャストは Weston のカレントディレクトリ内の capture.wcap ファイルに保存されます。

WCAP ファイルは Weston 専用のロスレス動画フォーマットで、フレーム間の差異だけを記録しています。記録されたスクリーンキャストを再生するには、WCAP ファイルをメディアプレイヤーが再生できるフォーマットに変換する必要があります。まず、録画した動画を YUV ピクセル形式に変換してください:

$ wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m

作成された YUV ファイルは FFmpeg を使うことで他のフォーマットに変換できます。

HiDPI ディスプレイ

Retina または HiDPI のディスプレイでは以下を使用してください:

~/.config/weston.ini
[output]
name=...
scale=2

シェルのフォント

Weston はウィンドウのタイトルバーや時計などにデフォルトの sans-serif フォントを使用します。フォントを変更する方法はフォント設定#フォントの置き換えを見て下さい。

GUI ライブラリ

公式ウェブサイト も参照してください。

GTK+ 3

公式リポジトリの gtk3 は Wayland バックエンドが有効になっています。

GTK+ 3.0 から、GTK+ は実行時に複数のバックエンドをサポートできるようになり、Qt の lighthouse と同じ方法でバックエンドを切り替えることができるようになりました。

Wayland と X 両方のバックエンドが有効になっているとき、GTK+ ではデフォルトで X11 バックエンドを使いますが、GDK_BACKEND=wayland 環境変数を設定することでこれを上書きできます。

Qt5

qt5 パッケージは Wayland をサポートしています (qt5-wayland のインストールが必要です)。Wayland プラグインを使って Qt 5 アプリケーションを動作させるには -platform wayland を使用するか、環境変数 QT_QPA_PLATFORM=wayland-egl をセットして下さい。

Clutter

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

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

SDL

SDL 2.0.2 から実験的に wayland がサポートされており、Arch Linux ではデフォルトで有効になっています。

SDL アプリケーションを Wayland 上で動作させるには、環境変数 SDL_VIDEODRIVER=wayland を設定する必要があります。

GLFW

GLFW で Wayland バックエンドを使用するには、(glfw-x11 の代わりに) glfw-wayland パッケージをインストールしてください。

EFL

EFL は Wayland を完全にサポートしています。Wayland で EFL アプリケーションを動かすには、Wayland の プロジェクトページ を見て下さい。

ウィンドウマネージャとデスクトップシェル

GNOME

警告: Gnome Wayland セッションは xorg-server-xwayland をインストールしていないと起動しません。

バージョン 3.14 から、GNOME は Wayland を使ってデスクトップを動作させることができるようになりました。Gnome コンポジタは X を使用しなくても動かすことができ、Wayland のシステムコンポジタとして動作します。本番環境で使えるほど安定しているとされていますが、まだサポートされていない機能もいくつか存在します (Gnome のドキュメントを参照)。Gnome デスクトップでは、X を使用するアプリケーションは XWayland で動作します。

Gnome Wayland セッションを起動するには、GDM ログインマネージャを使用する必要があります。ログインする前に "Gnome on Wayland" セッションを選択してください。

Enlightenment

E19 から Wayland に対応していましたが、現在は削除されており、E20 以上が通常の利用に耐えうるほど Wayland で安定動作するとされています。詳しくは [1] を参照。

KDE

KDE#Wayland を見てください。

Loliwm

loliwm は Wayland 用のタイル型ウィンドウマネージャです。

sway

Sway は Wayland 用の i3 互換のウィンドウマネージャです。

Velox

Velox は swc ベースのシンプルなウィンドウマネージャです。dwmxmonad の影響を受けています。

Orbital

Orbital は Qt5 と Weston を使用する Wayland コンポジタ・シェルです。このプロジェクトではシンプルでありながら柔軟性のある見た目の良い Wayland デスクトップを作成することを目標としています。Orbital は完全装備の DE ではなく、どちらかと言えば AwesomeFluxbox のような X11 におけるウィンドウマネージャに似ています。

Liri Shell

Liri ShellLiri のデスクトップシェルであり、Wayland のコンポジタとして QtQuick と QtCompositor を使用して作られています。

Maynard

Maynard は GTK ベースの Weston 用デスクトップシェルクライアントです。Tiago Vignatti によるプロジェクト、weston-gtk-shell に基づいています。

Motorcar

Motorcar は 3D ウィンドウを探検できる wayland コンポジタです。

Way Cooler

way-coolerAUR は Rust で書かれた (Lua の設定ファイルによる) 豊富な設定を持つ Wayland コンポジタです。i3 と awesome の影響を受けています。

Maze Compositor

Maze Compositor は 3D の Qt ベースの Wayland コンポジタです。

Grefsen

Grefsen はミニマルなデスクトップ環境を実現する Qt/Wayland コンポジタです。

トラブルシューティング

root でグラフィカルアプリケーションを実行

Wayland セッションで su, sudo, pkexec を使って root でグラフィカルアプリケーション (例: GPartedGedit など) を実行しようとした場合、以下のようなエラーが表示されます:

$ sudo gedit
No protocol specified
Unable to init server: Could not connect: Connection refused

(gedit:2349): Gtk-WARNING **: cannot open display: :0

Wayland 以前では、特権による GUI アプリケーションの実行は Polkit ポリシーを作成して正しく実装するか、あるいはターミナルでコマンドの前に sudo を付けて危なっかしく実行するようになっていましたが、(X)Wayland ではデフォルトでこのようなことはできなくなっています。クライアントの接続を許可されるのは X サーバーを起動したユーザーだけです (バグレポート[2] [3], [4] を参照)。

回避策としては xhost を使うことで root ユーザーに対して一時的にローカルユーザーの X セッションへのアクセスを許可できます。非特権ユーザーで以下のコマンドを実行してください [5]:

$ xhost si:localuser:root

アプリケーションを閉じた後に許可を取り消すには:

$ xhost -si:localuser:root
ノート: GNOME のバグレポート では他にも2つの方法が提案されており、片方はテキストファイルの編集で使えます。

LLVM assertion failure

LLVM assertion failure になるときは、この問題が修正されるまで Gallium LLVM なしで mesa をリビルドする必要があります。

これは LLVM を必要とするドライバを無効にしてしまう可能性があります。ハードウェアドライバに問題が発生するときは、以下の export を試して下さい:

$ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so

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

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

参照