Gentoo’s road to Wayland in KDE

KWin in KDE SC 4.11 will include experimental support for Wayland, as you can read in the official 4.11 Beta 1 announcement:

KWin and Path to Wayland—Intial experimental support for Wayland was added to KWin. KWin also got many OpenGL improvements including support being added for creating an OpenGL 3.1 core context and robustness from using the new functionality provided by the GL_ARB_robustness extension. Numerous KWin optimizations are aimed at reducing CPU and memory overhead in the OpenGL backend. Some desktop effects have been re-written in JavaScript to ease maintenance.

As the Beta 1 is already available in the gentoo kde overlay you may ask what the current state is. You are right it is time to talk about it. I will try to serve you the facts.

Current state

Wayland is already packaged in portage (dev-libs/wayland), thanks to the x11 herd.

johu@elia ~ $ eix -s wayland
[I] dev-libs/wayland
     Available versions:  (~)0.95.0 (~)1.0.6 (~)1.1.0 {doc static-libs}
     Installed versions:  1.1.0(21:54:08 05.06.2013)(-doc -static-libs)
     Homepage:            http://wayland.freedesktop.org/
     Description:         Wayland protocol libraries

KWin 4.11 Beta 1 + KWin master (4.8.10 + 9999 ) has already a build option (USE flag) for wayland.

johu@elia ~ $ eix -s kwin
[I] kde-base/kwin
     Available versions:  (4) 4.10.3 (~)4.10.4 **4.10.49.9999^m[1] [M](~)4.10.80^m[1] (**)9999^m[1]
       {aqua debug gles opengl wayland}
     Installed versions:  9999(4)^m[1](22:14:15 18.06.2013)(gles opengl wayland -aqua -debug)
     Homepage:            http://www.kde.org/
     Description:         KDE window manager

It builds and links already successfully against it.

johu@elia ~ $ scan kwin
dev-libs/wayland-1.1.0
dev-qt/qtcore-4.8.4-r5
dev-qt/qtdbus-4.8.4
dev-qt/qtdeclarative-4.8.4
dev-qt/qtgui-4.8.4-r1
dev-qt/qtscript-4.8.4
kde-base/kactivities-9999
kde-base/kdelibs-9999
kde-base/kwin-9999
kde-base/libkworkspace-9999
kde-base/liboxygenstyle-9999
media-libs/mesa-9.1.3
sys-devel/gcc-4.7.3
sys-libs/glibc-2.17
x11-libs/libICE-1.0.8-r1
x11-libs/libSM-1.2.1-r1
x11-libs/libX11-1.6.0
x11-libs/libxcb-1.9.1
x11-libs/libXcursor-1.1.13-r1
x11-libs/libXdamage-1.1.4-r1
x11-libs/libXext-1.3.2
x11-libs/libXrandr-1.4.1
x11-libs/libXxf86vm-1.1.3
x11-libs/xcb-util-image-0.3.9
x11-libs/xcb-util-keysyms-0.3.9
x11-libs/xcb-util-wm-0.3.9

The USE flag is globally masked for stable systems. As a side note, i realy like the stable use mask feature in EAPI 5.

Next steps

1) We need to package the Wayland compositor aka Weston in portage tree, to start a full blown Wayland session.  This task is already in progress (bug #445736), an ebuild is available in the gentoo x11 overlay. Will be finished soon hopefully.

2) Add a wayland build option (USE flag) for the KDE start script (kde-base/startkde). The USE flag will allow us to ship a modified version of it, so that we can tell KWin to use weston/wayland when starting.

So I am realy sure you will be able to play around with Wayland in starting August when KDE SC 4.11.0 is released and hit the portage tree by simply enabling a USE flag. Are you excited? You should!

Have fun!

This entry was posted in Gentoo, KDE, Linux, Planet Gentoo, Planet KDE, Planets and tagged , , , , . Bookmark the permalink.

10 Responses to Gentoo’s road to Wayland in KDE

  1. Ernesto Manríquez says:

    Gentoo is becoming the metadistribution. Again.

    If there are enough goodies I’ll be back. Wait for me with cookies.

    Reply
  2. Diego Martinez says:

    Looking forward to try Wayland on my Gentoo box! Sounds awesome! Hope it will be stable for then…

    Reply
  3. Thomas Hoppe says:

    Exactly the stack I envision for my gentoo box!

    Reply
  4. jensp says:

    Sweet! Thanks for your hard work with packaging KDE, it is truly appreciated!

    Reply
  5. Gábor Garami (@hron84) says:

    And what about wayland for gnome? I’d like to see Gnome 2 and Gnome 3 with wayland flag…. OK-OK, I know, I’m on the dark side…

    Reply
  6. Pavel says:

    What is that ‘scan’ command you used? Which package provides it?

    Reply
    • johu says:


      johu@elia ~ $ cat /usr/local/bin/scan
      #!/bin/sh
      qlist -e "$@" | xargs scanelf -L -n -q -F '%n #F' | tr , ' ' | xargs qfile -Cv | sort -u | awk '{print $1}' | uniq

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>