Aller au contenu


tralala

Inscrit(e) (le) 24 févr. 2012
Déconnecté Dernière activité aujourd'hui, 23:06
*****

Sujets que j'ai initiés

[Switch 2] Hookshot une décompilation The Legend of Zelda : Ocarina of Time jusqu'à...

aujourd'hui, 22:29

Pas d'émulateur, pas de Nintendo Switch 2 : simplement Zelda qui tourne nativement sur PC ! C'est la promesse de Hookshot, un nouveau projet expérimental autour de The Legend of Zelda: Ocarina of Time, dans sa version Nintendo Switch 2. Hookshot représente une nouvelle approche technique pour faire fonctionner le célèbre jeu de Nintendo sur Windows et Linux, mais c'est peut être la meilleure façon de le faire actuellement ! Il s'agit d'un projet de recompilation statique (Static Recompilation), qui traduit directement le code ARM64 du jeu en langage C avant de le compiler pour une exécution native sur ordinateur.
 
 
 
 
Il ne s'agit donc pas d'un émulateur traditionnel, mais bien d'un programme PC généré à partir du code du jeu, avec une réimplémentation des fonctionnalités système de la console et une conversion des commandes graphiques vers Vulkan. 
 
Des premiers résultats prometteurs
 
Les premières démonstrations montrent que le projet est déjà capable de faire fonctionner la forêt Kokiri, avec plusieurs fonctionnalités opérationnelles :
 
- La forêt Kokiri est jouable entre 120 et 240 FPS (cela se stabilise ensuite autour des 120 FPS)
- Gestion du son et des sauvegardes.
- Compatibilité avec les manettes, le clavier et la souris.
- Rendu graphique via Vulkan sublime.
- Génération d'images jusqu'à 4x.
- Upscaling et réglages de résolution avec Frame Generation
- Prise en charge des écrans ultralarges.
 
Côté performances, les tests affichent environ 50 FPS sans génération d'images, sur une configuration équipée d'un Ryzen 5 7600X et d'une RTX 4060 Ti de 16 Go.
 
 
 
 
Un projet encore expérimental mais une prouesse technique 
 
Il faudra néanmoins patienter avant de pouvoir profiter de l'intégralité de l'aventure. Pour le moment, les essais se concentrent essentiellement sur la forêt Kokiri. La plaine d'Hyrule et les autres zones du jeu n'ont pas encore été testées. La compatibilité avec les cartes graphiques AMD et Intel reste également à confirmer, puisque seuls des GPU NVIDIA ont été utilisés jusqu'à présent. La compilation nécessite environ 40 minutes, 16 Go de RAM et jusqu'à 60 Go d'espace disque libre pendant l'opération. Chaque utilisateur doit également posséder sa propre copie du jeu dans la version compatible.
 
Une alternative intéressante aux solutions d'émulation
 
Hookshot vient ainsi enrichir les différentes initiatives visant à faire fonctionner The Legend of Zelda: Ocarina of Time directement sur PC. Sa particularité est de s'appuyer sur la recompilation du code de la version Nintendo Switch 2, plutôt que sur une émulation classique. Une démonstration technique particulièrement intéressante, qui mérite d'être suivie de près. Si le projet évolue favorablement, il pourrait permettre de profiter du jeu dans des conditions encore plus intéressantes sur ordinateur.
 
Téléchargement : Hookshot
 

[PS5] ps5-hackintosh pour convertir la console de Sony en véritable Mac

aujourd'hui, 18:30

C’est une prouesse technique plutôt inattendue qui vient d’être réalisée sur PlayStation 5. Le développeur rodri0x est parvenu à faire tourner MacOs Monterey 12.7.6 directement sur une PS5, sans machine virtuelle ni émulation. Le système d’exploitation d’Apple démarre directement sur le processeur AMD Zen 2 de la console. Et il ne s’agit pas simplement d'un écran de démarrage : un véritable bureau macOS est désormais accessible sur la console de Sony !
 
 
 
 
Un Mac fonctionnel dans une PS5
 
Plusieurs fonctionnalités sont déjà opérationnelles :
- macOS Monterey 12.7.6 démarre jusqu'au bureau.
- Les 8 cœurs et 16 threads du processeur AMD Zen 2 sont reconnus.
- Affichage en 2560 × 1440 pixels (1440p).
- Prise en charge du clavier, de la souris et du pavé tactile.
- Démarrage du système depuis un SSD USB.
- Connexion Ethernet fonctionnelle grâce à un pilote personnalisé développé pour l'occasion.
 
Pour parvenir à ce résultat, le développeur s'appuie sur une chaîne de démarrage particulièrement complexe associant UEFI, OpenCore et un mécanisme personnalisé baptisé crash-kexec. Celui-ci permet notamment de passer de Linux à macOS en exploitant une séquence de démarrage spécifique.
 
Des limitations encore importantes
 
Tout n'est cependant pas encore fonctionnel. La principale limitation concerne l'absence d'accélération graphique matérielle, ce qui rend l'utilisation du système relativement lente.
 
D'autres fonctionnalités restent également indisponibles :
- Pas d'accélération GPU.
- Wi-Fi et Bluetooth non fonctionnels.
- Pas de sortie audio HDMI.
- Le SSD interne de la PS5 reste volontairement inaccessible à macOS.
 
Le développeur précise également que ses premiers essais ont été réalisés sur une PS5 Fat équipée du firmware 13.42.
 
Un développement particulièrement complexe
 
L'un des aspects les plus intéressants de cette réalisation concerne les difficultés rencontrées pendant le développement. La PS5 ne disposant pas d'interface UART accessible pour le débogage, rodri0x a dû utiliser directement un téléviseur comme écran de diagnostic. Il a notamment développé une console de débogage intégrée au noyau afin de suivre les erreurs et comprendre les blocages au démarrage. Plusieurs problèmes liés à la gestion des interruptions AMD, à la fréquence réelle du processeur, à la mémoire et aux contrôleurs USB ont également nécessité des corrections spécifiques.
 
Au total, le développeur évoque environ 120 modifications pour parvenir à obtenir un bureau stable exploitant les 16 threads du processeur.
 
Cette démonstration ouvre une piste particulièrement intéressante pour le développement alternatif sur PS5. Même si la console est encore loin de remplacer un véritable Mac, voir le noyau XNU d'Apple fonctionner directement sur l'architecture matérielle de Sony constitue déjà une belle prouesse technique.
 
Alors, transformeriez-vous votre PS5 en Mac si cela devenait accessible au grand public ?
 
Tout est là : ps5-hackintosh
 
 
 

[Switch 2] Gezine informe que d'autres jeux sont exploitables pour un futur jailbreak

aujourd'hui, 18:12

Les recherches autour du jailbreak de la Nintendo Switch 2 semblent prendre une tournure intéressante. Gezine a récemment indiqué connaître d'autres jeux susceptibles de servir de points d'entrée pour exploiter la console de Nintendo.
 
 
 
 
 
Il précise notamment que certaines de ces pistes présenteraient un avantage non négligeable par rapport à CivSwitch : elles ne nécessiteraient pas de transfert de sauvegarde pour fonctionner. Une information particulièrement intéressante alors que le prix de Civilization VII a littéralement explosé depuis que son exploitation potentielle a été mise en lumière. L'intérêt suscité par cette découverte pourrait en effet rendre le jeu beaucoup moins accessible aux personnes souhaitant se procurer un exemplaire dans l'espoir de profiter de cette faille.
 
 
 
 
 
Heureusement, Gezine laisse entendre que d'autres possibilités existent déjà. Il préfère cependant garder ces pistes sous le coude pour le moment, sans dévoiler les jeux concernés. Cela laisse espérer que CivSwitch ne sera pas la seule porte d'entrée envisageable pour le développement d'un jailbreak sur Switch 2.
 
Il fait bien de garder ses découvertes secrètes pour le moment. Inutile de provoquer une nouvelle flambée des prix sur d'autres jeux !
 
 
 

[Switch 2] Il conduit sa Tesla avec sa Switch 2 après sa Wiimote

aujourd'hui, 17:19

La Nintendo Switch 2 continue de surprendre avec des projets pour le moins inattendus. Cette fois, ce n'est pas une nouvelle prouesse en matière d'émulation ou de jailbreak qui attire l'attention, mais une utilisation assez spectaculaire de la console : la transformer en interface de contrôle pour un véhicule via une connexion CAN.
 
 
 
 
Le développeur Matthew KuKanich présente en effet un projet reposant sur un programme exécuté directement en userland sur Switch 2. Celui-ci communique avec le réseau CAN du véhicule afin de récupérer les données en temps réel et d'afficher différentes informations sur l'écran de la console. Mais le projet va beaucoup plus loin qu'un simple affichage de données automobiles.
 
Une Switch 2 capable de piloter plusieurs fonctions du véhicule
 
Grâce à cette connexion, les différentes commandes du véhicule sont associées aux boutons et aux sticks analogiques de la console. Le développeur indique avoir notamment intégré le contrôle de plusieurs fonctions :
 
- Direction (volant).
- Accélérateur.
- Freinage.
- Clignotants.
- Klaxon.
- Changement de rapports (marche avant / marche arrière)
- Essuie-glaces.
 
Plusieurs autres fonctions du véhicule.
 
L'ensemble des données est récupéré en direct, tandis que l'écran de la Switch 2 sert d'interface de visualisation et de commande. Le développeur précise également avoir ajouté plusieurs mécanismes de sécurité afin d'encadrer l'utilisation des différentes commandes.
 
 
 
 
 
Un projet qui pourrait arriver sur GitHub
 
Pour le moment, Matthew KuKanich n'a pas encore décidé s'il allait rendre son travail public. Il envisage toutefois de publier le projet sur son compte GitHub. Il faudra donc attendre une éventuelle publication pour découvrir plus précisément le fonctionnement technique de cette réalisation, les véhicules compatibles et les possibilités offertes par cette interface.
 
Une utilisation totalement inattendue de la Switch 2
 
Ce projet illustre une nouvelle fois la polyvalence du matériel Nintendo lorsqu'il est exploité en dehors de son utilisation traditionnelle. Après les expérimentations autour de l'émulation, des environnements Linux et des outils homebrew, la Switch 2 pourrait également trouver sa place dans le domaine automobile.
 
Attention toutefois : le contrôle de fonctions essentielles comme la direction, l'accélération ou le freinage présente des risques importants. Les mécanismes de sécurité annoncés ne constituent pas une garantie de sécurité routière. Ce type d'expérimentation doit rester strictement encadré et ne pas être utilisé pour piloter un véhicule en circulation.
 
 
 
 
 

[Switch 2] Lichii intègre les optimisations de Frizti, les deux émulateurs se rapproche...

aujourd'hui, 08:07

L'émulation de la Nintendo Switch 2 continue de progresser avec une évolution particulièrement intéressante du projet Lichii. Le développeur zortos293 vient de publier la build 93, qui reprend plusieurs optimisations et correctifs issus des travaux de Frizti. En parallèle, Frizti poursuit le développement de sa propre branche avec la sortie de Lichii-Frizti v3. Ces deux projets, qui partagent désormais une partie importante de leurs améliorations, illustrent une collaboration technique de plus en plus étroite autour de l'émulation Switch 2.
 
 
 
 
 
Lichii build 88 : les premières optimisations de Frizti
 
La build 88 avait déjà marqué une étape importante avec l'intégration de plusieurs optimisations développées par Frizti :
- Mise en cache des associations de Storage Buffers.
- Transfert direct des données vers les banques de registres uniformes natives.
- Regroupement des opérations de lecture des pages de commandes.
- Réduction du suivi inutile des écritures.
- Amélioration de la préparation des pipelines graphiques en arrière-plan.
 
 
 
 
 
 
Optimisation du cache Vulkan, désormais en version 53.
 
Cette version avait également intégré le mod Dynamic FPS de Dark pour The Legend of Zelda: Ocarina of Time, activé par défaut. L'objectif est notamment d'améliorer la fluidité du jeu et de permettre une expérience à 60 FPS, sous réserve de disposer d'une configuration suffisamment performante. 
 
Lichii build 93 : AMD et Vulkan au cœur des améliorations
 
Avec la build 93, zortos293 poursuit le travail en apportant plusieurs corrections ciblées, notamment pour les cartes graphiques AMD.
 
Les changements concernent principalement :
- La correction de problèmes de précision des shaders sur les pilotes Vulkan AMD.
- L'amélioration de certaines opérations atomiques et des accès mémoire.
- La correction des accès Storage Buffer 64 et 128 bits mal alignés.
- Le renforcement de la synchronisation Vulkan entre les opérations de calcul et le rendu graphique.
- La correction d'un problème de réveil des threads lors de certaines annulations de tâches, notamment pendant le chargement des shaders.
 
Le développeur reste toutefois prudent : ces modifications ont été validées au niveau du compilateur et des tests de régression, mais leur efficacité globale en jeu sur les configurations AMD n'a pas encore été confirmée. Certains problèmes de textures noires, de scintillement du HUD et de rendu restent également à l'étude. Autre nouveauté, Lichii intègre une correction du décodeur AV1 pour les environnements MinGW x86-64, ainsi qu'un système de rapports de compatibilité facultatif permettant aux utilisateurs de transmettre leurs retours directement depuis l'émulateur. Un nouveau profil de performances est également appliqué lors de la création d'une configuration globale : mode GPU Fast, décodage vidéo GPU, présentation asynchrone et compilation des shaders en arrière-plan.
 
Frizti v3 : un bond en avant pour Zelda Ocarina of Time
 
De son côté, Frizti vient de publier la troisième version de sa branche, avec un travail particulièrement poussé sur les performances de The Legend of Zelda: Ocarina of Time.
 
Les résultats annoncés sont encourageants. Sur une configuration Ryzen 7 7800X3D associée à une RTX 4080, les performances mesurées atteignent :
- Environ 60 FPS dans la forêt Kokiri.
- Environ 55 FPS au lac Hylia.
- Environ 50 FPS dans le village Cocorico.
 
À titre de comparaison, la version précédente affichait environ 44 FPS dans la forêt Kokiri.
 
Plusieurs optimisations expliquent ces résultats, notamment une meilleure répartition des threads GPU sur des cœurs CPU dédiés, une compilation optimisée avec clang, PGO et ThinLTO, ainsi qu'une correction des attentes DMA permettant de réduire les blocages du GPU. Frizti annonce également une amélioration importante de la régularité de l'affichage grâce à un nouveau système de frame pacing. Selon les mesures communiquées, 97 à 99 % des images bénéficient désormais d'un temps d'affichage parfaitement régulier. Le travail sur les shaders a également été renforcé : les shaders compilés sont conservés plus longtemps, les objets dont les shaders sont encore en cours de compilation peuvent être temporairement ignorés et les caches sont reconstruits en priorité après un redémarrage. Enfin, plusieurs défauts graphiques ont été corrigés, notamment les flashs blancs autour de certains éléments du décor, la disparition des feuilles des buissons et les problèmes d'affichage de certaines formations rocheuses.
 
Deux projets, une base technique de plus en plus commune
 
Ce qui ressort de ces différentes publications, c'est le rapprochement progressif entre Lichii et Frizti. Les optimisations développées dans la branche Frizti sont désormais reprises dans Lichii, tandis que plusieurs corrections et contributions issues du projet principal sont également intégrées dans Frizti. Il ne s'agit donc pas simplement de deux émulateurs concurrents, mais de deux développements qui profitent de leurs avancées respectives.
 
Attention toutefois, les résultats de Frizti v3 concernent principalement Ocarina of Time et une configuration matérielle précise. Ils ne permettent pas de conclure à une amélioration identique sur l'ensemble du catalogue Switch 2. Les prochaines versions permettront de voir jusqu'où cette convergence technique pourra aller et si ces optimisations profiteront progressivement à davantage de jeux.
 
Téléchargements :  Lichii NX2  / Frizti v3