It is already available in its different versions for Nexus 4, Galaxy Nexus, Nexus 7 and Nexus 10, but at the moment it seemed that it would take time to reach the rest of the devices. However, it seems that it won’t take long to test it on other smartphones and tablets, as long as we have a version of CyanogenMod 10.1 installed. And we say try it because it is most likely that being a version that still has a lot to be functional, you end up returning to Android. However, it is never bad to be able to see how it works and what is the feeling of using Ubuntu. It can be done but, for now, with a little effort and knowledge that is not available to everyone, although it is a good sign that in the near future it will be much easier.
And is that, to reach more devices, Ubuntu is actually based on Android and CyanogenMod. What it does not take from Android is its dalvik Java machine, the one that produces those slowdowns in the operating system of the Mountain View ones. However, this machine is responsible, so to speak, for running applications, so there is no hope for native compatibility, at least for now. However, it does take all the C / C ++ code from Android, which makes it installable on any Android device, and easily executable on anyone that already has CyanogenMod 10.1. How to do it? Therein lies the complexity. Canonical has provided a page with instructions on how to port Ubuntu to systems with the Custom ROM, but it is out of reach for most. If you are still interested, you can take a look at the corresponding section of its official page.
For the rest there is the hope that the developers of XDA Developers create a simpler system that automates part of the process, so that in that way Ubuntu Touch be more accessible to other users.