[Android Software/Hacking General [Developers Only]] tallnerd1985:
Hello gents and ladies,

Since the announcement that Canonical made on making Ubuntu on Android a release for OEMs to put on their devices, there has been quite a stir and interest on when we are getting to get this on our phones. Sadly, while the distro of Ubuntu is open-sourced, the programs that were created to achieve this method are not available to the public due to Canonical outsourcing the work to a 3rd party company.

Some users here may already say that we have Ubuntu on our phones but the method that is most commonly used by the community is to load up a virtual environment or Chroot inside of Android then remote into the interface via a VNC connection app. While this does work, it is a pretty sloppy method that is resource intensive and does not benefit from any hardware acceleration for the Linux desktop environment that is used. Plus, there is no way to pipe audio thru a VNC connection so using any audio/video programs in VNC is pointless.

Lastly, Ubuntu on Android is actually nothing new to the world of Android, as its been around for about a year and a half. It came in the form called Webtop that Motorola had launched on their Atrix/Bionic/RAZR lineup of phones. Webtop is essentially a stripped down version of Ubuntu with a lot of Linux tools taken out along with a very limited desktop environment. Webtop does everything that Ubuntu on Android does but in a neutered manner but there are different groups on each phone that have accomplished bringing back many of the linux tools that were taken out. Check out the thread below to see what I mean.

http://xdaforums.com/showthread.php?t=1397583

It is believed that the same methods and tools that are present in Webtop are the same ones being used by Ubuntu on Android and possibly made by the same company. This can be seen in the demo video of Ubuntu on Android where the demonstrator had replaced the Webtop distro with a full Ubuntu 12.04 distro on a Motorola Atrix 2. So to debunk the myth that Ubuntu on Android can be easily loaded up on a phone as shown on video, no cause it was initially was setup with the required framework and partition space to load Ubuntu on Android even before Canonical announced Ubuntu on Android.

With all that is said, Canonical is targeted OEMs and Carriers to launch their Ubuntu on Android on select model phones and probably will not release the necessary tools as open-source code so the development community can compile their own working Ubuntu on Android. Now, all hope is not lost because some of the work has already been done but needs to come together into a package that can be ported from one phone to another.

Here are different parts that are needed:

1) Ubuntu image

There are many working images out there that run in a chroot environment but there is one universal image that is being implemented that is made by zacthespack that works on a variety of different devices - See attached thread

http://xdaforums.com/showthread.php?t=1467811

2) X Server Port

Instead of using a VNC client and server model which is very resource intensive and does not benefit from GPU acceleration/Framebuffer. Using a X Server windows management system like they do on home PCs and laptop will greatly increase speed and functionality of a Linux distro opposed to VNC. This is how Webtop on the Motorola phones work is by using a port of X Server which pipes the display out to the HDMI port to be used with the Laptop dock or home dock. There is a group at AndroiX.org that is working on a port of X Server for Android that is looking very promising so hopefully anybody that can contribute to project to speed it up as it is the most crucial part for Linux in Android.

3) Sound

The biggest drawback of VNC is the lack of any sound processing which can be very annoying when trying to watch any videos or listen to sound clips on the web. What they are using on Webtop and Ubuntu on Android is a custom compiled version of PulseAudio module to pipe audio thru Android's audio manager system. No projects have yet been started on this so if anybody knows of one, feel free to post a link.

4) Android in Window

As demo'ed in the video and on Webtop, you have the ability to see whats on your Android display but in a window within Ubuntu when Webtop/Ubuntu on Android is engaged. This is a cool feature that maybe a X client app within android that pipes the display to a window in Ubuntu or maybe VNC client/server scenario. This is not really necessary to Linux in Android but non the less a cool feature to have.

5) Contacts/Text messages/Call logs

This is more shown in Ubuntu on Android opposed to Webtop where in Ubuntu mode, you can look at your Contacts or call logs in a program as opposed a Android view in a window. They also demo'ed a special program in Ubuntu to where you can send/receive text messages in a interface designed for Unity. They accomplished this by using a server application in Android, more commonly known as Motorola Phone Portal, that can relay information from the phone to applets inside of Webtop/Ubuntu on Android using a web interface API on localhost:8080 or on a remote computer on the same network. Like I said before, not really necessary but another cool function to have.

All and all, this pretty much sums up all the different parts for a project like this to take place. I am in no way a seasoned developer, just a person throwing out concepts that I have learned and done myself on the Bionic Webtop phone which hopefully some skilled individuals can run with as I am no Linux expert by any means. Anywho, let me know what you guys think about this and what can be improved.