Wayland (简体中文)

From ArchWiki
Revision as of 01:20, 7 March 2013 by Fengchao (Talk | contribs) (update translation)

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

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

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

系统需求

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

安装

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

使用

Wayland 仅仅是一个库,无法单独工作。因此使用 Wayland 需要有混合程序(weston), Weston 演示程序、Qt5 或打开 QPA 的 Qt4 库外加 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...

Qt

安装

安装 qt5-base.

使用

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

然后用 qmake 来编译 Qt 工程

$ qmake
$ make

指定编译库,运行程序

$ export QT_QPA_PLATFORM=waylandgl
$ ./binaryname

Qt Compositor

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

其他 GUI 库

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

GTK+

[testing]软件仓库中的gtk3GTK+ 已经提供了 Wayland 支持. GTK+ 默认会使用 X11。可以通过把GDK_BACKEND环境变量设为wayland来改变这一规则。

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 上。

Unity

Ubuntu 桌面 shell Unity 以 Compiz 为窗口管理器, 后者已经被移植到了 Wayland 上 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 xkeyboard-config from git with --prefix=/usr/local and --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

问题解决

更多信息

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