29 Jul 2014
Welcome to the Ubuntu Weekly Newsletter. This is issue #376 for the week July 21 - 27, 2014, and the full version is available here.
In this issue we cover:
- Finalized UOS Date: 12th - 14th November 2014
- Ubuntu 14.04.1 LTS released
- Ubuntu Stats
- Sierra Vista Ubuntu Hour
- Elizabeth K. Joseph: The Official Ubuntu Book, 8th Edition now available!
- Rick Spencer: The Community Team
- Lubuntu Blog: Box for Qt
- Michael Hall: Why do you contribute to open source?
- Kubuntu: New Kubuntu Plasma 5 Flavour in Testing
- Michael Hall: Who do you contribute to?
- Unity8 & Mir status July 22, 2014
- Canonical News
- In The Blogosphere
- Full Circle Issue #87
- Featured Audio and Video
- Weekly Ubuntu Development Team Meetings
- Upcoming Meetings and Events
- Updates and Security for 10.04, 12.04 and 14.04
- And much more!
The issue of The Ubuntu Weekly Newsletter is brought to you by:
- Elizabeth K. Joseph
- Jose Antonio Rey
- And many others
Except where otherwise noted, content in this issue is licensed under a Creative Commons Attribution 3.0 License BY SA Creative Commons License
29 Jul 2014 4:45am GMT
- An Overview
- Themes at OSCON 2014
- Adopting the Functional Paradigm?
- Retrospective on Paradigms
- The Rise of Polyglotism
- Preparing for the Future
Why [have some large companies] not embraced functional programming to the extent that other large ones have?
- U.S. Companies
- Ranked by gross revenue (after adjustments for excise taxes).
- Apple (6) - Swift, Clojure, Scala
- AT&T (11) - Haskell
- HP (15) - F#, Scala
- Verizon Communications (16) - Scala
- IBM (20) - Scala
- Microsoft (35) - F#, F*
- Comcast (46) - Scala
- Amazon (49) - Haskell, Scala, Erlang
- Dell (51) - Erlang, Scala
- Intel (54) - Haskell, SML, PLT Scheme
- Google (55) - Haskell 
- Cisco (60) - Scala
- Ingram Micro (76) - ?
- Oracle (80) - Scala
- Avnet (117) - ?
- Tech Data (119) - ?
- Emerson Electric (123) - ?
- Xerox (131) - Scala
- EMC (133) - Scala
- Arrow Electronics (141) - ?
- Century Link (150) - ?
- Computer Sciences Corp. (176) - ?
- eBay (196) - Scala
- TI (218) - ?
- Western Digital (222) - ?
Rather than seeing the problem of comprehending FP as a physical limitation of the individual, I see instructional failure as the obstacle to overcome. If we start with the proposition that certain brains are deficient, we are essentially abandoning education. It is the responsibility of the instructor to engage creatively with each student's learning style. When adhering to the idea that certain brains are limited, one discards creative engagement; one doesn't even consider working with the students and their learning styles. This is a view that, however implicitly, can be used to shun diversity and dismiss potential.
If both "ideal use case" and "brain fit" are given as arguments against adopting FP (or any other new paradigm) in large organisations, and neither are considered logically or philosophically valid, what's at the root of the resistance?
Up next: Retrospective on Programming Paradigms
Previously: Themes at OSCON 2014
 If anyone has additional information as to which FP languages are used by these top 25 companies, please let me know, and I will include that information. Bonus points for knowing of business-critical applications.
 Type Physicality is a form of reductive materialism, also known as the Mind-Brain Identity Theory that does not allow for mental states to be realized in organisms or computational systems that do not have a brain. See "Criticisms of Type Physicality" at http://en.wikipedia.org/wiki/Identity_theory_of_mind#Multiple_realizability.
29 Jul 2014 3:53am GMT
28 Jul 2014
It's already available Ubuntu 14.04.1 LTS, the first update on Trusty Tahr, a recommended by-default setup for all flavours including, of course, Lubuntu. This comes with extended support (until 2019). Various bugs that required updates are rolled into this update: A bug for btrfs has been found, this is scheduled to be fixed in 14.04.2 A bug affecting Alt-F2 is still present For PPC the bug
28 Jul 2014 8:24pm GMT
This past week marked my second year helping out as a co-organizer of the Community Leadership Summit. This Community Leadership Summit was especially important because not only did we introduce a new Community Leadership Forum but we also introduced CLSx events and continued to introduce some new changes to our overall event format.
Like previous years, the attendance was a great mix of community managers and leaders. I was really excited to have an entire group of Mozillians who attended this year. As usual, my most enjoyable conversations took place at the pre-CLS social and in the hallway track. I was excited to briefly chat with the Community Team from Lego and also some folks from Adobe and learn about how they are building community in their respective settings.
I'm always a big advocate for community building, so for me, CLS is an event I try and make it to each and every year because I think it is great to have an event for community managers and builders that isn't limited to any specific industry. It is really a great opportunity to share best practices and really learn from one another so that everyone mutually improves their own toolkits and technique.
It was apparent to me that this year there were even more women than in previous years and so it was really awesome to see that considering CLS is often times heavily attended by men in the tech industry.
I really look forward to seeing the CLS community continue to grow and look forward to participating and co-organizing next year's event and possibly even kick of a CLSxPortland.
A big thanks to the rest of the CLS Team for helping make this free event a wonderful experience for all and to this years sponsors O'Reilly, Citrix, Oracle, Linux Fund, Mozilla and Ubuntu!
28 Jul 2014 12:00pm GMT
When you contribute something as a member of a community, who are you actually giving it to? The simple answer of course is "the community" or "the project", but those aren't very specific. On the one hand you have a nebulous group of people, most of which you probably don't even know about, and on the other you've got some cold, lifeless code repository or collection of web pages. When you contribute, who is that you really care about, who do you really want to see and use what you've made?
In my last post I talked about the importance of recognition, how it's what contributors get in exchange for their contribution, and how human recognition is the kind that matters most. But which humans do our contributors want to be recognized by? Are you one of them and, if so, are you giving it effectively?
The owner of a project has a distinct privilege in a community, they are ultimately the source of all recognition in that community. Early contributions made to a project get recognized directly by the founder. Later contributions may only get recognized by one of those first contributors, but the value of their recognition comes from the recognition they received as the first contributors. As the project grows, more generations of contributors come in, with recognition coming from the previous generations, though the relative value of it diminishes as you get further from the owner.
After the project owner, the next most important source of recognition is a project's leaders. Leaders are people who gain authority and responsibility in a project, they can affect the direction of a project through decisions in addition to direct contributions. Many of those early contributors naturally become leaders in the project but many will not, and many others who come later will rise to this position as well. In both cases, it's their ability to affect the direction of a project that gives their recognition added value, not their distance from the owner. Before a community can grown beyond a very small size it must produce leaders, either through a formal or informal process, otherwise the availability of recognition will suffer.
Leadership isn't for everybody, and many of the early contributors who don't become one still remain with the project, and end of making very significant contributions to it and the community over time. Whenever you make contributions, and get recognition for them, you start to build up a reputation for yourself. The more and better contributions you make, the more your reputation grows. Some people have accumulated such a large reputation that even though they are not leaders, their recognition is still sought after more than most. Not all communities will have one of these contributors, and they are more likely in communities where heads-down work is valued more than very public work.
When any of us gets started with a community for the first time, we usually end of finding one or two people who help us learn the ropes. These people help us find the resources we need, teach us what those resources don't, and are instrumental in helping us make the leap from user to contributor. Very often these people aren't the project owners or leaders. Very often they have very little reputation themselves in the overall project. But because they take the time to help the new contributor, and because theirs is very likely to be the first, the recognition they give is disproportionately more valuable to that contributor than it otherwise would be.
Every member of a community can provide recognition, and every one should, but if you find yourself in one of the roles above it is even more important for you to be doing so. These roles are responsible both for setting the example, and keeping a proper flow, or recognition in a community. And without that flow or recognition, you will find that your flow of contributions will also dry up.
28 Jul 2014 12:00pm GMT
Kubuntu Plasma 5 ISOs have started being built. These are early development builds of what should be a Tech Preview with our 14.10 release in October. Plasma 5 should be the default desktop in a future release.
28 Jul 2014 10:33am GMT
Your friendly Kubuntu team is hard at work packaging up Plasma 5 and making sure it's ready to take over your desktop sometime in the future. Scarlett has spent many hours packaging it and now Rohan has spent more hours putting it onto some ISO images which you can download to try as a live session or install.
This is the first build of a flavour we hope to call a technical preview at 14.10. Plasma 4 will remain the default in 14.10 proper. As I said earlier it will eat your babies. It has obvious bugs like kdelibs4 theme not working and mouse themes only sometimes working. But also be excited and if you want to make it beautiful we're sitting in #kubuntu-devel having a party for you to join.
I recommend downloading by Torrent or failing that zsync, the server it's on has small pipes.
Default login is blank password, just press return to login.
28 Jul 2014 10:20am GMT
The Kubuntu team is proud to announce the immediate availability of the Plasma 5 flavor of the Kubuntu ISO which can be found here (here's a mirror to the torrent file in case the server is slow). Unlike it's Neon 5 counterpart , this ISO contains packages made from the stock Plasma 5.0 release . The ISO is meant to be a technical preview of what is to come when Kubuntu switches to Plasma 5 by default in a future release of Kubuntu.
NB: When booting the live ISO up, at the login screen, just hit the login button and you'll be logged into a Plasma 5 session.
28 Jul 2014 9:39am GMT
- An Overview
- Themes at OSCON 2014
- Adopting the Functional Paradigm?
- Retrospective on Paradigms
- The Rise of Polyglotism
- Preparing for the Future
A Qualitative OSCON Debrief
As you might have noticed from the OSCON Twitter-storm this year, the conference was a blast. Even if you weren't physically present, given the 17 tracks, you can imagine that the presentations -- and subsequent conversations -- were deeply varied.
This was the second OSCON I'd attended; the first was was in 2008 as a guest of Michael Bernstein, a friend who was speaking there. OSCON 2008 was a zoo - I'm not sure of the actual body count, but I've heard that attendees + vendors + miscellaneous topped 12,000 people over the course of the week (I would love to hear if someone has hard data on that -- googling didn't reveal much). OSCON 2008 was dominated by Big Data, Hadoop, endless buzzword bingo, and business posturing by all sorts. The most interesting bits of that conference were the outlines that formed around the conversations people weren't having. In fact, over the following 6 months, that's what I spent my spare time pondering: what people didn't say at OSCON.
This year's conference seemed like a completely different animal. It felt like easily 1/2 to 1/3rd the number of attendees in 2008. Where that one had all the anonymizing feel of rush-hour in a major metropolitan hub, OSCON 2014 had a distinctly small-town vibe to it -- I was completely charmed. Conversations (overheard as well as participated in) were not littered with examples from the latest bizspeak, but rather focused on essence. The interactions were not continually distracted, but rather steadily focused, allowing people to form, express, and dispute complete thoughts with their peers.
So what were people talking about this year? Here are some of the topics I heard covered during lunches, in hallways, and at podiums; at pubs, in restaurants and at parks :
- What communities are thriving?
- Which [projects, organisations, companies, etc.] are treating their people right?
- What successful processes are being followed at [project, organisation, etc.]?
- Who is hiring and why should someone want to work there?
- Where can I go to learn X? Who is teaching X? Who shares the most about X?
- Which [projects, organisations] support X?
- Why don't more [people, projects, organisations] care about [possible future X]?
- Why don't more [people, projects, organisations] spend more time investigating the history of X for "lessons learned"?
- There was so much more X in computing during the 60s and 70s -- what happened? 
- Why are we reinventing X?
- When is X going to be invented, and who's going to do it?
- Everything is changing! I can't keep up anymore.
- I want to keep up, but how?
- Why can't we stop making so many X?
- Nobody cares about Y anymore; we're all doing X now.
- Full stack developers!
- Fault-tolerant systems!
After lots of reflection, here's how I classified most of the conversations I heard:
- Developing communities,
- Developing careers and/or personal/professional qualities, and
- Developing software,
along lines such as:
- Effective maintenance, maturity, and health,
- Focusing on the "art", eventual mastery, and investments of time,
- Tempering bare pragmatism with something resembling science or academic excellence,
- Learning the new to bolster the old,
- Inspiring innovation from a place of contemplation and analysis,
- Mining the past for great ideas, and
- Figuring out how to better share and spread the adoption of good ideas.
Generalized to such a degree, this could have been pretty much any congregation of interested, engaged minds since the dawn of civilization. So what does it look like if we don't normalize quite so much? Weighing these with what may well be my own bias (and the bias of like-minded peers), I submit to your review these themes:
- A very strong interest in programming (thinking and creating) vs. integration (assessing and consuming).
- An express desire to become better at abstraction (higher-order functions, composition, and types) to better deal with growing systems complexities.
- An interest in building even more complicated systems.
- A fear of reimplementing past mistakes or of letting dust gather on past intellectual achievements.
As you might have guessed, these number very highly among the reasons why the conference was such an unexpected pleasure for me. But it should also not come as a surprise that these themes are present:
- We have had several years of companies such as Google and Amazon (AWS) building and deploying some of the most sophisticated examples of logic-made-manifest in human history. This has created perceived value in our industry and many wish to emulate it. Similarly, we have single purpose distributed systems being purchased for nearly 20 billion USD -- a different kind of complexity, with a different kind of perceived reward.
- In the 70s and 80s, OOP adoption brought with it the ability to create large software systems in ways that people had not dared dream or were impractical to realize. Today's growing adoption of the Functional paradigm is giving early signs of allowing us to better integrate complex systems with more predictability and fewer errors.
- Case studies of improvements in productivity or the capacity to handle highly complex or previously intractable problems with better abstractions, has ignited the passions of many. Not wanting to limit their scope of knowledge or sources of inspiration, people are not simply limiting themselves to the exploration of such things as Category Theory -- they are opening the vaults of computer science with such projects as Papers We Love.
There's a brave new world in the making. It's a world for programmers and thinkers, for philosophers and makers. There's a lot to learn, but it's really not so different from older worlds: the same passions drive us, the same idealism burns brightly. And it's nice to see that these themes arise not only in small, highly specialized venues such as university doctoral programs and StrangeLoop (or LambdaJam), but also in larger intersections of the industry like OSCON (or more general-audience ones like Meetups).
Up next: Adopting the Functional Paradigm?
Previously: An Overview
 It goes without saying that any one attendee couldn't possibly be exposed to enough conversations to form a perfectly accurate sense of the total distribution of conversation topics. No claim to the contrary is being made here :-)
here in the section titled "Why did all these ideas happen during this particular time period?"
28 Jul 2014 5:25am GMT
This past week marked my fourth year of attending O'Reilly Open Source Convention (OSCON). It was also my second year speaking at the convention. One new thing that happened this year was I co-led Mozilla's presence during the convention from our booth to the social events and our social media campaign.
Like each previous year, OSCON 2014 didn't disappoint and it was great to have Mozilla back at the convention after not having a presence for some years. This year our presence was focused on promoting Firefox OS, Firefox Developer Tools and Firefox for Android.
While the metrics are not yet finished being tracked, I think our presence was a great success. We heard from a lot of developers who are already using our Developer tools and from a lot of developers who are not; many of which we were able to educate about new features and why they should use our tools.
Attendees were very excited about Firefox OS with a majority of those stopping by asking about the different layers of the platform, where they can get a device, and how they can make an app for the platform.
In addition to our booth, we also had members of the team such as Emma Irwin who helped support OSCON's Children's Day by hosting a Mozilla Webmaker event which was very popular with the kids and their parents. It really was great to see the future generation tinkering with Open Web technologies.
Finally, we had a social event on Wednesday evening that was very popular so much that the Mozilla Portland office was packed till last call. During the social event, we had a local airbrush artist doing tattoos with several attendees opting for a Firefox Tattoo.
All in all, I think our presence last week was very positive and even the early numbers look positive. I want to give a big thanks to Stormy Peters, Christian Heilmann, Robyn Chau, Shezmeen Prasad, Dave Camp, Dietrich Ayala, Chris Maglione, William Reynolds, Emma Irwin, Majken Connor, Jim Blandy, Alex Lakatos for helping this event be a success.
28 Jul 2014 1:48am GMT
25 Jul 2014
Xubuntu 14.04 Trusty Tahr
The Xubuntu team is pleased to announce the immediate release of Xubuntu 14.04.1 Xubuntu 14.04 is an LTS (Long-Term Support) release and will be supported for 3 years. This is the first Point Release of it's cycle.
The final release images are available as Torrents and direct downloads at http://cdimage.ubuntu.com/xubuntu/releases/trusty/release/
As the main server will be very busy in the first days after the release, we recommend using the Torrents wherever possible.
For support with the release, navigate to Help & Support for a complete list of methods to get help.
Bug fixes for the first point release
- Black screen after wakeup from suspending by closing the laptop lid. (1303736)
- Light Locker blanks the screen when playing video. (1309744)
- Include MenuLibre 2.0.4, which contains many fixes. (1323405)
- The documentation is now attributed to the Translators.
Highlights, changes and known issues
The highlights of this release include:
- Light Locker replaces xscreensaver for screen locking, a setting editing GUI is included
- The panel layout is updated, and now uses Whiskermenu as the default menu
- Mugshot is included to allow you to easily edit your personal preferences
- MenuLibre for menu editing, with full Xfce support, replaces Alacarte
- A community wallpapers package, which includes work from the five winners of the wallpaper contest
- GTK Theme Config to customize your desktop theme colors
- Updated artwork, including various enhancements to themes as well as a new default wallpaper
Some of the known issues include:
- Window manager shortcut keys don't work after reboot (1292290)
- Sorting by date or name not working correctly in Ristretto (1270894)
- Due to the switch from xscreensaver to light-locker, some users might have issues with timing of locking; removing xscreensaver from the system should fix these problems
- IBus does not support certain keyboard layouts (1284635). Only affects upgrades with certain keyboard layouts. See release notes for a workaround.
To see the complete list of new features, improvements and known and fixed bugs, read the release notes.
25 Jul 2014 6:55pm GMT
* Command & Conquer
* How-To : Python, LibreOffice, and GRUB2.
* Graphics : Inkscape.
* Book Review: Puppet
* Security - TrueCrypt Alternatives
* CryptoCurrency: Dualminer and dual-cgminer
plus: Q&A, Linux Labs, Ubuntu Games, and Ubuntu Women.
Get it while it's hot!
25 Jul 2014 4:47pm GMT
In the previous Blog Post, we looked at how we use the Recency principle to redesign the experience around bookmarks, tabs and history.
In this blog post, we look at how the new Ubuntu Browser makes the UI fade to the background in favour of the content. The design focuses on physical impulse familiarity - "muscle memory" - by marrying simple gestures to the two key browser tasks, making the experience feel as fluid and simple as flipping through a magazine.
Creating a new tab
For all new browsers, the approach to the URI Top Bar that enables searching as well as manual address entry has made the "new tab" function more central to the experience than ever. In addition, evidence suggests that opening a new tab is the third of the most frequently used action in browser. To facilitate this, we made opening a new tab effortless and even (we think) a bit fun.
By pulling down anywhere on the current page, you activate a sprint loaded "new tab" feature that appears under the address bar of the page. Keep dragging far enough, and you'll see a new blank page coming into view. If you release at this stage, a new tab will load ready with the address bar and keyboard open as well as an easy way to get to your bookmarks. But, if you change your mind, just drag the current page back up or release early and your current page comes back.
Get to your open tabs and recently visited sites
Pulling the current page downward can create a new blank tab, and conversely dragging the bottom edge upward shows you already open tabs ordered by recency that echoes the right edge "open apps" view.
If you keep on dragging upward without releasing, you can dig even further into the past with your most recently visited pages grouped by site in a "history" list. By grouping under the site domain name, it's easier to find what you're looking for without thumbing through hundreds of individual page URLs. However, if you want all the detail, tap an item in the list to see your complete history.
It's not easy to improve upon such a well-worn application as the browser, it's true. We're hopeful that by adding new fluidity to creating, opening and switching between tabs, our users will find that this browsing experience is simpler to use, especially with one hand, and feels more seamless and fluid than ever.
25 Jul 2014 11:42am GMT
The first update to our LTS release 14.04 is out now. This contains all the bugfixes added to 14.04 since its first release in April. Users of 14.04 can run the normal update procedure to get these bufixes.
See the 14.04.1 release announcement.
25 Jul 2014 10:35am GMT
Edubuntu Long-Term Support
The Edubuntu team is proud to announce Edubuntu 14.04.1 LTS, which is the first Long Term Support (LTS) update as part of the Edubuntu 14.04 5 years support cycle.
This point release includes all the bug fixes and improvements that have been applied via updates to Edubuntu 14.04 LTS since it has been released. It also includes updated hardware support and installer fixes. If you have an Edubuntu 14.04 LTS system and have applied all the available updates, then your system will already be on 14.04.1 LTS and there is no need to re-install. For new installations, installing from the updated media is recommended since it will be installable on more systems than before and will require less updates than installing from the original 14.04 LTS media.
- Information on where to download the Edubuntu 14.04.1 LTS media is available from the Downloads page.
- We do not ship free Edubuntu discs at this time, however, there are 3rd party distributors available who ship discs at reasonable prices listed on the Edubuntu Martketplace
To ensure that the Edubuntu 14.04 LTS series will continue to work on the latest hardware as well as keeping quality high right out of the box, further point releases will be made available during its lifecycle. More information will be available on the release schedule page on the Ubuntu wiki.
- Ubuntu 14.04.1 LTS Release Announcement: https://lists.ubuntu.com/archives/ubuntu-announce/2014-July/000188.html
- Summary of changed packages since original 14.04 release: https://wiki.ubuntu.com/TrustyTahr/ReleaseNotes/ChangeSummary/14.04.1
Thanks for your support and interest in Edubuntu!
25 Jul 2014 4:46am GMT
With the Plasma 5.0 release out the door, we can lift our heads a bit and look forward, instead of just looking at what's directly ahead of us, and make that work by fixing bug after bug. One of the important topics which we have (kind of) excluded from Plasma's recent 5.0 release is support for Wayland. The reason is that much of the work that has gone into renovating our graphics stack was also needed in preparation for Wayland support in Plasma. In order to support Wayland systems properly, we needed to lift the software stack to Qt5, make X11 dependencies in our underlying libraries, Frameworks 5 optional. This part is pretty much done. We now need to ready support for non-X11 systems in our workspace components, the window manager and compositor, and the workspace shell.
Let's dig a bit deeper and look at at aspects underlying to and resulting from this transition.
The short answer to this question, from a Plasma perspective, is:
- Xorg lacks modern interfaces and protocols, instead it carries a lot of ballast from the past. This makes it complex and hard to work with.
- Wayland offers much better graphics support than Xorg, especially in terms of rendering correctness. X11â€˛s asynchronous rendering makes it impossible to be sure about correctness and timeliness of graphics that ends up on screen. Instead, Wayland provides the guarantee that every frame is perfect
- Security considerations. It is almost impossible to shield applications properly from each other. X11 allows applications to wiretap each other's input and output. This makes it a security nightmare.
I could go deeply into the history of Xorg, and add lots of technicalities to that story, but instead of giving you a huge swath of text, hop over to Youtube and watch Daniel Stone's presentation "The Real Story Behind Wayland and X" from last year's LinuxConf.au, which gives you all the information you need, in a much more entertaining way than I could present it. H-Online also has an interesting background story "Wayland - Beyond X".
While Xorg is a huge beast that does everything, like input, printing, graphics (in many different flavours), Wayland is limited by design to the use-cases we currently need X for, without the ballast.
With all that in mind, we need to respect our elders and acknowledge Xorg for its important role in the history of graphical Linux, but we also need to look beyond it.
What is Wayland support?
Without communicating our goal, we might think of entirely different things when talking about Wayland support. Will Wayland retire X? I don't think it will in the near future, the point where we can stop caring for X11-based setups is likely still a number of years away, and I would not be surprised if X11 was still a pretty common thing to find in enterprise setups ten years down the road from now. Can we stop caring about X11? Surely not, but what does this mean for Wayland? The answer to this question is that support for Wayland will be added, and that X11 will not be required anymore to run a Plasma desktop, but that it is possible to run Plasma (and apps) under both, X11 and Wayland systems. This, I believe, is the migration process that serves our users best, as the question "When can I run Plasma on Wayland?" can then be answered on an individual basis, and nobody is going to be thrown into the deep (at least not by us, your distro might still decide to not offer support for X11 anymore - that is not in our hands). To me, while a quick migration to Wayland (once ready) is something desirable, realistically, people will be running Plasma on X11 for years to come. Wayland can be offered as an alternative at first, and then promote to primary platform once the whole stack matures further.
Where at we now?
With the release of KDE Frameworks 5, most of the issues in our underlying libraries have been ironed out, that means X11-dependent codepaths have become optional. Today, it's possible to run most applications built on top of Frameworks 5 under a Wayland compositor, independent from X11. This means that applications can run under both, X11 and Wayland with the same binary. This is already really cool, as without applications, having a workspace (which in a way is the glue between applications would be a pointless endeavour). This chicken-egg situation plays both ways, though: Without a workspace environment, just having apps run under Wayland is not all that useful. This video shows some of our apps under the Weston compositor. (This is not a pure Wayland session "on bare metal", but one running in an X11 window in my Plasma 5 session for the purpose of the screen-recoding.)
For a full-blown workspace, the porting situation is a bit different, as the workspace interacts much more intimately with the underlying display server than applications do at this point. These interactions are well-hidden behind the Qt platform abstraction. The workspace provides the host for rendering graphics onto the screen (the compositor) and the machinery to start and switch between applications.
We are currently missing a number of important pieces of the full puzzle: Interfaces between the workspace shell, the compositor (KWin) and the display server are not yet well-defined or implemented, some pioneering work is ahead of us. There is also a number of workspace components that need bigger adjustments, global shortcut handling being a good example. Most importantly, KWin needs to take over the role of Wayland compositor. While some support for Wayland has already been added to KWin, the work is not yet complete. Besides KWin, we also need to add support for Wayland to various bits of our workspace. Information about attached screens and their layout has to be made accessible. Global keyboard shortcuts only support X11 right now. The screen locking mechanism needs to be implemented. Information about Windows for the task-manager has to be shared. Dialog positioning and rendering needs to be ported. There are also a few assumptions in startkde and klauncher that currently prevent them from being able to start a session under Wayland, and more bits and pieces which need additional work to offer a full workspace experience under Wayland.
The idea is to be able to run the same binaries under both, X11 and Wayland. This means that we (need to decide at runtime how to interact with the windowing system. The following strategy is useful (in descending order of preference):
- Use abstract Qt and Frameworks (KF5) APIs
- Use XCB when there are no suitable Qt and KF5 APIs
- Decide at runtime whether to call X11-specific functions
In case we have to resort to functions specific to a display server, X11 should be optional both at build-time and at run-time:
- The build of X11-dependent code optional. This can be done through plugins, which are optionally included by the build-system or (less desirably) by #ifdef'ing blocks of code.
- Even with X11 support built into the binary, calls into X11-specific libraries should be guarded at runtime (QX11Info::isPlatformX11() can be used to check at runtime).
Get your Hands Dirty!
Computer graphics are an exciting thing, and many of us are longing for the day they can remove X11 from their systems. This day will eventually come, but it won't come by itself. It's a very exciting time to get involved, and make the migration happen. As you can see, we have a multitude of tasks that need work. An excellent first step is to build the thing on your system and try running, fix issues, and send us patches. Get in touch with us on Freenode's #plasma IRC channel, or via our mailing list plasma-devel(at)kde.org.
25 Jul 2014 2:28am GMT