Ubuntu Touch Release Notes for Saucy Salamander (A.K.A Phone 1.0)
13.10 represents a major step forward for the Ubuntu project, because it features the first image to support phones. Furthermore, the Ubuntu phone images feature a set of new technologies that solve many of the longstanding difficulties with Ubuntu distros. Specifically:
- Image based updates
- A complete SDK
- Application Isolation
- Click packages and click installer with app store
- Mir Display Server and Window Manager
- Unity 8
For 13.10, Ubuntu primarily supports the Galaxy Nexus and Nexus 4 phones, though there are images available for other phones and tablets.
Known Issues for 13.10
Please check https://wiki.ubuntu.com/SaucySalamander/ReleaseNotes#Ubuntu_for_phones for more details about the known issues for the 13.10 release for Touch.
"Touch Developer Preview for Ubuntu" is released for free non-commercial use. It is provided without warranty, even the implied warranty of merchantability, satisfaction or fitness for a particular use. See the licence included with each program for details. Some licences may grant additional rights; this notice shall not limit your rights under each program's licence. Licences for each program are available in the usr/share/doc directory. Source code for Ubuntu can be downloaded from archive.ubuntu.com. Ubuntu, the Ubuntu logo and Canonical are registered trademarks of Canonical Ltd. All other trademarks are the property of their respective owners. "Touch Preview for Ubuntu" is released for limited use due to the inclusion of binary hardware support files. The original components and licenses can be found at:
Some licences may grant additional rights; this notice shall not limit your rights under each program's licence. Licences for each program are available in the usr/share/doc directory. Source code for Ubuntu can be downloaded from archive.ubuntu.com. Ubuntu, the Ubuntu logo and Canonical are registered trademarks of Canonical Ltd. All other trademarks are the property of their respective owners.
"Touch Preview for Ubuntu" is released for limited use due to the inclusion of binary hardware support files. The original components and licenses can be found at:
Follow for the installation instructions to install Touch, which include a list of supported devices.
This release uses Ubuntu 13.10 as its basis. It introduces a revised version of Unity oriented toward touch devices and new concepts in user experience. It also introduces a set of applications written using the previously announced Ubuntu SDK Preview.
Accessing the system for development
The images have a pre-configured user account called phablet, with the account password also set to phablet. There is a set of default sample accounts for the tablet, the login passwords are set to the first name in lowercase. These are for demonstration purposes and do not affect the user session.
Accessing the device over SSH
The recommended way to get shell access to the device is through SSH.
Whenever you're asked for a password, it's phablet.
Note This process will not work if you have just flashed with "ubuntu-system" variant as that's a read-only filesystem. You can make the filesystem read/write using adb shell touch /userdata/.writable_image and then adb reboot. If you used the "cdimage-touch" variant, this doesn't apply, just carry on with the instructions.
To setup secure shell access, do the following:
Follow the steps for access over ADB. From here, you should be in the phablet shell until step 4.
Skip this step if you've already installed the openssh-server and ssh package on both the device and your computer. Otherwise, run sudo apt-get install openssh-server and sudo apt-get install ssh as necessary.
After you connect your device to wifi, run ifconfig wlan0 on the device's terminal or ip addr show wlan0 on the phablet shell to get its IP address (inet addr:). You will need this number for step 5. For the ifconfig option, you may need to enable the /proc filesystem by running: sudo mount -t proc proc /proc.
- Press the Ctrl+D key combination 3 times to successively exit all shells. Alternatively, you can start a new terminal (Ctrl+Alt+T) to run the command in the next step.
Run ssh phablet@ipaddress_of_device to connect to the device. If you're connecting for the first time, you'll be prompted to add the device to your list of known hosts, so accept the prompt.
You also can use adb port forwarding to allow SSH access to the Ubuntu container via USB. To do this, run
adb forward tcp:8888 tcp:22 ssh phablet@localhost -p 8888
Accessing the device over ADB
It is recommended to access the device through SSH to properly see the Ubuntu PID namespace. However you can adb into the device as well for some tasks. Do the following:
- Start a terminal on your computer by pressing the Ctrl+Alt+T key combination
If you have already set up your environment for flashing Ubuntu images, skip to the next step. Otherwise install the Touch Preview tools PPA.
- Run the following commands to connect to the device through ADB:
adb root adb shell
Execute the following command to run as user phablet (required to run apps in an initialized session):
sudo -u phablet -i
NOTE: you will not be able to run ps or view processes by accessing the device in this manner; please use SSH if you are intending to monitor processes.
The Developer Preview comes with the following functional applications:
- Phone (Dialer, SMS, Address Book)
- Media Player
- Music app
- Weather app
Installing new apps
See the SDK documentation for information on how to install apps on the device with Qt Creator.
Contacts can be added in the address book of the Phone application. Launch the Phone application and swipe to the “Contacts” tab. You can manually enter your contacts from there.
Alternatively you can import contacts from a csv file. The csv file should be in same format as /usr/share/demo-assets/contacts-data/data.csv. Replace the sample data.csv file with your own version and run manage-address-books.py create to import your contacts.
You can also import your Google Contacts: http://sergiusens.github.io/posts/google-contacts-on-ubuntu-touch.html
Photos can be added to the device and viewed in the Gallery application. They can be copied into /home/phablet/Pictures folder and they will be displayed in the Gallery. Also, pictures can be taken with the Camera application and they will automatically appear in the Gallery.
Videos can be copied onto the device into the /home/phablet/Videos folder and viewed with the Media Player application. They can be surfaced in the video lens by modifying the /usr/share/unity/lenses/mockvideos/mockvideos.json file to point at your installed videos (this process will be automatic in the future).
Alternatively, you can run the Media Player from the shell by running the following command:
media-player <full_path_to_video_file> --desktop_file_hint=/usr/share/applications/media-player.desktop
Some parts of the image can’t currently be upgraded, so it is best to deploy a full updated image. Some individual apps can be updated with apt, though. First add the phablet-team ppa (https://launchpad.net/~phablet-team/+archive/ppa) to /etc/apt/sources.list. Then run the following command with root permissions to update apps:
# apt-get update && apt-get upgrade
Porting to other devices
If you are interested in getting the Touch Preview working on a new device, please see our porting guide.
Memory usage has not yet been optimized for the devices. It is possible to experience application crashes due to having too many applications open at the same time. A workaround is to close apps that are not being used.
Language and keyboard
A Settings UI for selecting the language and keyboard/input method is currently in the works. In the meantime, the settings can be changed from the command line.
These instructions require you to be using a saucy version of Ubuntu Touch. If you are on raring, please upgrade to the latest Ubuntu Touch for saucy with phablet-flash.
- settings work via gsettings cli:
- adb shell sudo -iu phablet gsettings set com.canonical.keyboard.maliit auto-capitalization false
- adb shell sudo -iu phablet gsettings set com.canonical.keyboard.maliit auto-completion false
- adb shell sudo -iu phablet gsettings set com.canonical.keyboard.maliit key-press-feedback false
- adb shell sudo -iu phablet gsettings set com.canonical.keyboard.maliit predictive-text true
- adb shell sudo -iu phablet gsettings set com.canonical.keyboard.maliit spell-checking false
- adb shell sudo -iu phablet gsettings set com.canonical.keyboard.maliit enabled-languages "['en_us', 'es', 'fr', 'pt', 'de', 'zh_cn_pinyin']"
- Restart the phone: adb reboot
To set your system language to display localized strings (where available) in applications, do the following. In the example we'll be changing the language to Simplified Chinese (language code zh_CN). For any other language, replace the zh_CN by your language's ISO 639 code. E.g. it for Italian, pt_BR for Brazilian Portuguese, etc.
Access your device through SSH or start the Terminal app on your device
- Then on the terminal connected to your device run:
sudo apt-get install fonts-droid # Required only if your language requires additional fonts sudo locale-gen zh_CN sudo vi /etc/default/locale # Then change LANG="en_US.UTF-8" to LANG="zh_CN.UTF-8" sudo vi /etc/environment # Then change LANG="zh_CN.UTF-8" and LANGUAGE="zh_CN" reboot make sure (using env) that LANGUAGE is set to the desired locale.
The Developer Preview has support for Wi-Fi networking via the new network indicator, which supports basic Wi-Fi connections (Open, WEP and WPA Personal). It is possible to configure more advanced settings, however at this time this requires working directly with Network Manager system connection files.
The following network features are not yet included in the Developer Preview:
- Airplane Mode/Wi-Fi Power Control
- Advanced Settings (e.g. Hidden SSIDs, Manual IP, VPN…)
- Hot Spot/Tethering
The Developer Preview currently only supports limited voice and SMS over GSM and WCDMA.
The following Radio technologies are not yet included in the Developer Preview:
- Airplane Mode
- Settings ( eg. APN choice, 2G only, … )
Mobile data is generally not supported, data is available via Wi-Fi only. However, for instructions on how to enable 3G on devices, please see the following G+ post by Ricardo Salveti.
These Call features are not yet supported:
- Emergency Call Support ( ie. ability to dial emergency numbers without a valid SIM card ).
- PIN/PUK support for locked SIMs
- No SIM filesystem support
These SMS features are not yet implemented:
- Send error handling
- Delivery Reports
Device Specific Issues
- The 802.11a protocol (i.e. 5GHz) is currently not working.
In rare circumstances, the Nexus4 may get into a state where it may not boot at all after the battery is drained (even into recovery). If this happens, the only way to restore it is to disassemble the back of the phone and unplug/plug the battery connector. See Power Consumption to learn how to avoid discharging the phone completely.
Radio firmware above radio-mako-m9615a-cefwmazm-2.0.1700.84 not supported.
- Taking pictures with the camera application causes an issue with audio. The volume indicator and volume keys will not work to control the sound until reboot.
- People lens sometimes comes up empty after first flashing the device and booting. Rebooting fixes the issue.
- Runs in portrait mode by default (no side stage)
- Camera and video decoding do not function.
- No multi-user login.
Devices with 1080 screens
Set the GRID_UNIT_PX environment variable to an appropriate value for the device (i.e. 30 for a 5” handset screen) in the /usr/bin/ubuntu-session script and in the /home/phablet/.bashrc file.
Ubuntu SDK Alpha
You can now install and execute applications on your device from a computer running Qt Creator:
Plug in your mobile device running Ubuntu on the USB port of your computer
Make sure your device is also connected to a wireless network (SSH key pairing happens over the air)
Start Qt Creator from the Dash, and select the new Devices tab
Press the Enable button to activate Developer Mode
Develop your QML projects as usual (best way is to use one of the Ubuntu application templates in the File > New File or Project... menu entry). They will ensure that there is an ApplicationName.desktop file (where ApplicationName is the name of your application) with content similar to the following one:
[Desktop Entry] Encoding=UTF-8 Type=Application Terminal=false Exec=/usr/bin/qmlscene Name=ApplicationName GenericName=ApplicationName Comment=My project description Icon=ubuntu-qmlrunner
Once the device is connected, you can press Ctrl+F12 to install and execute your app on the remote device
Alternatively, you can manually install Qt5/QML-based apps and run them on the device.
Use adb push to copy your package or files to the device
SSH into your device as user phablet
- To run, use
qmlscene --desktop_file_hint=/usr/share/applications/qmlscene.desktop YourApp.qml
Applications will be launched minimized by default. Go to the Apps lens and select your app from the list of Running Applications to bring it to the foreground
- Applications launched on the device from Qt Creator start up in a non-focused mode. Remotely-executed apps are in thumbview mode in the Running Apps section on the Apps lens
- The remotely-executed apps can not be focused by tapping on the thumbview, they need to be focused with a right-edge swipe
- Documentation for the remote deployment feature is not yet available
- Qt Creator does not use the system fonts
- The welcome screen needs some visual improvements coming up soon