UBports
latest
About
Introduction
About UBports
About the Documentation
Attribution
Processes
Issue-Tracking Guidelines
Where are bugs tracked?
GitHub projects
Labels
Milestones
Assignees
Examples
Bug Lifecycle
Release Schedule
repo.ubports.com
Repository naming convention
Native packages
Packaging repositories
Creating new PPAs
Branch-naming convention
Click-Packages
Deb-Packages
Branch-extensions
Dependency-file
User Guide
Install Ubuntu Touch
Troubleshooting
Connection lost during installation
Windows Defender prevents Installer from starting
Device not detected
Virtual Machine
Windows ADB drivers
Fairphone 2 Vendor-ID
Missing udev-rules
Other issues
Install on legacy Android devices
Daily use
Using location services
Checking if location services are enabled
Accessing location services settings
Open location quick settings
Open location settings in the settings app
Enabling or disabling location services
Quick settings
System settings app
Allowing apps access to location data
Changing your permissions
Using apps with location services
Time to first fix
App suspension
Run desktop applications
Manage containers
Create a container
List containers
Destroy a container
Manage applications
Install a package
Remove a package
Run desktop application
Files
Tips
Locations
Shell access
Accessing SD card
Shortcuts
Background
Android apps
Supported devices
How to install
How to install new APKs
Keep your apps up to date
How to uninstall apps
Access Android storage
Troubleshooting
Reporting bugs
Advanced use
Shell access via adb
Install ADB
Enable developer mode
Add hardware IDs
Shell access via ssh
Create your public key
Copy the public key to your device
Configure your device
Connect
References
Switch release channels
Screen Casting your UT device to your computer
Using adb
Via network
On receiver
On device
Example script
References
Reverse tethering
Steps
References
CalDAV and CardDAV synchronization
Sources:
Contribute
Contributing to UBports
Bug reporting
Get the latest Ubuntu Touch
Check if the bug is already reported
Reproduce the issue you’ve found
Making the bug report
Getting Logs
Quality Assurance
Smoke testing
Confirming bug reports
Testing patches
Initial triaging of issues
Documentation
Documentation guidelines
Title
Headings
Table of contents
Moving pages
Warnings
Line length
Contribution workflow
Forking the repository
Building the documentation
Final check of your contribution
Alternative methods to contribute
Translations
Writing documents not in RST format
Uncomfortable with Git
Current TODOs
Translations
How does a text get translated (technical background)
Methods of Translation
How-To
UBports Weblate
.po/.ts File Editor
Translation Team Communication
License
Preinstalled apps
Core apps
Which core apps currently exist?
Other preinstalled apps
Monetary support
Development
App development
Getting Started
Native applications
Web applications
Guide
Quick start
Debugging your webapp
Code Editor Integrations
Guides
Developer guides
App development cookbook
Unofficial resources
Playground
The content hub - tips and tricks
Different ways of sharing the content
Wait a minute. Why the different apps?
Importing from Content Hub and URLdispatcher
Handle data from the Content Hub
What about the URLdispatcher?
And how do we manage the received URL?
What happens if more than one app has the same URL type defined?
Push notifications
Make the app ready for push notifications
Using the Push Service API
User Metrics
What are User Metrics?
How can I use User Metrics in my application?
How do User Metrics work?
Limitations and wonders
Writable directories
Standard Paths
Using Standard Paths in C++
Using Standard Paths in QML
Handle C++ dependencies with Clickable
Building
Usage
Deployment
Publishing
App publishing guides
Documentation
Platform
Platform
Packaging your app
Click package
Security and app isolation
AppArmor Policy Groups
accounts
audio
bluetooth
calendar
camera
connectivity
contacts
content_exchange
content_exchange_source
debug
document_files
document_files_read
history
keep-display-on
location
microphone
music_files
music_files_read
networking
picture_files
picture_files_read
push-notification-client
sensors
usermetrics
video
video_files
video_files_read
webview
Sample apps
Sample Apps
Preinstalled apps
Human interface guidelines
Design concepts
Operating system and app palette
Units
Resolution Independence Approach
Measurement Units
Device Sizes
Typography
Fonts
App icon design
Design Philosophy and Suru Meaning
Design Tips for an App Icon
In-app icons design
Interface Icons
App layout
App main view
Header
Tabbed content
Bottom edge menu
Header uses
Main actions
Slots
Action Drawer
Responsive layout
3 slot layout
4 slot layout
5 slot layout
6 slot layout
Medium to large screens
Simple
Quick actions
Hint
Importing Data
Presenting data
List Items
Lists in edit mode
Layout of detailed list items
Dialogs
Examples of designs to avoid
Other design considerations
Convergence
Screen size
Input method
Scaling images
Accessibility
Inclusive palette and theme
Input methods
Translations
System software development
Kernel and hardware abstraction
Kernel and hardware abstraction
Android 5.1 based ports
Halium based ports
Linux based ports
hammerhead, bacon and FP2
Getting set up
Set up and build
Install the new image
PinePhone and PineTab kernel
Recovery
Building the kernel
Install the kernel
References
System Software guides
Making changes and testing locally
Cross-building with crossbuilder
Building on the device itself
Next steps
Uploading and testing with
ubports-qa
Fork the repository
Make and commit changes
Update the
debian/changelog
file
Create your pull request
Test your changes
Celebrate!
System Software reference
Working on the Calendar feature
Debugging
Working on the Online Accounts subsystem
Debugging
QtMir and QtUbuntu
QtMir
QtUbuntu
MMS infrastructure components
General Description
References
Porting
Introduction to porting
What is Ubuntu Touch?
Overview of the porting process
The challenges of the porting process
Prior knowledge and skills
Getting community help
General advice
Preparations
Locate relevant guides and other information
Unlock the bootloader
Install TWRP recovery
Recommendations for the host/build PC
Halium 7.1
Building the images
Build the Halium system image
Build the images for Ubuntu Touch
Fix mount points
Edit kernel config
Ubuntu Touch requires setting console=tty0
Build halium-boot.img and system.img
Troubleshooting the build process
Installing
Install and debug initial boot
Flash halium-boot
Install system.img and rootfs
Get SSH access
Troubleshooting initial boot
The graphical UI
Bring up Unity 8 (the graphical UI)
Make / writable
Add udev rules
Problems when bringing up Unity 8
Configuring Ubuntu Touch
Overlay files
Rebuild system.img
Udev rules
Display scaling
Apply apparmor kernel patches
Sound configuration
Further configuration
Common errors
Known issues when building the images for UT
Known issues with initial boot
SSH hangs when trying to connect
Device reboots after a minute
Known issues when bringing up Unity 8
Nothing shows on screen
Programs hang before crashing
Known issues when configuring the device
Apps crash on launch
Reference material
Display settings
Display scaling
Form factor
Native orientation
AppArmor
Backporting kernel drivers
Android init scripts
Halium 9
GSI Porting
Common errors
Building UBports recovery
Configuring the UBports installer
Platform
Click Packages
Ubuntu UI-Toolkit
Clickable
Halium
UBports
Docs
»
Human interface guidelines
»
Other design considerations
Edit on GitHub
Other design considerations
¶
Convergence
Scaling images
Accessibility
Translations
Read the Docs
v: latest
Versions
latest
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.