Asahi Linux se vante de l'exécution de jeux Windows AAA

"Contrôle" fonctionnant sur Asahi Linux

« Contrôle » fonctionnant sur Asahi Linux

Il semble que toutes les merveilles qui ont été peintes sur le projet "Asahi Linux" ne seront pas que des mots, puisque les développeurs de la distribution ont travaillé dur depuis l'annonce du projet pour amener cette distribution Linux à un autre niveau.

Asahi Linux a un peu plus de trois ans de développement et en si peu de temps, elle a réussi à se différencier des autres distributions, non seulement par son caractéristique de fonctionner sur des ordinateurs avec la chips de pomme M1, ProM1, MaxM2, M2, ProM2, Max et M2 ultra, mais aussi pour avoir réalisé de grandes avancées dans la section graphique sous Linux.

Et c'est que récemment L'équipe de développement d'Asahi Linux a présenté un ensemble de des outils qui vous permettent d'exécuter des jeux AAA sur les ordinateurs équipés de la puce Apple M1 et il est mentionné que l'un des principaux défis techniques était la différence de taille des pages mémoire, puisque les programmes compilés pour l'architecture x86 sont conçus pour utiliser des pages 4K, tandis que les systèmes Apple utilisent des pages 16K.

Pour résoudre cet écart, un deuxième noyau Linux a été déployé dans un environnement virtuel, Assemblé spécifiquement pour gérer différentes tailles de pages mémoire. Ceci est réalisé grâce aux outils muvm qui permettent d'exécuter des jeux sur des machines virtuelles indépendantes, chacune avec son propre noyau.

Il y a un problème : la taille de la page. Les systèmes d'exploitation allouent la mémoire en « pages » de taille fixe. Si une application attend des pages plus petites que celles utilisées par le système, elle échouera en raison d'un alignement de mappage insuffisant. C'est un problème : x86 attend des pages 4K, mais les systèmes Apple utilisent des pages 16K.

Bien que Linux ne puisse pas mélanger les tailles de page entre les processus, vous pouvez virtualiser un autre noyau Arm Linux avec une taille de page différente. Par conséquent, nous exécutons des jeux dans une petite machine virtuelle en utilisant muvm, en passant par des périphériques tels que le GPU et les contrôleurs de jeu. Le matériel est heureux parce que le système est en 16K, le jeu est heureux parce que la machine virtuelle est en 4K et vous êtes heureux parce que vous pouvez jouer à Fallout 4.

Outils Ils sont conçus pour prendre en charge les jeux AAA disponibles sur Steam, initialement compilé pour l'architecture x86_64. La trousse à outils combine des pilotes développés par Asahi Linux, qui implémentent les API Vulkan 1.3 et OpenCL 3.0, ainsi que des composants qui émulent l'architecture x86_64 et prennent en charge les jeux Windows.

Fallout4-Asahi Linux

Fallout 4 sur Asahi Linux

Quant aux jeux plus exigeants graphiquement, comme The Witcher 3 et Ghostrunner, qui s'appuient sur l'utilisation de shaders de tessellation et de géométrie, l'émulation informatique du shader est utilisée pour qu'ils fonctionnent correctement.

Cependant, certaines fonctionnalités clés sont encore en cours de développement. Par exemple, le contrôleur Honeykrisp prend déjà en charge les textures clairsemées, une fonctionnalité essentielle pour les jeux utilisant DX12, comme Cyberpunk 2077, mais les détails sont en cours de peaufinage pour améliorer ses performances. De plus, des optimisations sont en cours pour garantir que les jeux atteignent une vitesse de 60 FPS fluide dans ces environnements émulés.

Il convient de mentionner que le Les packages requis pour activer cette fonctionnalité sont maintenant disponibles dans le référentiel standard de la distribution Fedora Asahi Remix. Pour exécuter des jeux, les utilisateurs doivent uniquement mettre à jour les pilotes à l'aide de la commande :

sudo dnf update --refresh

Après cela, vous pouvez installer Steam avec

sudo dnf install steam

Et il installera automatiquement toutes les dépendances requises.

Enfin, il convient également de mentionner que le pilote Vulkan Honeykrisp, l'émulateur FEX (qui permet d'exécuter des applications x86 sur les systèmes ARM), le projet Wine et les couches DXVK et vkd3d-proton, qui implémentent l'API DirectX au-dessus de Vulkan, sont inclus.

Les développeurs mentionnent qu'en raison de la surcharge introduite par le processus d'émulation, il est recommandé que les systèmes disposent d'au moins 16 Go de RAM et qu'ils fonctionnent également déjà en émulation x86 à usage général.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant