Wayland (日本語)

From ArchWiki
Jump to: navigation, search
概要
Wayland ディスプレイサーバーのインストールと動作ガイド。
関連項目
Kernel Mode Setting (日本語)
Xorg (日本語)

Wayland は Linux の新しいウィンドウプロトコルです。Wayland を利用するためには一部のソフトウェアの変更と再インストールが必要になります。Wayland について詳しくはホームページを見て下さい。

Warning: Wayland はいまだ開発中です。サポートはありませんし、あなたの期待通りに動作するとは限りません。

Contents

要件

今のところ Wayland は KMS を利用しているシステムでしか動作できません。

インストール

ほとんどの場合 gtk2gtk3 の依存パッケージとして既に間接的に Wayland がインストールされているはずです。インストールされていない場合、公式リポジトリの extra から wayland をインストールしてください。

使用方法

Wayland はただのライブラリなので、それだけでは使い物になりません。利用するには、(Weston などの) コンポジタ、Weston デモアプリケーション、Wayland プラグインの入った Qt5、Wayland をサポートした GTK+ などが必要です。

Weston

インストール

community から weston をインストールする必要があります。

使用方法

Weston をインストールしたのなら Wayland をテストする環境が整っているはずです。ターミナルを切り替えて次を実行してください:

$ weston-launch
Note: Weston を起動するには video グループに入っている必要があります; このコマンドは root で動作させることをサポートしていません。root で実行すると VT がフリーズするかもしれません。
Note: LLVM assertion failure になるときは(暫定的な処置として) Gallium LLVM なしで mesa をリビルドする必要があります。これは LLVM を必要とするドライバを無効にしてしまう可能性があります。

ハードウェアドライバに問題が発生するときは、以下の export を試して下さい:

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

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

$ weston

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

$ weston-terminal

画面に花を散らすには:

$ weston-flower 

フレームプロトコルをテストするには (glxgears を実行):

$ weston-gears

画像を表示するには:

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

PDF ファイルを表示するには:

$ weston-view doc1.pdf doc2.pdf...

設定

キーボードレイアウト・モジュール・UI の設定ファイルの例:

~/.config/weston.ini
[keyboard]
keymap_layout=en

[shell]
type=desktop-shell.so
background-image=/path/to/your/wallpaper.jpg
background-color=0xff002244
panel-color=0x90ff0000
locking=true
animation=zoom
binding-modifier=ctrl
num-workspaces=6

#type=tablet-shell.so
#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

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

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

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

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

#[output]
#name=VGA1
#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
#transform=flipped

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

XWayland

Wayland をサポートしていない X アプリケーションを動かしたい場合、xorg-server-xwayland-git とあなたの環境に合わせてパッチがあてられたグラフィックドライバ (例: xf86-video-intel-xwayland-git) もしくは xf86-video-wlglamor-git の一般的な wlglamor フォールバックをインストールする必要があります。インストール後、以下の設定ファイルを作成・修正してください:

~/.config/weston.ini
[core]
modules=xwayland.so,desktop-shell.so

これで X アプリケーションを"互換モード"で動作させることができます。

GUI ライブラリ

(公式ウェブサイトのページ)

GTK+

extra から gtk3 をインストールしてください、Wayland のバックエンドが有効になっています。

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

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

Qt5

qt5-base と wayland プラグイン qtwayland-git をインストールする必要があります。

Wayland プラグインを使って Qt5 アプリケーションを動作させるには QT_QPA_PLATFORM=wayland-egl をセットして下さい。

Clutter

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

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

SDL

Benjamin Franzke が Wayland に SDL を移植する作業を行なっています。freedesktop.org にある彼の sdl-wayland リポジトリ からその成果を入手可能です。Benjamins が作ったものに Andre Heider が変更を加えたものが彼の libsdl の wayland branch にあります。また、Scott Moreau が 1.0 プロトコルで動作するようにライブラリを修正しました。彼の成果は SDL リポジトリの wayland branch にあります。

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

EFL

EFL は Wayland を完全にサポートしています。詳しくはこちらを読んで下さい。

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

KDE

KDE 4.11 beta から Wayland システムコンポジタの下で KWin を動かせるように なっています。今の所 KWin をセッションコンポジタとして使うためのサポートはありません。

GNOME

バージョン 3.10 から、Gnome は実験的に Wayland をサポートしていますが Mutter を動作させるには xwayland-git と適切なパッチがあてられたグラフィックドライバ (例: xf86-video-intel-xwayland-git) をインストールする必要があります。詳しくは GNOME Wiki を見て下さい。

gnome-session --session=gnome-wayland

i3

i3 の開発者によって Weston 用に i3 と同じ機能・スタイルを実装するシェルプラグインを作成する全く新しいプロジェクトが始められています

純粋なWayland

Warning: 非常に簡易なArch Linuxで純粋なX無しのWaylandシステムをインストールする手順です。 これはソースからコンパイルして /usr/local にインストールします。 あなたのシステムを破壊するかもしれません。 注意しておきます。

まず初めに、基本的なArch Linuxのインストールを行い、baseとbase-develをインストールして下さい。xorgやそのライブラリはインストールしないで下さい。

Wayland, DRM, Pixman, libxkbcommon
$ pacman -S wayland libdrm pixman libxkbcommon
Mesa
$ sudo pacman -S python2 libxml2 llvm
$ git clone git://anongit.freedesktop.org/mesa/mesa
$ cd mesa
$ CFLAGS=-DMESA_EGL_NO_X11_HEADERS ./autogen.sh --prefix=/usr/local --enable-gles2 --disable-gallium-egl --with-egl-platforms=wayland,drm --enable-gbm --enable-shared-glapi --with-gallium-drivers=r300,r600,swrast,nouveau --disable-glx --disable-xlib
$ make
$ sudo make install
cairo
Note: glx/glやxcbではなく、EGLだけです。
$ pacman -S libpng
$ git clone git://anongit.freedesktop.org/cairo
$ cd cairo
$ CFLAGS=-DMESA_EGL_NO_X11_HEADERS ./autogen.sh --prefix=/usr/local/  --disable-xcb  --enable-glesv2 
$ make
$ sudo make install
weston
$ sudo pacman -S gegl mtdev
(libglにはオプションからmesa-glを選択して下さい)
$ git clone git://anongit.freedesktop.org/wayland/weston
$ cd weston/
$ CFLAGS="-DMESA_EGL_NO_X11_HEADERS" ./autogen.sh --prefix=/usr/local/ --with-cairo-glesv2 --disable-xwayland --disable-x11-compositor --disable-xwayland-test
$ make
$ sudo make install

関連項目

外部リンク