By Nathan Willis
March 6, 2013
Ubuntu publicly announced its plan for the future of its Unity
graphical shell on March 4, a plan that includes a new compositing
window manager designed to run on the distribution's device platforms
as well as on desktop systems. The plan will reimplement the Unity
shell in Qt and replace Compiz with a new display stack called Mir that
will incorporate a compositor, input manager, and several other
pieces. Mir is not designed to use the Wayland display protocol
(although the Ubuntu specification suggests it could be added later),
a decision that raised the ire of developers in several other
projects.
Announcements, announcements, announcements
Oliver Ries made the announcement
on the ubuntu-devel mailing list, saying it was timed to coincide with
the start of the distribution's Ubuntu Developer Summit, where more
detail and discussion would follow. Ries said the changes were
necessary "in order to implement the vision of converged
devices"—namely the Ubuntu Touch project to build an
interface compatible with phones, tablets, and smart TVs. The plan
involves porting Unity from its current OpenGL-based implementation to
Qt and implementing the Mir server. There are descriptions available
on the Ubuntu wiki for both Mir and "Unity Next."
In a blog
post, Ries elaborated further on the "overhaul" and the reasons
behind it. It was already clear that the current implementation of
the Unity shell (which runs as a plugin to Compiz) would eventually need
to go; handling multiple monitors is problematic, as is implementing
the global menu bar. The Ubuntu Touch devices are expected to
add to the complexity by relying on different pointing devices and
text input methods. In addition, Compiz itself was put into
maintenance mode by its lead developer in December 2012.
In evaluating the options, Canonical decided that the X
server needed replacing, and that Wayland was not viable for running
on handheld devices. The new solution, Mir, is designed to run both on the
system-on-chip (SoC) hardware found in phones and on standard desktop
graphics hardware. The port of Unity from the OpenGL-based Nux toolkit is a reversal of
sorts, Ries noted, but when Ubuntu halted work on its previous Qt-based
implementation of Unity (the "fallback" mode for systems without
sufficient graphics power to run Nux-based Unity) it did so in large
part because Qt's future was uncertain. The project was in the midst
of a hand-off from corporate owner Nokia to a community-governed council,
and it was not clear that the Qt-based Unity would offer a
comparable feature set to the OpenGL version. Now that Qt is in a
stable and healthy position, Ubuntu has resumed work on the Qt-based
Unity.
Thomas Voß wrote a blog
post of his own, which lists several other rationales for Mir,
including the ability to leverage existing Android drivers, and the
desire for an input system suitable for mobile device usage. In
addition, Weston, the reference implementation of Wayland, suffered
from a "lack of a clearly defined driver model as well as the
lack of a rigorous development process in terms of testing driven by a
set of well-defined requirements." For a short-term solution,
the project borrowed Android's SurfaceFlinger, but will replace it
with Mir in time for the release of Ubuntu 14.04. Builds of both Mir
and Unity Next will be available starting in a few months, although
Ubuntu 13.04 and 13.10 are not expected to use them.
Specifics and protocols
The Mir wiki page goes into considerably more detail about the
architecture of the system. It consists of a server-side library called
libmir-server, a matching client communication library called
libmir-client, and the unity-system-compositor.
Other re-written Unity components include the Unity shell, Unity
Greeter, and bindings for GUI toolkits (initially Qt, with GTK+ and
SDL to follow). The Unity Next page further details how the changes
will affect applications, such as the environment's launchers and
notification system.
But the majority of the public discussion about the announcement
has centered around the Mir display server—and in particular why
it will not simply be an implementation of the Wayland protocol. For
now, the Mir page lists a few reasons why Ubuntu decided Wayland did
not fit the bill, including input event handling, input methods (that
is, flexible mechanisms for text input, which are a more complicated
issue for logographic
writing systems like Chinese), and the manner in which shells and sessions are
treated distinctly from normal client applications. On the other
hand, the page does emphasize that Mir is designed to be
"protocol-agnostic" and that Wayland support could be added in the
future.
Not everyone found the reasons listed compelling, of course,
particularly developers working on Wayland and Weston. Kristian
Høgsberg started a discussion
thread about it on Google Plus, in which several took issue with
the Mir wiki page's description of Wayland's input event system. Most
notably, the wiki page had initially said that Wayland's input events
duplicated insecure semantics from X11's input system. Canonical's
Christopher James Halse Rogers ("RAOF") later visited the Wayland IRC
channel, and was asked about the security issue, which Høgsberg said
was incorrect. Halse Rogers said he was unaware that the wiki mentioned the
security issue, and subsequently removed it from the page.
The IRC discussion log makes for interesting reading, once one
wades through the less compelling flame-like comments. Høgsberg also
took issue with the Mir wiki page's comments about Wayland's
distinction between normal client applications and special processes
like the shell and session manager. The wiki page said that the
shell-integration parts of the Wayland protocol were privileged, a
design that the Ubuntu team disagreed with because it would require
additional security measures. Høgsberg argued that the
APIs provided were unprivileged, and that Ubuntu could replace any of
them that it did not like without altering the core interfaces. In
particular, the interfaces in question (wl_shell
and wl_shell_surface)
are actually optional extensions. In an interesting wrinkle, Wayland
developer Tiago Vignatti posted a blog
entry on March 5 describing the special protocol available to user
shells, although he, too, said that it was not a privileged protocol.
In the IRC discussion, Halse Rogers countered that removing and replacing
multiple interfaces would result in a display server that was not
really Wayland anyway (and would require Ubuntu to maintain separate
integration code for the GUI toolkits in particular). He added that
Mir also uses a different (server-side) buffer allocation scheme in
order to support ARM devices. Høgsberg replied that Wayland could add
support for that as well, noting "I realize that this all isn't
really documented, but it's not like Wayland only works with client
side allocated buffers."
Divergent or convergent projects
Two other people in the IRC discussion raised a non-technical
complaint, commenting that Ubuntu should have brought its issues with
Wayland's design to the Wayland development mailing list, rather than
develop a separate project. That does sound ideal, but on the other
hand it is not easy to demonstrate that such a discussion would have
guaranteed that Wayland evolved into the protocol that Ubuntu wanted.
After all, at one point in the past, Ubuntu was planning on
adopting Wayland; Mark Shuttleworth announced that intention in
November 2010.
Canonical's Chase Douglas subsequently did join the Wayland mailing
list, and on at least one occasion he weighed in on a design issue.
The topic was touch input support in particular, in February
2012, and Douglas did not seem pleased with Wayland's touch event handling,
noting specifically that it would not
work when the user was sending touch events to more than one
application. Most mobile platforms do not support having multiple
foreground applications, but the tablet builds of Ubuntu Touch do.
Touch event handling is an interesting case to consider. The Mir
wiki page cites input event handling as one of the project's points of
disagreement with Wayland. It goes into frustratingly little detail
on the subject, but Ubuntu is clearly interested in multi-touch and
gesture recognition support due to its push on tablets and handheld
devices. It debuted a multi-touch and gesture input stack
with the release of Ubuntu 10.04, which it still maintains. Wayland,
meanwhile, has stayed focused primarily on the desktop. In August
2012, there was an effort
to revive the dormant weston-tablet-shell, although based on
the commit logs it has been receiving less attention subsequently.
Certainly multi-touch and gesture-recognition are critical for phone
and tablet user interfaces. Perhaps if Ubuntu is dead-set on
implementing a touch-and-gesture-aware input event system that it can
ship within the year, then the argument could be made that Wayland is
not ready. There are few alternatives to Ubuntu's gesture framework;
GTK+ gained multi-touch support in 3.4, but GNOME has only recently
started working on its own touch event implementation. One might also
make the case that no distributions have moved to Wayland itself,
either, and it is not clear when Mutter or other window managers will
implement it in a form ready for end users. There are other potential
incompatibilities, such as licensing—Wayland and Weston are
MIT-licensed; Mir is GPLv3. So Ubuntu could merge in Weston code, but
submitting Mir patches upstream would mean adopting the other project's
non-copyleft license.
None of those arguments are likely to sway the opinions of any
Wayland developers toward Mir, of course. The best hope for peace
probably lies in getting the two projects together to discuss their
differences. On that point, Halse Rogers offered a tantalizing possibility
in the IRC discussion, noting on line 215 that someone (possibly Voß)
is attempting to organize such a meeting. In the meantime, however,
most end users will simply have to sit still and wait to see what
happens next. Ubuntu has declared its intention to ship Mir and Unity
Next with Ubuntu 14.04; at the moment there is not a large
distribution with a public launch date for its Wayland implementation,
so it will be interesting to see which arrives first.
But one thing the Mir announcement and subsequent debate has made
crystal clear is that both projects have fallen far short on the
documentation front. The Mir wiki page and its associated Launchpad blueprints are all that
currently exists, and they are short on detail. Then again, the Mir
page is only a few days old at this stage. Wayland has been in active
development for years, and its documentation, too,
is sparse, to put it mildly. Høgsberg admitted as much in the IRC
discussion, but who knows how many points of disagreement about Mir and
Wayland compatibility could have been avoided entirely with more
thorough documentation of the core and extensions. Neither project
does itself—much less users—any favors when the only way
to learn implementation details is to track down the lead
developer and ask specific questions over email or IRC.
Ubuntu says it will begin making builds of Mir and Unity Next
available in May 2013. Where both projects head over the course of
the following year remains to be seen—as is also true with
Wayland. A year from now, perhaps the two teams will have found
common ground. If not, a head-to-head comparison of the software will
surely make for a more interesting debate than does this week's
strictly hypothetical discussion.
Comments (46 posted)
Brief items
You must be thinking: “What do you mean by refreshing storage? I didn’t think you could drink storage?” No, sad to say, this blog post isn’t about the type of refreshment you get from a crisp cold glass of Anaconda Cola (yum!)
--
Máirín
Duffy
Personally, I prefer the approach where we figure out what kind of tires we
need on the next car and plan for them when we buy the car over an approach
where we try to change the tires while the car is in motion.
--
Scott Kitterman
If the "rolling releases" really aren't intended for end-users, then we
should just drop the fiction, say the change is from a 6-month cadence
to a 2-year cadence, and be done with it.
Yes, it has all the problems we've come to know-and-hate with stale
applications. So, either allow SRU exceptions for more applications like
we do for Firefox, or start really supporting Backports for the LTS.
It's a waste of everyone's time and effort to rework the whole project
around talk of "rolling releases" when it's really just the same old
development release on a slower schedule. (Remember how we used to call
monthly images alphas and betas? That was ages ago, like 4 whole months.)
--
Allison Randal
If like Martin Owens you're feeling the lack of Ubuntu community and wanting an Ubuntu community that cares about everyone's contribution, doesn't make random announcements every couple of days that have obviously been made behind closed doors and cares about a community made upstream desktop (and err.. whole graphics stack), you'd be very welcome here at Kubuntu. Join us in #kubuntu-devel
--
Jonathan
Riddell
Comments (4 posted)
Rick Spencer, Canonical's VP of Ubuntu Engineering, has put out a call to discuss dropping the "interim" Ubuntu
releases, which are those that are not long-term support (LTS) releases,
and switching to a rolling release model in between LTS releases.
Spencer's "tl;dr":
Ubuntu has an amazing opportunity in the next 7-8 months to deliver a Phone
OS that will be widely adopted by users and industry while also putting
into place the foundation for a truly converged OS.
To succeed at this we will need both velocity and agility. Therefore, I am
starting a discussion about dropping non-LTS releases and move to a rolling
release plus LTS releases right now.
The ubuntu-devel mailing list thread is already getting fairly long, as might be guessed.
The idea will also be discussed at the upcoming online Ubuntu Developer Summit, March 5-6.
Comments (48 posted)
The openSUSE ARM team has a
12.3
AArch64 preview available. "
This is a huge achievement and
milestone for us, thanks to lots of helpful hands in openSUSE. Just to put
this into context: This is not a minimal system with
a couple of toolchain packages. It is also not an embedded variant of a
Linux environment. No, this is the full featured, standard openSUSE
distribution as you’re used to, ported to AArch64, up and running. We have
built it based on (slightly newer versions of) standard openSUSE 12.3
packages, and the changes are mostly already merged back into openSUSE
Factory." (Thanks to Mattias Mattsson)
Comments (none posted)
Debian Edu has released an update to its stable 6.0 "squeeze"
distribution. "
Debian Edu 6.0.7+r1 is an incremental update to Debian Edu 6.0.4+r0, containing all the changes between Debian 6.0.4 and 6.0.7 as well Debian Edu specific bugfixes and enhancements."
Full Story (comments: none)
Distribution News
Debian GNU/Linux
The Debian Project has
announced that Debian
logos and marks may now be used freely for both non-commercial and
commercial purposes, under the terms of the
new trademark policy.
"
Stefano Zacchiroli, current Debian Project Leader and one of the
main promoters of the new trademark policy, said "Software freedoms and
trademarks are a difficult match. We all want to see well-known project
names used to promote free software, but we cannot risk they will be abused
to trick users into downloading proprietary spyware. With the help of SPI
and SFLC, we have struck a good balance in our new trademark policy. Among
other positive things, it allows all sorts of commercial use; we only
recommend clearly informing customers about how much of the sale price will
be donated to Debian."" (Thanks to Paul Wise)
Comments (none posted)
The call for nominations for the next Debian Project Leader are open.
"
Prospective leaders should be familiar with the constitution, but
just to review: there's a one week period when interested
developers can nominate themselves and announce their platform,
followed by a three week period intended for campaigning, followed
by two weeks for the election itself."
Full Story (comments: none)
Newsletters and articles of interest
Comments (none posted)
Persistent rumors of a Canonical-developed display server have been
confirmed over at The H. Instead of X, Wayland, or SurfaceFlinger, the
Mir display server will be used in upcoming projects.
Currently, the developers are using the Android SurfaceFlinger to deliver the Phone and Tablet experiences which were recently released as developer previews. But Canonical says that, by May this year, it will be replaced by Mir. It added that eventually the tablet will migrate to the same infrastructure as the desktop system.
For the desktop, the plan is equally ambitious: a migration in May to a Mir/QMir/Unity Next shell and Mir/QtUbuntu/Qt/QML application stack running on top of the current free graphics drive stack. Closed source driver support is still being worked on, with Canonical saying it is talking with GPU vendors about creating distilled, reusable, cross-platform EGL-centric drivers in the future. The May milestone will, though, be the first point in actual shell development and giving developers something to work with.
Comments (340 posted)
Three new Puppy Linux releases are
covered
in The H. Puppy Linux comes in a variety of "puplets" which are all
built using the Woof build system. "
Wary is the edition of Puppy
designed to be run on older hardware, whereas Racy has more features and
needs more system resources but is based on Wary. For version 5.5, both
editions had most of their underlying system libraries and some of the
applications updated during the development phase; this took almost a year
from the release of Wary 5.3 in April 2012." Lead developer Barry
Kauler also has a new release of his experimental "puplet",
Quirky.
Comments (none posted)
The H
takes
a look at openSUSE 12.3 rc 2. A final release will be available next
week. "
For openSUSE 12.3 RC2, the boot process on
Secure-Boot-enabled systems includes a step where users will have to
manually enable Secure Boot support in YaST. The developers are working to
remove this additional step for the final release. The developers have also
changed the size of the live media: it now exceeds the 800MB CD size limit,
meaning that it will have to be booted from USB sticks instead of CDs. This
allows openSUSE 12.3 RC2 to ship with a larger number of tools in the live
images, including the GIMP, the entirety of LibreOffice 3.6 and the full
OpenJDK environment. As part of the changes, Rhythmbox has replaced Banshee
as the default audio player in the GNOME based live images."
Comments (none posted)
Page editor: Rebecca Sobol
Next page: Development>>