Difference between revisions of "Wayland (简体中文)"

From ArchWiki
Jump to navigation Jump to search
m (Update translation status.)
(Update translation.)
Line 7: Line 7:
 
{{Article summary wiki|Xorg (简体中文)}}
 
{{Article summary wiki|Xorg (简体中文)}}
 
{{Article summary end}}
 
{{Article summary end}}
{{TranslationStatus (简体中文)|Wayland|2012-06-30|211576}}
+
{{TranslationStatus (简体中文)|Wayland|2012-09-25|224527}}
'''Wayland''' 是 Linux 的一个新的窗口协议。使用 Wayland 需要更改或重新安装一部分系统中的软件。因此本文假设你已经熟悉 [[Arch Build System (简体中文)|ABS]],或者至少理解 [[PKGBUILD (简体中文)|PKGBUILD]] 和 [[makepkg (简体中文)|makepkg]]背后的工作方式。更多关于 Wayland 的信息参见 [http://wayland.freedesktop.org/ 主页]。
+
'''Wayland''' 是 Linux 的一个新的窗口协议。使用 Wayland 需要更改或重新安装一部分系统中的软件。更多关于 Wayland 的信息参见 [http://wayland.freedesktop.org/ 主页]。
  
{{警告|Wayland 还处于火热的开发之中,目前仍然是一个早期试验版本。故而不能提供足够的支持,也难以达到期望的效果}}
+
{{警告|Wayland 还处于火热的开发之中。故而不能提供足够的支持,也难以达到期望的效果}}
  
 
== 系统需求 ==
 
== 系统需求 ==
Line 19: Line 19:
  
 
== 使用 ==
 
== 使用 ==
Wayland 仅仅是一个库,无法单独工作。因此使用 Wayland 需要有混合程序(weston), Weston 演示程序、QPA(Lighthouse) 支持的 Qt 库外加 Wayland 插件,还可以选择使用有 Wayland 支持的 GTK 库。
+
Wayland 仅仅是一个库,无法单独工作。因此使用 Wayland 需要有混合程序(weston), Weston 演示程序、Qt5 或打开 QPA 的 Qt4 库外加 Wayland 插件,还可以选择使用有 Wayland 支持的 GTK+ 库。
  
 
== Weston ==
 
== Weston ==
 
=== 安装 ===
 
=== 安装 ===
编译和安装 [[AUR (简体中文)|AUR]] 上的 {{AUR|cairo-gl-git}}, {{AUR|libxkbcommon-git}} 和 {{AUR|weston-git}} 包。
+
编译和安装 [[AUR (简体中文)|AUR]] 上的 {{AUR|weston-git}} 包。
  
 
=== 使用 ===
 
=== 使用 ===
 
安装完了 Wayland 及它所信赖的包之后,就可以开始试用了。切换到终端,运行:
 
安装完了 Wayland 及它所信赖的包之后,就可以开始试用了。切换到终端,运行:
# weston
+
  $ weston-launch
 
注意如果不以 root 身份运行,可能会出现键盘或是鼠标失灵的情况。
 
注意如果不以 root 身份运行,可能会出现键盘或是鼠标失灵的情况。
  
 
如果 nouveau 驱动有问题,可以尝试运行:
 
如果 nouveau 驱动有问题,可以尝试运行:
# EGL_DRIVER=/usr/lib/egl/egl_gallium.so
+
  $ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so
  
 
接下来你就可以在 TTY 下运行 demo:
 
接下来你就可以在 TTY 下运行 demo:
  # weston-terminal
+
  $ weston-terminal
 
将会打开 wayland 的终端
 
将会打开 wayland 的终端
  
  # weston-flower  
+
  $ weston-flower  
 
在屏幕上移动一朵花儿,用以测试帧控制功能。
 
在屏幕上移动一朵花儿,用以测试帧控制功能。
  
  # weston-gears  
+
  $ weston-gears  
 
在 Wayland 上运行 glxgears 程序。
 
在 Wayland 上运行 glxgears 程序。
  
  # weston-image image1.jpg image2.jpg...
+
  $ weston-image image1.jpg image2.jpg...
 
显示图片
 
显示图片
  
  # weston-view doc1.pdf doc2.pdf...
+
  $ weston-view doc1.pdf doc2.pdf...
 
显示 PDF 文件
 
显示 PDF 文件
  
Line 58: Line 58:
  
 
然后用 qmake 来编译 Qt 工程
 
然后用 qmake 来编译 Qt 工程
  # export PATH=/opt/qt-qpa/bin:$PATH
+
  $ export PATH=/opt/qt-qpa/bin:$PATH
  # export LD_LIBRARY_PATH=/opt/qt-qpa/lib
+
  $ export LD_LIBRARY_PATH=/opt/qt-qpa/lib
  # qmake
+
  $ qmake
  # make
+
  $ make
  
 
指定编译库,运行程序
 
指定编译库,运行程序
  # export LD_LIBRARY_PATH=/opt/qt-qpa/lib
+
  $ export LD_LIBRARY_PATH=/opt/qt-qpa/lib
  # export QT_QPA_PLATFORM=waylandgl
+
  $ export QT_QPA_PLATFORM=waylandgl
  # ./binaryname
+
  $ ./binaryname
  
 
=== Qt Compositor ===
 
=== Qt Compositor ===
Line 76: Line 76:
 
===GTK+===
 
===GTK+===
 
从 GTK+ 3.0 开始,GTK+ 开始有运行时多个后端支持,就像有 lighthouse 支持的 Qt 一样。 GTK+ 开发中提供了 Wayland 支持,但默认没有开启。要在 Wayland 上尝试 GTK+,请以<code>--enable-wayland</code> 来配置并重新编译 GTK+ 源码:
 
从 GTK+ 3.0 开始,GTK+ 开始有运行时多个后端支持,就像有 lighthouse 支持的 Qt 一样。 GTK+ 开发中提供了 Wayland 支持,但默认没有开启。要在 Wayland 上尝试 GTK+,请以<code>--enable-wayland</code> 来配置并重新编译 GTK+ 源码:
  # git clone git://git.gnome.org/gtk+
+
  $ git clone git://git.gnome.org/gtk+
  # cd gtk+
+
  $ cd gtk+
  # ./configure --prefix=/usr --enable-x11-backend --enable-wayland-backend --enable-debug=yes
+
  $ ./configure --prefix=/usr --enable-x11-backend --enable-wayland-backend --enable-debug=yes
  # make
+
  $ make
  
 
当同时支持 Wayland 和 X 后端时,GTK+ 默认会使用 X11。可以通过把<code>GDK_BACKEND</code>环境变量设为<code>wayland</code>来改变这一规则。
 
当同时支持 Wayland 和 X 后端时,GTK+ 默认会使用 X11。可以通过把<code>GDK_BACKEND</code>环境变量设为<code>wayland</code>来改变这一规则。
Line 90: Line 90:
 
===SDL===
 
===SDL===
  
Benjamin Franzke 将 SDL 移植到 Wayland 上, 可以从freedesktop.org [http://cgit.freedesktop.org/~bnf/sdl-wayland/ sdl-wayland repo]处获得。
+
Benjamin Franzke 将 SDL 移植到 Wayland 上, 可以从freedesktop.org [http://cgit.freedesktop.org/~bnf/sdl-wayland/ sdl-wayland repo]处获得。Andre Heider 接着 Benjamin Franzke 的工作进行开发,代码在libsdl 的 [https://github.com/dhewg/libsdl/tree/wl wayland 分支]。
  
 
===EFL===
 
===EFL===
Line 109: Line 109:
  
 
==问题解决==
 
==问题解决==
 
===游标不显示===
 
 
确保{{ic|~/.icons/default/}}中有文件{{ic|index.theme}},里面设置了游标主题,详情参见[[X11_Cursors]].如果没有,需要手动创建:
 
{{hc|1=~/.icons/default/index.theme|2=
 
Name=Default
 
Comment=Default Theme
 
Inherits=Vanilla-DMZ
 
}}
 
  
 
==更多信息==
 
==更多信息==
 +
* [[Cursor Themes]]
 
[https://bbs.archlinux.org/viewtopic.php?id=107499 forum discussion] 页面将持续关注 Wayland 信息 ,如有兴趣请留意。
 
[https://bbs.archlinux.org/viewtopic.php?id=107499 forum discussion] 页面将持续关注 Wayland 信息 ,如有兴趣请留意。

Revision as of 01:49, 26 September 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

翻译状态: 本文是英文页面 Wayland翻译,最后翻译时间:2012-09-25,点击这里可以查看翻译后英文页面的改动。

Wayland 是 Linux 的一个新的窗口协议。使用 Wayland 需要更改或重新安装一部分系统中的软件。更多关于 Wayland 的信息参见 主页

警告: Wayland 还处于火热的开发之中。故而不能提供足够的支持,也难以达到期望的效果

系统需求

目前 Wayland 只能在使用了 KMS 的系统上工作。

安装

你需要从 AUR 中编译并安装 wayland-gitAURmesa-full-waylandAUR。由于目前 Mesa 主开发进程还不支持 Wayland,替换其是必需的。

使用

Wayland 仅仅是一个库,无法单独工作。因此使用 Wayland 需要有混合程序(weston), Weston 演示程序、Qt5 或打开 QPA 的 Qt4 库外加 Wayland 插件,还可以选择使用有 Wayland 支持的 GTK+ 库。

Weston

安装

编译和安装 AUR 上的 weston-gitAUR 包。

使用

安装完了 Wayland 及它所信赖的包之后,就可以开始试用了。切换到终端,运行:

 $ weston-launch

注意如果不以 root 身份运行,可能会出现键盘或是鼠标失灵的情况。

如果 nouveau 驱动有问题,可以尝试运行:

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

接下来你就可以在 TTY 下运行 demo:

$ weston-terminal

将会打开 wayland 的终端

$ weston-flower 

在屏幕上移动一朵花儿,用以测试帧控制功能。

$ weston-gears 

在 Wayland 上运行 glxgears 程序。

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

显示图片

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

显示 PDF 文件

Qt

安装

安装 AUR 上的 qt-qpaAUR 包。它包括了有 QPA (Lighthouse)支持的 Qt 4.8 开发环境。由于与无 QPA 支持的 Qt 版本可执行文件冲突,它被安装在 /opt/qt-qpa 路径下。

使用

首先,你需要有一个像之前运行 demo 程序的 Wayland compositor,或者一个实验性版本的 KWin 亦可。

然后用 qmake 来编译 Qt 工程

$ export PATH=/opt/qt-qpa/bin:$PATH
$ export LD_LIBRARY_PATH=/opt/qt-qpa/lib
$ qmake
$ make

指定编译库,运行程序

$ export LD_LIBRARY_PATH=/opt/qt-qpa/lib
$ export QT_QPA_PLATFORM=waylandgl
$ ./binaryname

Qt Compositor

有一个正在进行的 Qt-Compositor 工程,它的目的在于在 Wayland 基础之上实现 Qt Compositor 层。

其他 GUI 库

参见(来自官方网站的页面)

GTK+

从 GTK+ 3.0 开始,GTK+ 开始有运行时多个后端支持,就像有 lighthouse 支持的 Qt 一样。 GTK+ 开发中提供了 Wayland 支持,但默认没有开启。要在 Wayland 上尝试 GTK+,请以--enable-wayland 来配置并重新编译 GTK+ 源码:

$ git clone git://git.gnome.org/gtk+
$ cd gtk+
$ ./configure --prefix=/usr --enable-x11-backend --enable-wayland-backend --enable-debug=yes
$ make

当同时支持 Wayland 和 X 后端时,GTK+ 默认会使用 X11。可以通过把GDK_BACKEND环境变量设为wayland来改变这一规则。

注意: 也可以从AUR安装 gtk3-gitAUR

Clutter

Clutter 工具包有 Wayland 后端支持,可以作为 Wayland 程式运行。这一后端支持已经存在于开发主分支中main repo,可以以 --with-flavour=wayland来加以配置

SDL

Benjamin Franzke 将 SDL 移植到 Wayland 上, 可以从freedesktop.org sdl-wayland repo处获得。Andre Heider 接着 Benjamin Franzke 的工作进行开发,代码在libsdl 的 wayland 分支

EFL

EFL 已经完全支持 Wayland。请参考这里获取更多细节。

窗口管理器和桌面 shell

KDE

KDE 的 Wayland 支持分三个步骤实现,前两步的计划是在今年 KDE SC 4.8 和 4.9 开发过程中完成。详细信息请参考here

另外,early work 中提供了在 Wayland 上运行 KWin (KDE 窗口管理器)的方法。

GNOME

GNOME 将在未来的版本中移植到 Wayland 上。

Unity

Ubuntu 桌面 shell Unity 以 Compiz 为窗口管理器, 后者已经被移植到了 Wayland 上 announced

问题解决

更多信息

forum discussion 页面将持续关注 Wayland 信息 ,如有兴趣请留意。