Download - Gnome on wayland at a glance
Gnome on WaylandAt a Glance
Seong-ho ChoGnome Korea
Wayland?
Wayland?
Wayland?
• New-generation window server replacement for X window server• New display ground for Enlightenment, GNOME and KDE• Compositor protocol to talk to a client• Supports more powerful display method• Doesn’t have rendering API
• “every frame is perfect, by which I mean that applications will be able to control the rendering enough that we'll never see tearing, lag, redrawing or flicker.” - by Kristian Høgsberg
History of Wayland
• Started at 2008 as a spare-time independent project by Kristian Høgsberg from RedHat
• Became a freedesktop.org project in October 2010• It was tried as a GSoC project in 2011, but wasn’t
successful• Quite recently, Nvidia releases graphic driver which
supports EGL API.– Nvidia graphic card can fully support wayland
Current Status
• Almost fully adopted in Enlightenment E18• Experimentally (and partially) adopted in
GNOME 3.10• Still pre-alpha release in KDE• Included in Qt 5 – has some bug such as “Fail to compile” … :S
Why Wayland We Should Use?
• Communication problem within X system• Need to make more brilliant user experience interface• Trend-shifting from desktop to mobile devices• X protocol is too old (developed in three decades ago)• Hard to apply new method onto the environment
based on X display server
Would You Remember?
XOrg-Evdevdrivers
XOrg-Evdevdrivers
CompositorCompositor
X Server Architecture
XfceXfceGNOME GNOME KDE KDE E17,18E17,18
X.Org ServerX.Org Server
CompizCompiz
PlasmaPlasma
Gnome Shell
Gnome Shell
EGLEGL
XOrg-Inputdrivers
XOrg-Inputdrivers
Xorg-Videodrivers
Xorg-Videodrivers
Kernel Drivers
DRIDRI
Proprietarydrivers
Proprietarydrivers
XscreenFrame
XscreenFrame
FinalFrameFinal
Frame
X Server Architecture (Simp.)
Wayland Architecture
GnomeShell
GnomeShell
KDEKWinKDE
KWinEnlight.DR18
Enlight.DR18
Wayland-serverWayland-server
Weston CompositorWeston Compositor
ApplicationsApplications
GTK+GTK+ QtQt
Desktop WidgetDesktop Widget
EFLEFL
OpenGL (EGL/GLES)
Kernel Modules
DirectRendered
Frame
DirectRendered
Frame
FinalFrameFinal
Frame
Wayland Architecture (Simp.)
Gnome on Wayland
• Now on experimental state (unstable)• It may be completed to implement on Mar, 2014
(in a guess by release schedule)• Components’ list and a relation within the system
will be almost totally changed due to this– So, there can be some problem in a system-view
• But!
Gnome & Wayland Architecture
X on Wayland Compatibility
Wayland Components on the Gentoo System
• Packages– dev-libs/wayland– dev-libs/weston– media-libs/mesa– x11-libs/gtk+
• Some keywords should be added to …– /etc/make.conf USE=“wayland wayland-compositor xwayland”
• I warn you – Do not change OpenRC to systemd until you totally know
• what setting value can(not) be migrated• where value should be moved to
– Do not change latest Qt version 5 with “wayland” feature• very unstable
Wayland on Ubuntu• Install packages
– sudo apt-get install build-essential libtool makedepend xutils-dev bison flex x11-dev libx11-dev glproto-dev libglproto-dev x11proto-gl-dev x11proto-dri2-dev libxext-dev libxdamage-dev libxdamage-dev libxfixes-dev libx11-xcb-dev libxcb-glx0-dev libxcb-dri2-0-dev libudev-dev libxcb-xfixes0-dev llvm-dev
• Follow instruction to build wayland– http://wayland.freedesktop.org/building.html
• Making toolkits to work on wayland is “working state” due to Gnome desktop environment
for the Other Issues...
• Wayland is in the test (research) progress for variety type of system such as embedded devices
• You can reach the time to use full featured “very stable” desktop environment from Oct, 2014 (maybe?)
Conclusion
• Wayland is the brand new display server can replace X server
• Wayland brings benefit for a performance to us by combining both wayland-server and wayland-composite part into the wayland server and by supporting two or more frame buffer
• We don’t have to worry about disappearing X– developers will sustain X environment for a more years for
a compatibility with legacy system
Making Wayland Contribution
• Git repo: http://cgit.freedesktop.org/wayland • Mailing list:
http://lists.freedesktop.org/mailman/listinfo/wayland-devel
• IRC: #wayland on freenode• Bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland
Reference
• http://maps.google.com/• http://wayland.freedesktop.org/ • http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)• http://en.wikipedia.org/wiki/X_Window_System • https://phab.enlightenment.org/w/wayland/• https://help.gnome.org/misc/release-notes/3.10/• https://www.tizen.org/sites/default/files/lfcs2012_barnes.pdf • https://wiki.ubuntu.com/Wayland• http://www.slideshare.net/max_posedon/wayland-state-in-gentoo
Gnome Techtalk Event Note.
• You can download this slide from Gnome Korea Blog (about 1 week or more later)
• WebKit presentation will be presented in a 1~2 month later by a guest speaker
• Gnome Techtalk Event for a next month will be opened at Mid or Late November.
Thank you