Journal Humble Indie Bundle 4 : faire marcher Super Meat Boy avec n'importe quelle carte graphique

13
8
fév.
2012

Nals, Naux,

Il y a peu, Super Meat Boy a été adapté sous Linux pour le Humble Indie Bundle 4.

Comme LinusqueFR est un site en faveur du logiciel porcprio et pas hallal, je n'ai pas honte de dire que j'adore jouer à ce jeu.

Mais, il y a un mais, qui empêche les linusquiens de jouer à Super Meat Boy librement :

"Graphics: May not work with Intel Integrated Graphics"

http://humble.assistly.com/customer/portal/articles/261150-humble-indie-bundle-4-system-reqs#smb

Qui en fait ne touche pas que les utilisateurs de cartes graphiques Intel. En gros, quand vous lancez Super Meat Boy en mode console, ça vous sort une insulte :

Fatal Error: MojoShader compile failed!

Et puis le programme s'arrête.

Icculus, la boite qui a adapté le jeu, a utilisé MojoShader (c'est sous licence zlib) pour faciliter la récupération du code basé sur le windowsien Direct3D. Malheureusement, pour Super Meat Boy il devait y avoir un couac, puisque MojoShader ne faisait pas son travail si on utilisait Mesa ou certaines cartes graphique ATI. Les utilisateurs de cartes nvidia avec le driver proprio étaient tranquilles.

Après avoir vérifié que le problème ne venaot pas de MESA puisque les utilisateurs ATI étaient affectés, mais de MojoShader, un développeur d'Icculus s'est attelé au problème :

Having read the bug report against Mesa, they are correct, this is definitely a
MojoShader bug.

Can those triggering this bug please try this build?

http://treefort.icculus.org/smb/smb-linux-mesa-hotfix-test.tar.bz2

Unpack that in your game installation, so it overwrites the game binaries.

L'archive contient les binaires du jeu qui ont été modifiés (et uniquement des binaires, pas les données). Si on remplace les binaires défectueux par ceux de l'archive, on n'a plus d'insulte à base de MojoShader.

On peut désormais se faire hacher menu 42 fois par niveau sur Super Meat Boy avec son GNU/Linux !

J'ai téléchargé le jeu la semaine dernière, le correctif date d'une semaine encore avant, cependant le site de l'Humble Indie Bundle 4 contient toujours une version à problème sur le serveur. Afin de donner plus de visibilité à ce correctif, je viens faire partager l'information.

  • # Artillerie lourde

    Posté par (page perso) . Évalué à  1 .

    Est-ce bien nécessaire de sortir les shaders pour un jeu 2D?

    Newton Adventure est sur Lumière Verte : http://steamcommunity.com/sharedfiles/filedetails/?id=187107465

    • [^] # Re: Artillerie lourde

      Posté par (page perso) . Évalué à  2 .

      On peut faire des jeux avec un rendu 3D et des déplacements en 2D uniquement. En tête il y a comme exemple la série des Super Smash Bros ou récemment les New Super Mario Bros.

      Je ne sais pas à quel niveau les shaders entrent en jeu dans Super Meat Boy.

      Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/

    • [^] # Re: Artillerie lourde

      Posté par . Évalué à  5 .

      C'est plutôt l'inverse, non ?
      Étant donné que (depuis longue date) il n'existe pratiquement plus de puces graphiques avec des fonctionnalités 2D, et que (depuis longtemps aussi) tout le rendu 3D passe par les shaders, je dirais que c'est ne pas utiliser de shaders qui équivaut à sortir l'artillerie lourde puisque ton code va dans ce cas devoir être traduit en shaders par les drivers/MESA en arrière plan. Si tu utilise les shaders directement dans ton code tu évites cette étape.

      • [^] # Re: Artillerie lourde

        Posté par (page perso) . Évalué à  2 .

        Pour des graphismes simples (en regardant les captures d'écran Super Meat Boy me semble loin de Battlefield 3), tu peux toujours utiliser OpenGL 1.0 qui fonctionne bien même sur les cartes graphiques bas de gamme.

        Newton Adventure est sur Lumière Verte : http://steamcommunity.com/sharedfiles/filedetails/?id=187107465

        • [^] # Re: Artillerie lourde

          Posté par (page perso) . Évalué à  1 .

          Tu peux toujours faire un truc plus moche, oui. Si les développeurs ont écrit le jeu avec des shaders alors que c'était faisable en fixed-pipe, c'est pas forcément très malin (d'autres viendront m'affirmer péremptoirement le contraire, mais ça reste OpenGL 1 qui offre le plus de compatibilité, même si c'est de moins en moins vrai avec OpenGL ES sur les plateformes mobiles).

          Si les développeurs ont utilisé des shaders pour faire plus joli, ma foi, c'est leur droit.

          Note : un jeu comme SuperMeatBoy devrait vraiment être en OpenGL 1 le plus basique de la terre pour être compatible avec le maximum de machines. Mais c'est pas moi qui l'ai écrit donc...

          • [^] # Re: Artillerie lourde

            Posté par (page perso) . Évalué à  1 .

            ça reste OpenGL 1 qui offre le plus de compatibilité, même si c'est de moins en moins vrai avec OpenGL ES sur les plateformes mobiles

            Pas seulement sur les plate-formes mobiles : OpenGL ES est en train de s'imposer comme socle commun partout en fait, parce qu'il comble un besoin qui n'était pas limité aux plate-formes mobiles justement.

        • [^] # Re: Artillerie lourde

          Posté par . Évalué à  2 .

          Tu peux aussi faire le jeu en ascii art, ça résoudra le problème.

          Et les aveugles pourront jouer sur leur clavier en braille en plus.

          If you can find a host for me that has a friendly parrot, I will be very very glad. If you can find someone who has a friendly parrot I can visit with, that will be nice too.

  • # Ça fonctionne !

    Posté par (page perso) . Évalué à  3 .

    Le jeux est fluide en plein écran en 1280x800 sur chipset Intel GM965 (une vieillerie).

    Par contre la gestion du pad est un peu relou (modification d'un fichier de conf dans le répertoire d'installation, et uniquement pour le gameplay).

    À noter que le même patch existe pour Shank (également dans le HIB4) : http://treefort.icculus.org/shank/shank-linux-mesa-hotfix-test.tar.bz2

  • # Cool

    Posté par (page perso) . Évalué à  2 .

    C'est packagé dans aur :-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.