Tag Archives: ARM

Tester un système Linux RISC-V avec qemu sur ARM et ArchLinuxARM

There is also an english tutorial with more informations here

Pour cela, on peut utiliser la distribution Busybear-linux, très limitée, mais déjà bien pour un premier test de Qemu avec RISC-V (Site officiel, le CPU à sources ouvertes et sous license libre). il a l’avantage de fournir un système pré-compilé, prêt à l’emploi ici : github.com/michaeljclark/busybear-linux/releases

Les deux fichiers indispensables sont :
* bbl.bz2 = boot
* busybear.bin.bz2 = système

Vrai départ pour les pilotes libres pour les GPU Mali

Si les premiers pilotes amorcés en 2012 avaient étés abandonnées un peu plus d’un an plus tard, depuis l’été 2017 des nouveaux pilotes ; Lima Driver pour l’architecture Utgard (Mali-400 et 450) et Panfrost, pour architecture Midgard (Mali-Txxx) et Bitfrost, sont tous deux partis en flèche, au point d’effectuer les fonctions basiques et de bientôt pouvoir rejoindre le noyau Linux et la bibliothèque Mesa.

Luc Verhaegen (libv) avait commencé le premier pilote libre pour le processeur graphique ARM Mali-400 (architecture ugard) aux alentours de 2012, pour l’abandonner aux alentours de 2013. Les pilotes étaient restés figés depuis, à part quelques mises à jour minimes avortées. Mais depuis l’été 2017, Qiang Yu à relancé le projet et suit au plus près le noyaux Linux (aujourd’hui 4.17rc) et Mesa (aujourd’hui 18), pour une intégration rapide à ceux-ci.

D’un autre côté, Panfrost est un pilote réunissant le travail de Connor Abbott (qui avait fait un début de pilote en 2013 également pour l’architecture Midgard (Mali-T6xx et supérieur), créé un désassembleur de shaders, puis différents outils (compilateur Lima) pour l’architecture Midgard et Bitfrost (Mali-Gxx). Toujours au même moment, Alyssa Rosenzweig, qui a commencé le développement pour l’architecture Midgard avec le pilot Chai, coordonne ses travaux avec ceux de Connor Abbott dans un projet nommé Panfrost. Les progrès sont très rapide comme pour le nouveau pilote Lima. Les auteurs prévoient d’utiliser LLVMpipe pour l’émulation Logicielle des parties non encore intégrées pendant leur progression. en mai 2018, le test du cube utilisant des shaders initialement produit pour le pilote Freedreno, fonctionne parfaitement. Les shaders passent par NIR (une représentation intermédiaire des langages de shaders (comme glsl) dont le but est de faciliter la compilation dans le langage du processeur lui même), de Jason Ekstrand.

Vous pouvez suivre leur progrès :
* Sur le blog d’Alyssa Rosenzweig pour Panfrost (et les sources sur GitLab).
* Sur le compte dépôt git des sources de Qiang Yu pour Lima sur gitlab.Freedesktop.org (linux-lima (pilote noyau DRM) et mesa-lima (pilote OpenGL ES/Gallium pour Mesa))
* Compte GitHub de Connor Abbott.

Blender is usable on ARMv7 (32 bits) without 3D acceleration thanks to LLVMpipe.

blender-17:2.76-1.0001-armv7h.pkg.tar.xz (Archlinux ARM package, december new version : blender-17:2.76.b-3-armv7h.pkg.tar.xz)

This works pretty well with Asus Chromebook C201 and its fantastic Rockchip RK3288 ARM SoC.

Still need to install OpenCL, to hardware accelerate Cycle render computing (second rendering in the video).

Qemu for Arch Linux ARM

Own compilation of Qemu for Arch Linux ARM, as it’s still in official repository (I need to verify the Yaourt repository). At the moment I desactivated Spice support Spice(On english Wikipedia), that allow to graphically control desktop of the Virtual Machine. That’s still possible to access to console.

Now obsolete, prefer official package.

This package is on my repository, you need to install these packages (there are other dependencies that can be found on official Arch Linux ARM repositories) :

* 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

You also need the SeaBIOS « any » (architecture independant) package, that can be found here:
* https://www.archlinux.org/packages/extra/any/seabios/. Click to Download From Mirror in the right box.

I made a locale copy of this package in case of need:
* seabios-1.8.2-1-any.pkg.tar.xz

And finally you also need the Qemu package itself:
* qemu-2.3.0-3-armv7h.pkg.tar.xz

To install them after that, in root account (or with 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

That’s not optimized for 3rd generation Cortex-A (Cortex-A7/a15/a17), The works then on any Cortex-A architecture, not only on the Cubieboard2.

I hope to have soon a smartbook based on Rockchip RK3288 for further experiment. Several vendors build 11″ models with about 10 hours autonomy they sell for 150 to 250$ depending on configuration (2 to 4 GB of RAM 16 or 32GB SSD). They are powerfull enough for web, terminal, office work) and several Linux distributions (including Arch Linux ARM, Debian and Ubuntu, can be installed on it):
* Asus (C201 11.6″ Chromebook and Chromebook Flip C100P (10″), this one can be used as a tablet too)
* Haier Chromebook C11
* Hisense Chromebook C11
* CTL H4 Chromebook for education

Due to succes of this plateform, MediaTek, made a similar solution based on MT8173, 64-bits, big.LITTLE, Quad-core.