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

From ArchWiki
Jump to: navigation, search
(update translation)
Line 7: Line 7:
 
{{Article summary wiki|Xorg (简体中文)}}
 
{{Article summary wiki|Xorg (简体中文)}}
 
{{Article summary end}}
 
{{Article summary end}}
{{TranslationStatus (简体中文)|Wayland|2013-03-07|249323}}
+
{{TranslationStatus (简体中文)|Wayland|2013-03-19|251052}}
 
'''Wayland''' 是 Linux 的一个新的图形接口协议,目的是替代有 25 年历史的 X11 Server。使用 Wayland 需要更改或重新安装一部分系统中的软件。更多关于 Wayland 的信息参见 [http://wayland.freedesktop.org/ 主页]。
 
'''Wayland''' 是 Linux 的一个新的图形接口协议,目的是替代有 25 年历史的 X11 Server。使用 Wayland 需要更改或重新安装一部分系统中的软件。更多关于 Wayland 的信息参见 [http://wayland.freedesktop.org/ 主页]。
  
Line 19: Line 19:
  
 
== 使用 ==
 
== 使用 ==
Wayland 仅仅是一个库,无法单独工作。因此使用 Wayland 需要有混合程序(weston), Weston 演示程序、Qt5 或打开 QPA 的 Qt4 库外加 Wayland 插件,还可以选择使用有 Wayland 支持的 GTK+ 库。
+
Wayland 仅仅是一个库,无法单独工作。因此使用 Wayland 需要有混合程序(weston), Weston 演示程序、Qt5 Wayland 插件,还可以选择使用有 Wayland 支持的 GTK+ 库。
  
 
== Weston ==
 
== Weston ==
Line 50: Line 50:
 
  $ weston-view doc1.pdf doc2.pdf...
 
  $ weston-view doc1.pdf doc2.pdf...
  
== Qt ==
+
== 图形库 ==
 +
([http://wayland.freedesktop.org/toolkits.html page from official website])
  
=== 安装 ===
+
===GTK+===
安装 {{Pkg|qt5-base}}.
+
[extra]软件仓库中的{{pkg|gtk3}} 已经提供了 Wayland 支持.  
  
=== 使用 ===
+
GTK+ 3.0 开始,GTK+ 可以在运行时同时支持多个后端,和 Qt 一样进行切换。
首先,你需要有一个像之前运行 demo 程序的 Wayland compositor,或者一个实验性版本的 KWin 亦可。
+
  
然后用 qmake 来编译 Qt 工程
+
Wayland 和 X 后端都启用时,GTK+ 默认会使用 X11。可以通过把<code>GDK_BACKEND</code>环境变量设为<code>wayland</code>来改变这一规则。
$ qmake
+
$ make
+
  
指定编译库,运行程序
+
如果出现 segment faults,删除{{pkg|libcanberra}}。0.31.0 之后的版本已经修复了这个问题。 [http://git.0pointer.de/?p=libcanberra.git;a=commit;h=c0620e432650e81062c1967cc669829dbd29b310 链接]。
$ export QT_QPA_PLATFORM=waylandgl
+
$ ./binaryname
+
  
=== Qt Compositor ===
+
=== Qt5 ===
有一个正在进行的 [http://labs.qt.nokia.com/2011/03/18/multi-process-lighthouse/ Qt-Compositor] 工程,它的目的在于在 Wayland 基础之上实现 Qt Compositor 层。
+
  
== 其他 GUI 库 ==
+
=== 安装 ===
参见([http://wayland.freedesktop.org/toolkits.html 来自官方网站的页面])
+
安装 {{Pkg|qt5-base}} 和 wayland 插件 - {{aur|qt5-qtwayland-git}}.
  
===GTK+===
+
要使用 wayland 插件运行程序,需要将 QT_QPA_PLATFORM 环境变量设置为 waylandgl。
[testing]软件仓库中的{{pkg|gtk3}}GTK+ 已经提供了 Wayland 支持. GTK+ 默认会使用 X11。可以通过把<code>GDK_BACKEND</code>环境变量设为<code>wayland</code>来改变这一规则。
+
$ export QT_QPA_PLATFORM=waylandgl
 +
$ ./binaryname
  
 
===Clutter===
 
===Clutter===
Line 92: Line 88:
 
===GNOME===
 
===GNOME===
 
GNOME 将在未来的版本中移植到 Wayland 上。
 
GNOME 将在未来的版本中移植到 Wayland 上。
 
===Unity===
 
Ubuntu 桌面 shell Unity 以 Compiz 为窗口管理器, 后者已经被移植到了 Wayland 上 [http://www.markshuttleworth.com/archives/551 announced]。
 
 
===Pure Wayland===
 
 
{{Warning|Some really quick notes on installing a pure (no X11) wayland system on Archlinux. This is from source and installed into /usr/local. May break your system. You have been warned. (by elethiomel@gmail.com)}}
 
 
First install a base Archlinux install with base and base-devel. Do not install xorg or any of its libraries
 
 
===== Wayland =====
 
 
$ pacman -S libffi
 
$ git clone git://anongit.freedesktop.org/wayland/wayland
 
$ cd wayland
 
$ ./autogen.sh --prefix=/usr/local
 
$ make
 
$ make install
 
 
===== DRM and Mesa =====
 
 
$ git clone git://anongit.freedesktop.org/git/mesa/drm
 
$ cd drm
 
$ ./autogen.sh --prefix=/usr/local
 
$ make
 
$ make install
 
 
$ 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
 
$ make install
 
 
===== xorg-macros =====
 
 
$ git clone http://anongit.freedesktop.org/git/xorg/util/macros.git
 
$ cd macros/
 
$ ./autogen.sh --prefix=/usr/local/
 
$ make
 
$ make install
 
 
===== libxkbcommon =====
 
 
$ git clone git://people.freedesktop.org/xorg/lib/libxkbcommon.git
 
$ cd libxkbcommon/
 
$ export ACLOCAL_PATH=/usr/local/share/aclocal/
 
$ ./autogen.sh --prefix=/usr/local/ --with-xkb-config-root=/usr/local/share/X11/xkb
 
$ make
 
$ make install
 
 
===== pixman =====
 
 
$ git clone git://anongit.freedesktop.org/pixman
 
$ cd pixman/
 
$ ./autogen.sh --prefix=/usr/local/
 
$ make
 
$ make install
 
 
 
===== cairo =====
 
 
Note - no glx/gl or xcb - EGL only.
 
 
$ 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
 
$ make install
 
 
===== xkb files =====
 
 
Either
 
 
a) Copy from an existing system a set of xkb layouts
 
 
$ scp -r /usr/share/X11/xkb to /usr/local/share/X11/
 
 
or
 
 
b) build  {{ic|xkeyboard-config}} from git with {{ic|--prefix&#61;/usr/local}} and {{ic|--disable-runtime-deps}}
 
 
===== weston =====
 
 
$ git clone git://anongit.freedesktop.org/wayland/weston
 
$ cd weston/
 
$ CFLAGS="-I/usr/local/include/libdrm/ -DMESA_EGL_NO_X11_HEADERS" ./autogen.sh --prefix=/usr/local/ --with-cairo-glesv2 --disable-xwayland --disable-x11-compositor --disable- xwayland-test
 
$ make
 
$ make install
 
  
 
==问题解决==
 
==问题解决==

Revision as of 10:00, 19 March 2013

摘要 help replacing me
关于安装和运行 Wayland 显示服务器的指南。
相关页面
Kernel Mode Setting (简体中文)
Xorg (简体中文)
翻译状态: 本文是英文页面 Wayland翻译,最后翻译时间:2013-03-19,点击这里可以查看翻译后英文页面的改动。

Wayland 是 Linux 的一个新的图形接口协议,目的是替代有 25 年历史的 X11 Server。使用 Wayland 需要更改或重新安装一部分系统中的软件。更多关于 Wayland 的信息参见 主页

警告: Wayland虽然已经发布了1.0.0版,稳定了接口,但各种应用仍然还需要一定时间来适应它,故而目前暂时难以达到替代x11的效果

系统需求

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

安装

Wayland 应该已经作为gtk2gtk3的依赖安装到系统里面。如果没有,可以从 extra 安装软件包wayland

使用

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

Weston

安装

从 community 安装 weston

如果出现错误: "Failed to create XKB context",请安装 xkeyboard-config.

使用

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

 $ weston-launch

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

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

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

接下来你就可以在 TTY 下打开 wayland 的终端:

$ weston-terminal

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

$ weston-flower 

在 Wayland 上运行 glxgears 程序:

$ weston-gears 

显示图片:

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

显示 PDF 文件:

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

图形库

(page from official website)

GTK+

[extra]软件仓库中的gtk3 已经提供了 Wayland 支持.

GTK+ 3.0 开始,GTK+ 可以在运行时同时支持多个后端,和 Qt 一样进行切换。

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

如果出现 segment faults,删除libcanberra。0.31.0 之后的版本已经修复了这个问题。 链接

Qt5

安装

安装 qt5-base 和 wayland 插件 - qt5-qtwayland-gitAUR.

要使用 wayland 插件运行程序,需要将 QT_QPA_PLATFORM 环境变量设置为 waylandgl。

$ export QT_QPA_PLATFORM=waylandgl
$ ./binaryname

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

在早期的工作中提供了在 Wayland 上运行 KWin (KDE 窗口管理器)的方法。

GNOME

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

问题解决

更多信息

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