Wayland (日本語)
| 概要 |
|---|
| Wayland ディスプレイサーバーのインストールと動作ガイド。 |
| 関連項目 |
| Kernel Mode Setting (日本語) |
| Xorg (日本語) |
Wayland は Linux の新しいウィンドウプロトコルです。Wayland を利用するためには一部のソフトウェアの変更と再インストールが必要になります。Wayland について詳しくはホームページを見て下さい。
Contents |
要件
今のところ Wayland は KMS を利用しているシステムでしか動作できません。
インストール
ほとんどの場合 gtk2 や gtk3 の依存パッケージとして既に間接的に Wayland がインストールされているはずです。インストールされていない場合、公式リポジトリの extra から wayland をインストールしてください。
使用方法
Wayland はただのライブラリなので、それだけでは使い物になりません。利用するには、(Weston などの) コンポジタ、Weston デモアプリケーション、Wayland プラグインの入った Qt5、Wayland をサポートした GTK+ などが必要です。
Weston
インストール
community から weston をインストールする必要があります。
使用方法
Weston をインストールしたのなら Wayland をテストする環境が整っているはずです。ターミナルを切り替えて次を実行してください:
$ weston-launch
ハードウェアドライバに問題が発生するときは、以下の 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
まず初めに、基本的な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
$ 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