Lancement d’Ubuntu Touch

Now that you’re logged in, there are a few more steps before Ubuntu Touch will be fully functional on your device.

Rendre modifiable

Before we make any changes to the rootfs (which will be required for the next steps), you’ll need to remount it with write permissions. To do that, run the following command:

sudo mount -o remount,rw /

Ajouter des règles udev

You must create some udev rules to allow Ubuntu Touch software to access your hardware. Run the following command, replacing [codename] with your device’s codename:

sudo -i # And enter your password
cat /var/lib/lxc/android/rootfs/ueventd*.rc|grep ^/dev|sed -e 's/^\/dev\///'|awk '{printf "ACTION==\"add\", KERNEL==\"%s\", OWNER=\"%s\", GROUP=\"%s\", MODE=\"%s\"\n",$1,$3,$4,$2}' | sed -e 's/\r//' >/usr/lib/lxc-android-config/70-[codename].rules

Maintenant, redémarrez votre appareil. Si tout s’est bien passé, vous devriez voir le logo animé d’Ubuntu Touch suivi par Unity 8. Votre mot de passe de verrouillage est le même que celui que vous aviez défini pour SSH.

Paramètres d’affichage

Lorsque l’appareil démarrera, vous remarquerez que tout sera très petit. Il existe deux variables qui définissent la mise à l’échelle du contenu pour les applications sur Unity 8 et Ubuntu Touch : GRID_UNIT_PX et QTWEBKIT_DPR.

Il existe également d’autres options disponibles qui pourraient vous être utiles en fonction du facteur de forme de votre appareil. Celles-ci sont traitées ci-dessous.

Tous ces paramètres sont devinés par Unity 8 si aucun d’entre eux n’est défini. Il existe de nombreux cas cependant pour lesquels la déduction est fausse (par exemple, les écrans de téléphone à très haute résolution seront identifiés comme des ordinateurs de bureau). Pour définir manuellement une valeur pour ces variables, créez simplement un fichier sous /etc/ubuntu-session.d/[codename].conf en les spécifiant. Par exemple, voici le fichier pour la tablette Nexus 7

$ cat /etc/ubuntu-touch-session.d/flo.conf
GRID_UNIT_PX=18
QTWEBKIT_DPR=2.0
NATIVE_ORIENTATION=landscape
FORM_FACTOR=tablet

Les méthodes de dérivation des valeurs pour ces variables sont décrites ci-dessous.

Mise à l’échelle de l’affichage

GRID_UNIT_PX (Pixels per Grid Unit ou Px/GU ou Pixels par Unité de Grille) est spécifique à chaque appareil. Son but est de donner à l’interface utilisateur du système et à ses applications la même taille perçue peu importe l’appareil sur lequel elles sont affichées. Il est essentiellement dépendant de la densité de pixels de l’écran de l’appareil et de la distance entre l’utilisateur et l’écran. Cette dernière valeur ne peut être automatiquement détectée et est basée sur l’expérience. Nous supposons que les tablettes et les ordinateurs sont à la même distance et qu’ils sont tenus à 1,235 fois la distance à laquelle les téléphones ont tendance à être tenus.

QTWEBKIT_DPR définit la mise à l’échelle de l’affichage pour le moteur Web Oxide, ainsi des modifications de cette valeur affecteront l’échelle du navigateur et des Webapps.

A reference device has been chosen from which we derive the values for all other devices. The reference device is a laptop with a 120ppi screen. However, there is no exact formula since these options are set for perceived size rather than physical size. Here are some values for other devices so you may derive the correct one for yours:

Appareil Résolution Taille d’affichage Pixels par pouce Pixels par Unité de Grille QtWebKit DPR
Ordinateur à densité « normale » N/A N/A 96-150 8 1.0
Nexus 7 d’ASUS 1280x800 7 » 216 12 2.0
Ordinateur à densité « forte » N/A N/A 150-250 16 1.5
Galaxy Nexus de Samsung 1280x720 4.65 » 316 18 2.0
Nexus 4 de LG 1280x768 4.7 » 320 18 2.0
Nexus 10 de Samsung 2560x1600 10.1 » 299 20 2.0
Fairphone 2 1080x1920 5 » 440 23 2.5
Nexus 5 de LG 1080x1920 4.95 » 445 23 2.5

Essayez plusieurs valeurs pour trouver celle qui donne de bons résultats comparés au rendu d’Ubuntu Touch sur d’autres appareils. Si vous n’êtes pas certains de la meilleure, partagez quelques photos (comprenant quelques objets pour l’échelle) accompagnées des spécifications de l’appareil avec nous.

Facteur de forme

Il existe deux autres paramètres qui peuvent vous intéresser.

FORM_FACTOR spécifie le facteur de forme de l’appareil. Cette valeur est définie en tant que châssis de l’appareil, que vous pouvez trouver en exécutant hostnamectl. Les valeurs acceptées sont handset, tablet, laptop et desktop. Les applications telles que la galerie utilisent cette information pour modifier leurs fonctionnalités. Pour plus d’informations sur le châssis, consultez la spécification hébergée sur freedesktop.org.

NATIVE_ORIENTATION définit l’orientation d’affichage de l’écran intégré à l’appareil. Cette valeur est utilisée lorsque la rotation automatique ne fonctionne pas correctement ou lorsqu’une application souhaite être verrouillée dans l’orientation native de l’appareil. Les valeurs acceptables sont landscape (paysage, qui est normalement utilisée pour les tablettes, les ordinateurs portables et les ordinateurs de bureau) et portrait (portait, qui est habituellement utilisée pour les terminaux téléphoniques).

Common Problems

If you have any errors while performing these steps, check see if any of the following suggestions match what you are seeing. If you have completed these steps successfully, congratulations! You’ve reached the end of the porting guide for now. Try to check the functionality of your device by following the Smoke Testing information in Assurance qualité.