「Wayland」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:X サーバー es:Wayland en:Wayland fr:Wayland ru:Wayland zh-CN:Wayland {{Related articles start (日本語)}} {{Related2|Kernel Mode Se...」)
 
5行目: 5行目:
 
[[ru:Wayland]]
 
[[ru:Wayland]]
 
[[zh-CN:Wayland]]
 
[[zh-CN:Wayland]]
{{Related articles start (日本語)}}
+
{{Related articles start}}
 
{{Related2|Kernel Mode Setting|KMS}}
 
{{Related2|Kernel Mode Setting|KMS}}
 
{{Related|Xorg}}
 
{{Related|Xorg}}
{{Related|Mir}}
+
{{Related4|Mir}}
 
{{Related|カーソルテーマ}}
 
{{Related|カーソルテーマ}}
 
{{Related articles end}}
 
{{Related articles end}}
228行目: 228行目:
   
 
===Hawaii===
 
===Hawaii===
[[Hawaii (日本語)|Hawaii]] の記事を見て下さい。
+
[[Hawaii|Hawaii]] の記事を見て下さい。
   
 
=== Pure Wayland ===
 
=== Pure Wayland ===

2015年1月14日 (水) 14:08時点における版

関連記事

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

警告: Wayland は開発途上です。サポートはありませんし、あなたの期待通りに動作するとは限りません。

要件

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

インストール

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

使用方法

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

Weston

インストール

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

使用方法

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

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

$ weston

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

$ weston-launch

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

$ weston-terminal

画面に花を散らすには:

$ weston-flower 

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

$ weston-gears

画像を表示するには:

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

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

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

設定

キーボードレイアウト・モジュール・UI の設定ファイルの例です。詳しくは man weston.ini を見て下さい。

~/.config/weston.ini
[core]
### uncomment this line for xwayland support ###
#modules=desktop-shell.so,xwayland.so

[shell]
background-image=/usr/share/backgrounds/gnome/Aqua.jpg
background-color=0xff002244
panel-color=0x90ff0000
locking=true
animation=zoom
#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

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

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

[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

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

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/arts.png
path=./clients/flower

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

[input-method]
path=/usr/libexec/weston-keyboard

###  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

最小設定の weston.ini:

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

[keyboard]
keymap_layout=gb

[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

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

XWayland

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

Weston の中で X アプリケーションを動かすには、Xwayland を使ってリクエストを処理します。

ノート: Weston 1.4 以前では新しい Xwayland をサポートしていません。また、GNOME 3.12 もまだ対応していません。

Wayland の中でネイティブの X アプリケーションを動かしたい場合、以下の設定ファイルを作成・修正してください:

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

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

wayland で GNOME 3.12 を動かしたい場合は、多少のハックが必要です。このガイド を参照してください。

GUI ライブラリ

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

GTK+

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

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

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

Qt5

qt5-base-opengl es2 でリビルドするか (現在は使えません、http://lists.qt-project.org/pipermail/development/2013-December/014789.html を参照) もしくは qt5-base-gitAUR を使う必要があります。それから wayland のプラグイン qt5-wayland-gitAUR をビルドしてください。

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

Clutter

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

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

SDL

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

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

glfw

バージョン 3.1 から wayland をサポートする予定です。コンパイルフラグで有効にします。それまでは AUR からパッケージ glfw3-gitAUR をインストールして cmake のフラグに -DGLFW_USE_WAYLAND=ON を追加してください。

EFL

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

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

KDE

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

GNOME

バージョン 3.12 で Gnome は実験的に Wayland をサポートしていますが、xorg-server-xwayland をインストールする必要があります。 また、新しい Xwayland DDX を使用する mutter-wayland スナップショットをインストールしてください。以下の2つのファイルを使って makepkg でパッケージをリビルドできます。

PKGBUILD

mutter-wayland.install

オープンソースドライバーならどれを使っていても、GDM から特別セッションとして "Gnome on Wayland" を起動できます。

i3

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

Hawaii

Hawaii の記事を見て下さい。

Pure Wayland

警告: Arch Linux で純粋な (X11 を使わない) 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

ノート: 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

トラブルシューティング

LLVM assertion failure

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

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

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

参照