URL: https://linuxfr.org/users/gnumdk/journaux/telephone-sous-linux-3c82896e-f65c-4012-9c71-3e1fdd2b9558 Title: Téléphone sous Linux ? Authors: gnumdk Date: 2024年04月25日T10:39:02+02:00 License: CC By-SA Tags: mobian, postmarketos, droidian, furios et smartphone Score: 40 Aujourd'hui, avoir un téléphone avec un Android libéré, c'est possible, on pense en particulier à [Murena](https://murena.com/fr). Avoir un téléphone sous GNU/Linux, c'est aussi possible via des projets tels que [Librem](https://puri.sm/products/librem-5/) ou encore le [Pinephone](https://pine64.org/devices/pinephone_pro). On peut aussi utiliser [PostmarketOS](https://postmarketos.org/) avec un Oneplus 6 par exemple. J'ai longtemps utilisé LineageOS (Oneplus one, Pixel 1, Oneplus 7 pro) tout en contribuant au projet mais j'avoue que le monde Android ne m'a jamais beaucoup passionné. J'ai aussi eu un Meizu/UbuntuPhone en 2015. L'année dernière, j'ai récupéré un Oneplus 6 que j'ai immédiatement passé sous PostmarketOS. C'est une expérience agréable modulo quelques déconvenues : - Pour l'instant, les appels téléphoniques se passent assez mal (problème de sélection des bonnes entrées/sorties audio) - La caméra ne fonctionne pas. - Le détecteur d'empreintes ne fonctionne pas C'est assez normal en soit, il y a un gros travail de portage des drivers Android (noyau ancien 4.14) vers le noyau actuel et pour la caméra par exemple, c'est très complexe. Je suis donc resté sous LineageOS sur mon Op7 pro en me servant du Op6 comme lecteur MP3. Et puis je suis allé en février au FOSDEM rencontrer la communauté GNOME (je contribue pas mal au projet) et j'ai découvert ce jour-là le projet [Droidian](https://devices.droidian.org/#/devices) Après réflexion, j'ai donc acheté un Redmi Note 9 pro et j'ai enfin pu avoir un téléphone sous GNU/Linux fonctionnel ! Droidian c'est quoi ? C'est Mobian (Debian pour mobile) + Halium (ce qu'utilise [UBports](https://ubports.com/fr/)). En gros, le téléphone boot sur le noyau Linux Android d'origine, lance un conteneur LXC pour avoir un Android minimal afin de communiquer avec le noyau puis lance les services Linux standards que l'on trouve sur un téléphone Linux: ofono, phosh, ... Résultat, tout fonctionne (même la caméra)! On a donc un téléphone GNU/Android/Linux :) On peut même utiliser Waydroid pour lancer ses applications Android préférées. Pas de bol pour moi, le Redmi Note 9 pro a été supprimé des téléphones officiellement supportés et j'ai donc pris le relais (pas encore officiellement) pour la maintenance : https://github.com/gnumdk-miatoll Par défaut, Droidian utilise un service (batman) qui se charge de l'économie d'énergie avec des résultats plutôt intéressants. Ayant fait quelques modules kernel du temps où je bossais sur LineagesOS, je me suis inspiré de Batman pour [développer un module chargé de gérer au mieux l'énergie quand l'écran est éteint](https://github.com/gnumdk-miatoll/linux-android-xiaomi-miatoll/blob/gnumdk/drivers/power/power_saver.c). J'arrive à avoir des résultats impressionnants : https://floss.social/@gnumdk/112309304719804582 et https://floss.social/@gnumdk/112115901530845308 . Et pourtant ce module noyau fait une chose que l'on m'a toujours déconseillé de faire sous Android, baisser tous les curseurs de performances au minimum quand l'écran est éteint. En effet, un téléphone Android ne se met jamais en veille, il freeze les applications et compte sur le ["CPU idle"](https://docs.kernel.org/admin-guide/pm/cpuidle.html) pour économiser de l'énergie. Problème sous Android, si on force les performances au minimum, les tâches mettent plus de temps à s'exécuter, du coup les CPU ne sont jamais idle et donc on consomme plus d'énergie. Ben ce n'est pas vrai ici, j'ai clairement un téléphone qui tient beaucoup mieux que mes téléphones Android avec en usage une consommation d'énergie équivalente écran allumé, mais lorsque je laisse mon téléphone sur un coin de table, une consommation d'énergie vraiment minimale. Autre projet que j'ai dû développer pour avoir le même niveau de fonctionnalité que sur mon téléphone LineageOS: [un gestionnaire de charge de batterie](https://gitlab.gnome.org/gnumdk/battery-input-manager). Pour finir, concernant Waydroid, par défaut, il est livré soit avec un Android AOSP, soit avec le store Google. Cette dernière version fonctionne bien, mais l'appli de ma banque n'a pas voulu fonctionner à cause de [SafetyNet](https://developer.android.com/privacy-and-security/safetynet?hl=fr). Je me suis donc rabattu sur [AOSP + MicroG](https://github.com/casualsnek/waydroid_script) ce qui permet de "spoofer" SafetyNet. Voici les apps que j'utilise quotidiennement : SNCF, blablacar, Boursobank, Meteociel, Paypal et OrganicMap. Il y a bien Puremaps en natif sur Droidian mais sans la géolocalisation via 4G/Wifi, c'est un peu long d'où l'usage de OrganicMap + MicroG + Mozilla Location Services. Voilà, j'espère que j'ai donné envie aux plus geeks d'entre vous :)