「Wayland」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
12行目: 12行目:
 
{{Related articles end}}
 
{{Related articles end}}
 
'''Wayland''' は Linux の新しいウィンドウプロトコルです。Wayland を利用するためには一部のソフトウェアの変更と再インストールが必要になります。Wayland について詳しくは[http://wayland.freedesktop.org/ ホームページ]を見て下さい。
 
'''Wayland''' は Linux の新しいウィンドウプロトコルです。Wayland を利用するためには一部のソフトウェアの変更と再インストールが必要になります。Wayland について詳しくは[http://wayland.freedesktop.org/ ホームページ]を見て下さい。
 
{{Warning|Wayland は開発途上です。まだ機能は完全ではありません。}}
 
   
 
== 要件 ==
 
== 要件 ==
48行目: 46行目:
 
画像を表示するには:
 
画像を表示するには:
 
$ weston-image image1.jpg image2.jpg...
 
$ weston-image image1.jpg image2.jpg...
 
PDF ファイルを表示するには:
 
$ weston-view doc1.pdf doc2.pdf...
 
   
 
=== 設定 ===
 
=== 設定 ===
163行目: 158行目:
   
 
==== スクリーンキャスト録画 ====
 
==== スクリーンキャスト録画 ====
Weston にはスクリーンキャスト機能が備わっており、{{ic|Super + R}} キーを押すことで録画を開始・停止することができます。スクリーンキャストは Weston のカレントディレクトリ内の {{ic|capture.wcap}} ファイルに保存されます。
+
Weston にはスクリーンキャスト機能が備わっており、{{ic|Super+r}} キーを押すことで録画を開始・停止することができます。スクリーンキャストは Weston のカレントディレクトリ内の {{ic|capture.wcap}} ファイルに保存されます。
   
 
WCAP ファイルは Weston 専用のロスレス動画フォーマットで、フレーム間の差異だけを記録しています。記録されたスクリーンキャストを再生するには、WCAP ファイルをメディアプレイヤーが再生できるフォーマットに変換する必要があります。
 
WCAP ファイルは Weston 専用のロスレス動画フォーマットで、フレーム間の差異だけを記録しています。記録されたスクリーンキャストを再生するには、WCAP ファイルをメディアプレイヤーが再生できるフォーマットに変換する必要があります。
176行目: 171行目:
   
 
==== HiDPI ディスプレイ ====
 
==== HiDPI ディスプレイ ====
"Retina" または "[[HiDPI]]" のディスプレイでは以下を使用してください:
+
Retina または [[HiDPI]] のディスプレイでは以下を使用してください:
 
{{hc|~/.config/weston.ini|<nowiki>
 
{{hc|~/.config/weston.ini|<nowiki>
 
[output]
 
[output]
182行目: 177行目:
 
scale=2
 
scale=2
 
</nowiki>}}
 
</nowiki>}}
  +
  +
==== シェルのフォント ====
  +
  +
Weston はウィンドウのタイトルバーや時計などにデフォルトの sans-serif フォントを使用します。フォントを変更する方法は[[フォント設定#フォントの置き換え]]を見て下さい。
   
 
== GUI ライブラリ ==
 
== GUI ライブラリ ==
196行目: 195行目:
 
=== Qt5 ===
 
=== Qt5 ===
   
{{Pkg|qt5-wayland}} をインストルする必要があります。Wayland プラグインを使って Qt 5 アプリケーションを動作させるには環境変数 {{ic|1=QT_QPA_PLATFORM=wayland-egl}} をセットして下さい。
+
{{Grp|qt5}} パッケージは Waylandサポトしています。Wayland プラグインを使って Qt 5 アプリケーションを動作させるには環境変数 {{ic|1=QT_QPA_PLATFORM=wayland-egl}} をセットして下さい。
   
 
===Clutter===
 
===Clutter===
212行目: 211行目:
 
=== GLFW ===
 
=== GLFW ===
   
バージョン 3.1 から wayland を試験的にサポートしています。コンパイルフラグで有効にします。AUR からパッケージ {{AUR|glfw3-git}} をインストールして cmake のフラグに {{ic|-DGLFW_USE_WAYLAND&#61;ON}} を追加してください。
+
バージョン 3.1 から wayland を試験的にサポートしています。コンパイルフラグで有効にします。cmake のフラグに {{ic|-DGLFW_USE_WAYLAND&#61;ON}} を追加してください。AUR からパッケージ {{AUR|glfw-wayland-git}} をインストールすることもできます
   
 
===EFL===
 
===EFL===
233行目: 232行目:
 
===KDE===
 
===KDE===
   
KDE 4.11 から [http://blog.martin-graesslin.com/blog/2013/06/starting-a-full-kde-plasma-session-in-wayland/ Wayland システムコンポジタの下で KWin を動かせるように] なっています。今の所 KWin セッションコンポタとし使うサポートはありません。
+
KDE 4.11 から [http://blog.martin-graesslin.com/blog/2013/06/starting-a-full-kde-plasma-session-in-wayland/ Wayland システムコンポジタの下で KWin を動かせるように] なっています。[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland KDE Plasma 5.4] から、Wayland セッションのテクノロープレビューが初めリリースされましが今ところモバイルプラットフォムしか対象としておらず、Xorg ベースのデスクップを完全に置き換えることできません。
   
 
=== Loliwm ===
 
=== Loliwm ===

2015年11月15日 (日) 22:47時点における版

関連記事

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

要件

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

インストール

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

使用方法

Wayland はただのライブラリなので、それだけでは使い物になりません。X サーバーを置き換えるには、(Weston などの) コンポジタが必要です。

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

設定

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

~/.config/weston.ini
[core]
### uncomment this line for xwayland support ###
#modules=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=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 を使ってリクエストを処理させます。以下の設定ファイルを作成してください:

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

スクリーンキャスト録画

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

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

ファイルを webm に変換するには、次を実行:

$ wcap-decode capture.wcap --yuv4mpeg2 | vpxenc --target-bitrate=1024 --best -t 4 -o foo.webm -

ファイルを ogv に変換するには、次を実行:

$ wcap-decode capture.wcap --yuv4mpeg2 | theora_encode - -o cap.ogv

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 をサポートしています。Wayland プラグインを使って Qt 5 アプリケーションを動作させるには環境変数 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 を試験的にサポートしています。コンパイルフラグで有効にします。cmake のフラグに -DGLFW_USE_WAYLAND=ON を追加してください。AUR からパッケージ glfw-wayland-gitAUR をインストールすることもできます。

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" セッションを選択してください。

Hawaii

Hawaii の記事を見て下さい。

KDE

KDE 4.11 から Wayland システムコンポジタの下で KWin を動かせるように なっています。KDE Plasma 5.4 から、Wayland セッションのテクノロジープレビューが初めてリリースされましたが今のところモバイルプラットフォームしか対象としておらず、Xorg ベースのデスクトップを完全に置き換えることはできません。

Loliwm

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

sway

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

Velox

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

Orbital

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

Papyros Shell

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

Maynard

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

Motorcar

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

トラブルシューティング

LLVM assertion failure

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

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

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

1.7 にアップデートしてから Weston が起動しない

おそらく weston.ini によって desktop-shell.so モジュールがロードされているのが原因です。以前はこのモジュールが必要でしたが、現在は要らなくなっています。

モジュールを削除するには、以下のようになっている行を探して:

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

行から desktop-shell.so を削除してください:

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

weston+xwayland の chrome/chromium でマウスのクリックが効かない

Chrome/chromium は weston から起動することができますが、キーボードだけが動作し、マウスのクリックが動作しません。これは weston の バグ です。orbment など、他の wayland コンポジタなら Chrome は問題なく動作します。

参照