Wayland入门教程08.03:XServer

系列索引地址:Wayland入门教程索引

上一篇:Wayland入门教程08.02:运行测试程序

本文译自:xserver

Wayland下X clients(XWayland)

Wayland本身是一个完整的窗口系统,但即便如此,如果我们要从X迁移,有一个良好的向后兼容性故事是有意义的。只要有一些更改,Xorg服务器就可以被修改为使用wayland输入设备进行输入,并将根窗口或单个顶级窗口作为wayland表面进行转发。服务器仍然运行相同的2D驱动程序,并具有与本地运行时相同的加速代码。主要的区别是wayland处理窗口的表示,而不是KMS。

x-on-wayland

编译XWayland

查看Wayland入门教程08.02:运行测试程序

libepoxy

XWayland服务端依赖libepoxy

1
2
3
4
5
git clone https://github.com/anholt/libepoxy.git
cd libepoxy
./autogen.sh --prefix=$WLD
make && make install
cd ..

X Server

XWayland支持已于2014年4月4日并入主X.Org分支,并与xserver1.16一起首次发布。已经不再需要单独的X.Org video ddxes了。有了这个配置,将只安装Xwayland二进制文件和少数其他文件:

1
2
3
4
5
6
7
git clone git://cgit.freedesktop.org/xorg/xserver
cd xserver
./autogen.sh --prefix=$WLD --disable-docs --disable-devel-docs \
--enable-xwayland --disable-xorg --disable-xvfb --disable-xnest \
--disable-xquartz --disable-xwin
make && make install
cd ..

路径

没有这个,您将得到错误“XKB:Failed to compile keymap”。Weston使用xconfig-keyboard来查找这些文件,但XServer需要这些链接:

1
2
3
mkdir -p $WLD/share/X11/xkb/rules
ln -s /usr/share/X11/xkb/rules/evdev $WLD/share/X11/xkb/rules/
ln -s /usr/bin/xkbcomp $WLD/bin/

weston.ini

将下文添加到~/.config/weston.ini(或者使用–xwayland命令行参数)

1
2
[core]
xwayland=true

如果weston的xwayland的默认搜索路径不正确,您需要通过weston编译选项xwayland-path或将其添加到~/.config/weston.ini来修复它:

1
2
[xwayland]
path=/path/to/bin/Xwayland

运行

按照Wayland入门教程08.02:运行测试程序在X下运行Weston,或者运行weston-launch在KMS/DRM/X外。

Weston日志输出将包括“xserver listening on display :1”。在Weston终端内,你会发现$DISPLAY已经设置。运行任何X客户端。

Weston侦听X套接字,直到客户端尝试连接,然后启动X服务器。

下一篇:Wayland入门教程08.04:hello world


Wayland入门教程08.03:XServer
https://blog.jackeylea.com/wayland/introduction-of-wayland-xserver/
作者
JackeyLea
发布于
2021年9月28日
许可协议