Im Rahmen des gerade aktuellen Humble Indie Bundles #4 wurde das (meiner Meinung nach) geniale, aber auch bockschwere, Jump’n Run-Spiel “SuperMeatboy” auch endlich für Linux freigegeben. Leider stand unter den Systemanforderungen zu diesem Spiel folgende Aussage:
“Graphics: Does not work with Intel Integrated Graphics”
bzw. dann später
“Graphics: May not work with Intel Integrated Graphics”
Da ich ein Mensch bin, der Hardwareanforderungen nicht immer sofort Glauben schenkt, habe ich das Spiel trotzdem mal auf meinem Notebook (Dell Latitude D830 mit einem Intel X3100-Grafikchip) ausprobiert. Leider lies sich das Spiel gar nicht erst starten und verabschiedete sich immer mit der folgenden Fehlermeldung:
Fatal Error: MojoShader compile failed!
Da ich mich nicht mit dieser Situation abfinden wollte (Dazu ist das Spiel einfach zu gut), habe ich mir mal die Mailingliste des Spiels unter icculos.org zu Gemüte geführt. Und siehe da, dass Spiel scheint doch auf Systemen mit Intel-Grafikchips zu laufen. Jedenfalls meldete ein Benutzer, dass er keine Probleme hat das Spiel unter Fedora zu starten, während andere unter Ubuntu keinen Erfolg hatten. Nach ein wenig diskutieren, fand dann ein Teilnehmer der Diskussion den Grund dafür heraus:
Unter Fedora wird die Mesa-Bibliothek schon seit einer ganzen Weile mit der Option “–disable-asm” kompiliert, da diese Option anscheinend zu Fehlern geführt hat. Hier der dazugehörige Kommentar aus der spec-Datei der Fedora-Version von Mesa:
“i do not have words for how much the assembly dispatch code infuriates me”.
Da Fedora die Option schon eine Weile einsetzt und bisher niemand einen Nachteil entdeckt hat (Wie z.B. verringerte OpenGL-Geschwindigkeit), konnte es nicht schaden die Option auch mal unter Ubuntu zu testen. Dazu habe ich eine eigene Version von Mesa mit der Option gebaut und auf meinen Notebook installiert. Und siehe da, SuperMeatboy läuft auf einmal und das auch noch fehlerfrei:
Damit nicht nur ich in den Genuss dies Spiel kommen kann, habe ich die angepasste Version der Mesa-Bibliothek mal in mein Intel-Treiber-PPA hochgeladen. Momentan gibt es die angepasste Version nur für Ubuntu 11.10. Die Mesa-Version ist zusätzlich von mir auf die aktuellste Bugfix-Version 7.11.2 aktualisiert worden. Diese ist 100% kompatibel zur Original-Version aus Ubuntu 11.10. Zusätzlich zu Mesa habe ich noch die S3-Texturkompression-Bibliothek “libtxc-dxtn” in das PPA hochgeladen. Diese wurde als empfohlene Abhängigkeit von Mesa definiert, da sie nicht zwingend zum Betrieb von Mesa notwendig ist, deren Installation aber auch nicht schadet. Ich habe diesen Schritt gemacht, da einige Spiele unter Linux diese Bibliothek zwingend benötigen (z.B. “Braid”), wenn man die freien Grafiktreiber einsetzt.
Um die aktualisierte Mesa-Version, zusammen mit der aktuellsten Version des Intel-Grafiktreiber und der libdrm einzuspielen, sind folgende Kommandos notwendig:
sudo add-apt-repository ppa:glasen/intel-driver sudo apt-get update && sudo apt-get dist-upgrade
Danach sollte man unbedingt seinen Rechner neu starten um, damit das System auch alle aktualisierten Bibliotheken und Treiber benutzt.
