Wayland

提供: ArchWiki
2015年1月5日 (月) 19:59時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:X サーバー es:Wayland en:Wayland fr:Wayland ru:Wayland zh-CN:Wayland {{Related articles start (日本語)}} {{Related2|Kernel Mode Se...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

テンプレート:Related articles start (日本語)

  • KMS
  • Xorg
  • Mir
  • カーソルテーマ
  • 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
    

    参照