A little while ago I talked about our goals to get the core Ubuntu Desktop running on the Nexus 7. Again, just to be clear: the goal here is to get the lower level foundations of the Ubuntu Desktop running efficiently on the Nexus. This work is focused on optimizing the kernel, X, networking, memory consumption etc of the core of Ubuntu and not focused on making Unity into a tablet user interface. You can’t build a great house without a solid foundation.
Like many of you, I installed Ubuntu on my Nexus 7 that arrived yesterday and the installation instructions were a breeze:
You can always revert back to Android if you need to, so come on, give Ubuntu a whirl!
Currently Ubuntu on the Nexus 7 boots and Unity runs, albeit a little slowly, but with the core touch gestures working. So far the desktop, networking, suspend/resume, and sound works, but things such as a the camera, accelerometer and other bits are still not working. The goal is to optimize the stack to run more efficiently and ensure all the hardware functions work in due time.
One of the questions many people have been asking is if these performance improvements will benefit Ubuntu in general. While some improvements will be specific to the Nexus 7, most should benefit Ubuntu in a more general sense in terms of improving performance, lowing memory consumption etc. So yes, if you contribute to helping this work, your contributions will likely benefit Ubuntu on desktop machines, servers, cloud, and elsewhere too. Also, given the nature of how our flavors are built on the foundations of Ubuntu, many of these improvements should also help our flavors too. If you are not picking up the subtlety of my prose, this is all valuable work for everyone.
Growing Community Participation
As part of this work we are really keen to work with our wider Ubuntu community and over the last few weeks I have been working with Daniel Holbach on my team as well as Alex Chiang on the Nexus team to identify the different ways in which community members can help. This is on-going work, but I wanted to sync you up on what is going on.
We want to provide a means in which everyone can help with these efforts, but there are two core types of contribution here:
- Development – helping to optimize software, package bug-fixing, and otherwise contribute to the core distribution running on the Nexus 7.
- Testing – testing different parts of the Nexus 7, running benchmarks to to see how the development work is progressing, and reporting bugs.
Now, some of you may be interested in helping with other areas such as advocacy, translations, documentation etc. We will get to those parts soon, but right now we want to get developers and testers up and running and then we can widen the net of potential contributions further after those folks are up and running. We are definitely keen to ensure that everyone can help though.
Now, in terms of the former (Development) we are working to put the following resources in place:
- Instructions for how to contribute as a developer, and areas of focus each week.
- Details for how to learn the skills to participate.
- A common list of bugs that we can point developers too.
We already have some documentation availabe where you can find out how to work with patched packages and test the PPA. The other documentation needs above will be added soon.
For latter much of this work will focus around benchmarking. We want to identify parts of the system that are slow and inefficient and optimize those parts to work better. Part of this optimization work will involve creating new builds of these different components and inviting community members to test them, and run benchmarking tests to see what efficiency benefits we get.
To help with this we are working on the following:
- Instructions for how to test the Nexus 7 and what kind of bug reports we need.
- Getting benchmarking suites that we can use to track the effiency of different parts of the stack.
- Provide a good workflow that benchmarking results and bugs can flow into the development pipeline so our development community can fix these issues.
A lot of this work is starting to land, and if you want to help with bugs be sure to read Matt’s blog entry about how to get involved.
If you are interested in helping with measuring and debugging, see this documentation where you can find out how to measure power consumption, measure memory usage, and simulate realistic usage when benchmarking a browser.
More documentation and resources will be available soon.
Meeting and Support
To get the ball rolling we have scheduled a weekly meeting every Friday at 4pm UTC in
#ubuntu-meeting. The goal of the meeting is to discuss progress being made, identify areas of focus, and provide a means for our community to get involved in this work. The meeting will be chaired by Alex Chiang.
To get in touch with the development team, be sure to join
#ubuntu-devel on Freenode, and you can also ask questions on Ask Ubuntu right here. If you have been using Ubuntu on the Nexus 7, also be sure to go and answer any questions you can; that is a great contribution!
We are still very much at the beginning of this journey but we are determined to be successful in making Ubuntu rock on the Nexus 7. For us to do a great job here we will need lots of help from our community to get involved, and we want to make this as simple as possible, so please do share your feedback about how we can make this easier. A great place to share this feedback is in the weekly meeting too; we can then note down suggestions and work on solutions.
Ubuntu has made tremendous progress in recent years on the desktop and in the cloud, and we think we have a real shot at making a real change on devices too. Together we can bring Free Software to more people across the desktop, cloud, servers, and devices, and every contribution from our community edges us another step further. Please be sure to ask any questions that I can help with. Thanks!