Récemment, je suis tombé sur un projet intéressant : Blu-Play. Le site explique comment lancer des jeux sur des Blu-ray et il existe même un portage de Doom qui fonctionne sur une console, un lecteur de Blu-ray ou VLC.
L’idée est simple : utiliser les fonctions Java des menus des Blu-ray pour lancer de vrais programmes. Selon les créateurs, ça fonctionne sur les consoles équipées en Blu-ray (PlayStation 3, PlayStation 4, Xbox One), sur les lecteurs de salon et les logiciels de lecture pour PC, de VLC à PowerDVD. La liste est assez longue. Sur le site, ils expliquent comment coder des programmes, les pièges à éviter, les commandes disponibles (une console avec une manette fonctionnera évidemment mieux).
La partie intéressante, évidemment, ce sont les quelques logiciels disponibles. Ils fournissent des jeux et une personne a même porté Doom. Il faut télécharger l’ISO (ou les fichiers) et les graver. Comme j’ai un graveur de Blu-ray (un UJ-260), j’ai juste acheté quelques BD-RE (réinscriptibles). Si vous avez une Xbox One, on peut aussi graver sur un DVD. Astuce pour Doom : j’ai juste utilisé Burn pour graver un « DVD » en UDF et ça passe sur les lecteurs de Blu-ray (et bizarrement pas sur mes PlayStation). A noter que Doom est open source.
Maintenant, les tests.
Doom sur des lecteurs Blu-ray
J’ai d’abord testé sur un Sony BDP-S490 européen, mon lecteur de secours. La croix de la télécommande permet le déplacement, l’avance rapide permet de tirer, c’est jouable. Il faut 87 secondes pour charger le jeu. Dans le jeu Ukko’s Journey, c’est fluide, avec entre 45 et 55 fps. Ensuite, avec un BDP-S370 américain, qui sert pour les Blu-ray zonés. Il est plus ancien et ça se voit : le jeu tourne à moins de 15 fps. C’est assez flagrant avec Doom, le jeu est plus lent et charge plus lentement (117 secondes). Vient ensuite le cas de mon Samsung, un vieux BD-ES5000. Ukko fonctionne lentement (vers 15 fps) et le jeu ne semble pas recevoir les commandes rapides, je suppose que ça vient de la télécommande. Avec Doom, c’est pire : il faut des plombes pour lancer le jeu (165 secondes), et il réagit mal. La touche pour avancer reste enfoncée, par exemple.
Doom sur des consoles
Etape suivante, sur des consoles. D’abord, une PlayStation 3 sortie de son carton. C’est un modèle fat (pas la première, la 40 Go). Assez bizarrement, Doom ne se lance pas, mais bien le second disque. Ukko fonctionne à plus de 60 fps la majorité du temps. Sur une PlayStation 4 Slim, même problème : Doom ne se lance pas, et Ukko est rapide (plus de 200 fps).
Doom avec VLC
Alors, VLC est un peu particulier, parce que je n’ai pas trouvé comment modifier les commandes facilement. Ukko tourne bien (et rapidement : plus de 100 fps) alors que Doom se charge mais je ne peux pas jouer. Les commandes répondent uniquement dans les menus et je ne sais pas comment retourner en arrière, par exemple. Disons que le jeu se lance, en tout cas.
J’ai fait une vidéo avec tous les exemples pour montrer ce que ça donne. La première montre juste le résultat de Doom sur un lecteur Sony, la seconde tous les résultats.
Dans tous les cas, c’est assez amusant de voir ce qu’il est possible de faire avec une machine virtuelle Java. Et ça montre aussi que les performances demeurent extrêmement variables.
Pour les Playstation c’est une protection qui à été introduite après que Sony se soit rendu compte (je crois dans la grande époque du jailbreak des PS3, donc vers la sortie du firmware 3.55) que des programmes fait maison (des Homebrew) non signés pouvaient être exécutés dans la machine virtuelle Java du lecteur de Blu-Ray. A cette époque on a vu débarqué un émulateur MAME très intéressant puisque sur un bête disque Blu-Ray on pouvait stocker l’émulateur et de nombreuses ROMs. Sony ne voulait pas casser la fonctionnalité BD-J mais empêcher un particulier de créer des BD-J, résultats il y a eu un nouveau firmware qui vérifie la signature du BD avant d’activer la machine virtuelle Java.
Sur de vieux firmware il suffisait de graver les dossiers typiques d’un BD et ses fichiers Java sur un BD et le tour était joué pour la PS3.