Raspberry PI Actualité

Nous pouvons désormais utiliser Vulkan sur Raspberry Pi 4 »Raspberry pour les débutants

Par Thomas, le 10 novembre 2020
Logo de Raspberry Para Novatos

Après presque 10 mois depuis son annonce, on peut déjà utiliser Vulkan sur Raspberry Pi 4. Et on ne parle pas d’une implémentation que la communauté a faite, comme dans le cas de Vulkan sur Raspberry Pi 3. Sinon, ce sont des pilotes officiels programmés par Igalia qui ont été ajoutés à la bibliothèque MESA et qui, une fois testés, seront ajoutés aux référentiels du système d’exploitation Raspberry Pi et seront accessibles à tous.

Comme nous le savons déjà, Vulkan C’est une API qui nous permet un accès plus rapide à la carte graphique et une meilleure utilisation des cœurs du processeur, augmentant les performances graphiques du Raspberry Pi. Pour pouvoir utiliser cette API, la carte graphique doit être compatible au niveau matériel, ce qui se produit avec le VI VideoCore que ce Raspberry Pi porte. Une fois que nous répondons à ces exigences, et Si le programme ou le jeu que nous voulons utiliser a cette API implémentée, nous remarquerons une amélioration de ses performances. Mais que si, si le processeur le permet.

Et est-ce que lorsque nous parlons de processeur, le Raspberry Pi 4 est suffisant pour de nombreuses tâches, mais pas pour les choses lourdes. Si on veut émuler un système plus ou moins nouveau comme la Wii, la PSP ou la PlayStation 2, ou jouer à des jeux comme Doom III, on trouvera quand même que les performances ne sont pas les mêmes que sur un bon ordinateur.

Mais nous ne recherchons pas seulement de meilleures performances en utilisant Vulkan sur Raspberry Pi 4. Nous voulons également une plus grande compatibilité avec les nouveaux programmes, tels que Blender, qui dans ses dernières versions ne supporte que cette API pour la gestion des graphiques.

Vous êtes peut-être venu ici pour tester Vulkan vous-même sur Raspberry Pi 4. Donc, après avoir un peu détaillé ce qu’est Vulkan et quels avantages il nous apporte, voyons comment l’installer, le tester et ensuite décider s’il reste .

Installer Vulkan sur Raspberry Pi 4

Comme je l’ai expliqué précédemment, cette implémentation de Vulkan pour Raspberry Pi 4 est inclus dans les pilotes MESA à partir de la version 20.3. Si nous voulons utiliser ces nouveaux pilotes, nous devons les compiler et les installer à la main, jusqu’à ce qu’ils soient ajoutés au système d’exploitation Raspberry Pi. Le processus est très similaire que nous utilisions les systèmes d’exploitation 32 bits ou 64 bits, avec quelques différences. Mais une fois que nous aurons installé ces nouveaux pilotes, nous pourrons utiliser tout ce qui est déjà implémenté par Vulkan dans notre Raspberry Pi 4.

La première chose que nous faisons est la même que d’habitude, c’est-à-dire de nous assurer que le système d’exploitation Raspberry Pi est mis à jour, car dans ce cas, nous allons utiliser ce système d’exploitation pour le test. Pour ce faire, nous écrirons la commande suivante dans un terminal:

sudo apt update && sudo apt upgrade -y

Une fois que nous avons tout mis à jour, nous devons maintenant installer toutes les dépendances nécessaires pour compiler MESA 20.3. Nous allons le faire avec la commande suivante dans le terminal:

sudo apt install -y libxcb-randr0-dev libxrandr-dev 
        libxcb-xinerama0-dev libxinerama-dev libxcursor-dev 
        libxcb-cursor-dev libxkbcommon-dev xutils-dev 
        xutils-dev libpthread-stubs0-dev libpciaccess-dev 
        libffi-dev x11proto-xext-dev libxcb1-dev libxcb-*dev 
        bison flex libssl-dev libgnutls28-dev x11proto-dri2-dev 
        x11proto-dri3-dev libx11-dev libxcb-glx0-dev 
        libx11-xcb-dev libxext-dev libxdamage-dev libxfixes-dev 
        libva-dev x11proto-randr-dev x11proto-present-dev 
        libclc-dev libelf-dev git build-essential mesa-utils 
        libvulkan-dev ninja-build libvulkan1 python-mako 
        libdrm-dev libxshmfence-dev libxxf86vm-dev libunwind-dev 
		valgrind libzstd-dev vulkan-tools -y

Selon les packages que nous avons déjà installés, cette commande prendra plus ou moins pour se terminer, bien qu’elle ne prenne généralement pas plus de quelques minutes. Une fois que tout sera installé, nous procéderons à l’installation de mako Oui méson, ce qui nous aidera à compiler MESA 20.3 et ainsi avoir Vulkan sur Raspberry Pi 4. Ces deux programmes sont des scripts Python, donc la façon de l’installer sera différente. De plus, nous essaierons également de désinstaller meson, au cas où nous l’aurions installé à partir des référentiels du système d’exploitation Raspberry Pi, car nous aurons une ancienne version. Nous ferons tout cela en mettant les commandes suivantes dans le terminal:

sudo apt purge meson -y
sudo pip3 install meson
sudo pip3 install mako

Une fois que tout est installé, nous devons avoir le code source MESA pour pouvoir le compiler et ainsi pouvoir accéder à l’API Vulkan sur Raspberry Pi 4. Pour télécharger le code source, nous utiliserons l’outil git dans le terminal, en mettant ce qui suit:

cd ~
git clone https://gitlab.freedesktop.org/mesa/mesa.git mesa_vulkan
cd mesa_vulkan

Maintenant nous serons dans le annuaire où nous avons téléchargé le code source de MESA pour le compiler. Même ainsi, nous devons vous dire comment le compiler correctement pour notre Raspberry Pi 4, afin que nous puissions utiliser Vulkan correctement. En fonction de l’architecture du système d’exploitation Raspberry Pi, nous devrons mettre une ligne différente à configurer méson et que MESA compile correctement. Ci-dessous, je vous laisse les lignes en fonction du système d’exploitation que nous utilisons:

Configuration de meson pour Raspberry Pi OS 32 bits

CFLAGS="-mcpu=cortex-a72 -mfpu=neon-fp-armv8" CXXFLAGS="-mcpu=cortex-a72 -mfpu=neon-fp-armv8" meson --prefix /usr -Dplatforms=x11 -Dvulkan-drivers=broadcom -Ddri-drivers= -Dgallium-drivers=kmsro,v3d,vc4 -Dbuildtype=release build

Configuration de meson pour Raspberry Pi OS 64 bits

CFLAGS="-mcpu=cortex-a72" CXXFLAGS="-mcpu=cortex-a72" meson --prefix /usr -Dplatforms=x11 -Dvulkan-drivers=broadcom -Ddri-drivers= -Dgallium-drivers=kmsro,v3d,vc4 -Dbuildtype=release build

Si nous n’avons eu aucune erreur, nous devrions avoir un écran comme celui de l’image ci-dessus indiquant que nous pouvons maintenant compiler MESA. Pour ce faire, nous allons mettre les commandes suivantes dans le terminal, faisant démarrer le processus, cela prendra environ 20 minutes.

ninja -C build -j4
sudo ninja -C build install
Fin de la compilation TABLEAU 20.3

Une fois que tout est terminé, nous verrons un écran comme celui ci-dessus, indiquant que tout a été copié correctement. Maintenant, nous devons redémarrer et nous pouvons utiliser l’API Vulkan sur Raspberry Pi 4. N’oubliez pas que la meilleure façon de redémarrer le Raspberry Pi est à partir du système d’exploitation lui-même et non en le débranchant et en le rebranchant. Pour le redémarrer, je le fais généralement depuis le terminal avec cette commande:

sudo reboot

Et maintenant que nous avons redémarré, le meilleur moyen de vérifier que Vulkan fonctionne sur notre Raspberry Pi 4 est via un utilitaire, tel que vkcube, que nous pouvons utiliser avec la commande suivante dans le terminal:

vkcube
blank

Comment Vulkan fonctionne-t-il sur Raspberry Pi 4?

Comme nous pouvons le voir sur l’image vkcube, Vulkan sur Raspberry Pi 4 fonctionne, mais ce n’est pas sans bugs. Bien que nous ayons l’API implémentée dans MESA, cela ne signifie pas que toutes les fonctions Vulkan sont déjà implémentées ou sont compatibles avec la carte graphique Raspberry Pi 4, il est donc encore temps pour Vulkan d’avoir la même compatibilité dans le Raspberry Pi que sur un ordinateur normal.

Cela ne signifie pas que nous ne pouvons pas utiliser Vulkan sur Raspberry Pi 4. Il peut être utilisé et cela fonctionne. Et cela signifie que de nombreux programmes et jeux qui utilisent cette API pourront fonctionner sans problème sur Raspberry Pi une fois que leur code source sera adapté à l’architecture ARM, bien que selon le processeur dont ils ont besoin, ils n’auront pas des performances optimales.

Après avoir cherché des choses pour pouvoir tester l’API Vulkan sur Raspberry Pi 4 avec des programmes exigeants, j’ai fait quelques tests avec l’émulateur Dolphin pour Wii et GameCube, et l’émulateur PPSSPP pour PSP, avec des résultats intéressants.

Pour commencer, ces émulateurs ont trouvé 2 adaptateurs Vulkan. L’un d’eux était V3D 4.2 et l’autre était llvmpipe, ce que j’ai trouvé curieux. Après avoir testé les deux appareils dans les deux émulateurs, je peux vous dire comment cela se passe, bien que ce que j’ai testé soit une partie minimale de tous les programmes que nous pouvons utiliser avec Vulkan sur Raspberry Pi 4.

Pour commencer, nous parlerons de Dauphin. Cet émulateur nous a permis de jouer aux jeux GameCube et Wii depuis un certain temps, et il a une version pour ARM 64 bits, nous pouvons donc l’utiliser sans problème sur le système d’exploitation Raspberry Pi 64 bits. Si nous mettons à jour MESA vers la version 20.3, nous pouvons également utiliser Vulkan, avec des résultats différents selon l’adaptateur que nous configurons pour rendre l’image.

Si nous utilisons V3D 4.2 En tant qu’adaptateur, les performances que nous obtiendrons sont similaires à celles que nous aurions en utilisant OpenGL, ce qui dans mon cas est assez mauvais, ce qui rend ce jeu injouable. Dans le cas de llvmpipe les performances sont meilleures, mais il y a une chose appelée explosion de sommets ce qui fait scintiller les polygones et, bien que nous ayons de meilleures performances qu’avec OpenGL, nous ne pouvons pas jouer au jeu en raison des problèmes graphiques que nous avons rencontrés.

Différence entre Vulkan et OpenGL avec l'émulateur Dolphin sur Raspberry Pi 4

Avec l’émulateur PPSSPP Nous voyons des résultats différents en utilisant l’API Vulkan sur Raspberry Pi 4 que nous avons rencontrés auparavant. Avec les deux adaptateurs, nous avons une image sans erreurs et beaucoup plus définie que dans le cas d’OpenGL. Les problèmes viennent des performances de l’API Vulkan, légèrement pires que celles d’OpenGL dans cet émulateur.

blank

Même ainsi, la mise en œuvre de l’API Vulkan dans Raspberry Pi 4 rendra de nombreux programmes et jeux qui n’étaient pas compatibles, et combinés avec box86, nous pouvons obtenir une excellente machine pour notre divertissement pour un prix ridicule.

Si vous avez déjà essayé Vulkan sur Raspberry Pi 4, laissez un commentaire avec vos résultats afin que le reste d’entre nous connaisse les performances dans d’autres jeux et programmes et sachent ainsi mieux si ces avancées nous apporteront une bonne joie à tous les utilisateurs.

Plus d’informations:

Thomas

Thomas

Fan de Raspberry Pi de la première heure, je suis l'évolution de ces micro-pc depuis maintenant 5 ans. En plus de l'actualité je propose de nombreux tutoriels pour vous aider à exploiter pleinement votre nano-ordinateur côté domotique ou retro-gaming.