Tag Archives: Arch Linux ARM

Quelques mises à jours dans les paquets Archlinux ARM faits maison

Toujours dans mon dépôt perso de binaires et PKGBUILD Archlinux ARM
* Ajouté l’émulateur PPSSPP (pour PSP, console portable), étonnamment il détecte si c’est OpenGL ou OpenGL ES qui est accéléré et s’adapte !!! Espérons que ça en pousse d’autres à faire pareil en attendant Vulkan. Par contre sur le RK3288, on peut pas agrandir la fenêtre et l’application plante (en figeant X) si l’accélération matérielle est active. (il est possible de ne redémarrer que lightdm si on est connecté en ssh sur la machine.

* Nouvelle version de qemu (2.4.1, je sais plus si je l’avais dit), on doit pouvoir améliorer encore, mais c’est déjà mieux. Il n’y a pas l’exécutable qemu-kvm par exemple. Mise à jour du 10 décembre : mise à jour en version 2.5.0 de mon paquet (requiet libcacard qui est un paquet à part, se trouve dans le même dossier), ajoute les émulations de systèmes complets, les bios, le support GTK, les PKGBUILD sont plus propres.

* Mise à jour d’Entangle (même version mais avec lib récente)

* Mise à jour de 0ad (Alpha19, il vaut mieux du full OpenGL accéléré, sinon, c’est du 3 fps en pur logiciel ^^

* Mise à jour de blender en 2.76.b, plus besoin de mon patch puisque le patch pour non-x86 a été appliqué dans les sources originales, le PKGBUILD officiel d’archlinux (pour x86) fonctionne donc parfaitement sous arm (et autres à priori)

* en ARM et x86_64 à la fois, j’ai ajouté perl-glib-object-introspection qui permet d’utiliser gstreamer avec gmusicbowser (any comme écrit en perl, également disponible) et donc de jouer plus de formats de fichiers. Penser à choisir pulse à la place d’auto pour la sortie de gstreamer dans les prefs). Ils sont tirés d’AUR sans modification.

J’ai créé un dossier obsolète pour les vieux paquets qui ne doivent plus fonctionner (entre changement de gcc, libc et api/abi).

J’ai commencé une méthode de saisie pour le mongol traditionnel pour ibus, ça marche assez bien mais c’est pas encore complet, donc, je n’ai pas mis. Je ne suis pas sur de la meilleur disposition pour le clavier, chaque clavier que j’ai vu (sur Android (application Bainu),, ou différents schéma sur les sites webs (sur un clavier cyrillique mongol ou russe, sur un clavier qwerty (pour les Mongols de Chine probablement ?)) de documentation de l’écriture sont différent…) j’en ai pris un relativement phonétique par rapport au qwerty donc. Je la mettrais à disposition dès que j’aurais mis les codes spéciaux indispensables pour certaines liaisons.

Blender est utilisable sur ARMv7 (32 bits) sans acceleration 3D grâce à LLVMpipe.

blender-17:2.76-1.0001-armv7h.pkg.tar.xz (paquet pour Archlinux ARM). (version mise à jour par l’équipe blender par défaut en utilisant le PKGBUILD d’archlinux x86, compile tout seul maintenant et devrais être intégré dans le build automatique archlinux ARM : blender-17:2.76.b-3-armv7h.pkg.tar.xz cette version ne marche plus en raison de la mise à jour d’autres librairies, utilisez pacman maintenant)

J’ai proposé un patch, accepté (mais retravaillé) par la formidable équipe Blender qui permet de compiler sur des architectures non-x86 (non Intel). J’ai proposé ce soir un PKGBUILD et patch pour Archlinux ARM en attendant que sorte la prochaine version de Blender.

.Sur mon Chromebook ARM (Asus Chromebook C201, utilisant un Rockchip RK3288 : CPU=4*Cortex-A17@1.8 Ghz + GPU=Mali-T764, uniquement compatible OpenGL ES (vivement Vulkan)), ça tourne plutôt bien en pure rendu logiciel, grâce à LLVMpipe pour l’interface et à la puissance de la machine pour le rendu. Il n’y a pas encore d’optimisation SIMD ARM NEON (pour ARMv7) ou pour (ARMv8) pour Cycle.

C’est une machine que j’ai pris il y a 2 semaines qui à l’avantage d’être :
* pas cher (200€ 2Go RAM, 250€ 4Go RAM en France) / 150$ 2 Go RAM, 200$ 4Go RAM aux États-Unis, cherchez l’erreur).
* Avoir une bonne autonomie : 13heure sous chromeOS (installé par défaut), jusqu’à environ 3j (oui, 72 heures de marche !!!) sous GNU/LInux, si on coupe les modules Wifi/BT lorsque l’on ne s’en sert pas.
* Être malgré tout léger (900 grammes), la faible consommation et grande efficacité du Rockchip permettant d’avoir cette autonomie avec une batterie 2 cellules/38 Wh, et évitant d’avoir à embarquer radiateur et ventilateur.
* Bien carburer malgré ces caractéristiques.

Je vais faire un autre article ou une page pour expliquer comment l’installer.

Il reste à installer le support OpenCL, pour utiliser l’accélération du GPGPU avec rendu 3d de Cycle (2e rendu en fin de vidéo).

En plus de son côté très léger et grande autonomie (introuvable sur les processeurs Intel, forcément plus lourds, avec pour les plus léger une autonomie moindre), J’aime bien le fait que ce soit une marque de République de Chine (Taïwan) et un processeur de République populaire de Chine (Chine continentale), parce qu’aucun de ce pays divisé en 2 n’est en guerre, je n’ai donc pas l’impression de participer à l’effort de guerre. De moins polluer (plus grande efficacité énergétique).

Qemu pour Arch Linux ARM

Compilation personnelle de Qemu pour Arch Linux ARM, comme il n’est pas encore dans le dépôt officiel (il faudrait que je vérifie le Yaourt). Pour le moment j’ai du désactivé spice(Sur Wikipedia en français) qui permet d’avoir un contrôle visuel de la machine virtuelle. Il est toujours possible de se connecter en console.

C’est dans mon dépôt habituel, il faut installer les paquets suivants (avec dépendances) :

* libseccomp-2.2.3-1-armv7h.pkg.tar.xz
* iasl-20150408-1.1-armv7h.pkg.tar.xz
* leveldb-1.18-1.1-armv7h.pkg.tar.xz

Vous aurez aussi besoin de paquet SeaBIOS « any » (indépendant de l’architecture matérielle), que l’on peut trouver ici
https://www.archlinux.org/packages/extra/any/seabios/, cliquez sur Download From Mirror dans la boîte de droite.

J’ai fait une copie locale au cas où :
* seabios-1.8.2-1-any.pkg.tar.xz

Et bien sûre du paquet Qemu lui même :
* qemu-2.3.0-3-armv7h.pkg.tar.xz

Pour installer ensuite, sous root ou en sudo :

pacman -U libseccomp-2.2.3-1-armv7h.pkg.tar.xz iasl-20150408-1.1-armv7h.pkg.tar.xz \
  leveldb-1.18-1.1-armv7h.pkg.tar.xz seabios-1.8.2-1-any.pkg.tar.xz \
  qemu-2.3.0-3-armv7h.pkg.tar.xz

Je ne les ai pas optimisé pour la 3e génération des Cortex-A (Cortex-A7/a15/a17), ils fonctionnent donc sur tous les Cortex-A, pas que sur Cubieboard2.

J’espère avoir bientôt un smartbook basé sur le Rockchip RK3288 pour d’autres experimentations avec les ARM. Différents constructeurs fabriquent des modèles en 11″ avec environ 10 heures d’autonomie, vendus entre 150 et 250 $ en fonction des configurations (2 ou 4 Go de RAM, 16 ou 32Go de SSD). Ils sont largement utilisables comme pc de travail (web/terminal/bureautique, etc…) et différentes distributions Linux (dont Arch Linux ARM, Debian, Ubuntu, peuvent être installés dessus) :
* Asus (C201 11.6″ Chromebook et Chromebook Flip C100P (10″), ce dernier pouvant également être utilisé comme tablette)
* Haier Chromebook C11
* Hisense Chromebook C11
* CTL H4 Chromebook for education

Devant le succès de cette plateforme, MediaTek propose une solution similaire basée sur le MT8173, Quad-cœur 64-bits big.LITTLE.

Noyau Linux 4.0 (4.1 le 25 juin) sur Allwinner A20/Cubieboard2

Grâce aux travaux de développement électronique et logiciel, aux efforts de la communauté Linux-sunxi pour l’amélioration et l’intégration des pilotes dans le tronc principal des sources de Linux et au travail d’intégration des communauté ArchLinux et ArchLinuxARM, la Cubieboard2 (basée sur le SoC AllWinner A20) avec la distribution ArchlinuxARM utilise depuis cette nuit le noyau 4.0 par défaut. Auparavant, elle utilisait une branche 3.x du noyau en retard par rapport aux avancées de la branche principale.

* Linux XXX 4.0.5-2-ARCH #1 SMP Fri Jun 12 20:03:44 MDT 2015 armv7l GNU/Linux

Grâce à cela :
* Une grande partie des flash NAND peuvent être utilisée pour le système.
* La gestion de la fréquence CPU dynamique est bien gérée maintenant.
* La plupart des pilotes sont intégrées et à priori très stable.

Mise à jour du 25 juin, 11 jours après le 4.0 : Mise à jour vers noyau linux 4.1 effectuée ce soir
* Linux XXX 4.1.0-1-ARCH #1 SMP Tue Jun 23 23:24:14 MDT 2015 armv7l GNU/Linux