Hi there,
I am using Ubuntu as a OS and IronHide to make use of my double graphics cards and stumbled over the error stated in in the summary. I hope you can help me.
Best regards
I have an Intel N10 chip and when I run ./SuperMeatBoy I get:
Fatal Error: MojoShader compile failed
My laptop also supports the secondary Nvidia chip, but I don't have it set up in any way except disabling it and I don't believe that would be related. Is it possible to make this thing work on Intel? I tried -ultralowdetail to no avail.
(In reply to comment #10)
> Me too, same error on ArchLinux, kernel 3.1.5, using open-source radeon driver,
> mesa 7.11.2 with a Radeon 6850.. I'm gonna try catalyst..
Is working with catalyst.. It seems open-source radeon is not supported.
It seems to be an issue with Mesa, not only with radeon free driver.
I have an Mobile Intel® GM45 Express, with the official open-source driver, and get the same problem.
Comment 13Sampo Savolainen
2011-12-14 10:37:13 EST
Created attachment 3037[details]
Output of glxinfo
I also suffer from this problem. I'm running 64 bit Ubuntu 11.10 on a Thinkpad T420 with integrated Intel graphics.
Can someone having this problem try this?
In the game's amd64 and x86 directories, there's a file called libstdc++.so.6...rename it to something else and run the game again.
--ryan.
(In reply to comment #17)
> Can someone having this problem try this?
>
> In the game's amd64 and x86 directories, there's a file called
> libstdc++.so.6...rename it to something else and run the game again.
>
> --ryan.
Renaming libstdc++.so.6 makes no difference here. It's definitely a general Mesa problem though, not specific to Intel, even software rendering gives the same error.
It doesn't seem to be a problem with the Mesa GLSL compiler crapping out either, setting MESA_GLSL=dump has no effect so it doesn't even get to the point where it tries to compile the shaders.
This is with Mesa 7.11.2, with current git master the game segfaults on start. It could be a regression, but I'm adding the backtrace here just in case:
Program received signal SIGSEGV, Segmentation fault.
0x00001339 in ?? ()
#0 0x00001339 in ?? ()
#1 0x08191808 in impl_GLSL_CompileShader ()
#2 0x08193500 in MOJOSHADER_glCompileShader ()
#3 0x081c0aae in CreateOpenGLShader(tagShaderCreation const*) ()
#4 0x082a4923 in Shader::CreateShader(tagShaderCreation*) ()
#5 0x08288f2e in FragmentLinker::GetShader() ()
#6 0x081bffc9 in gfxDraw ()
#7 0x0828ab90 in TGraphics::Draw(VertexStream*, IndexBuffer*) ()
#8 0x082721bf in FlashSymbol::Render(float, ColorTemplate<float> const&, ColorTemplate<float> const&, FlashLibraryInstance*) ()
#9 0x08274f33 in FlashLibraryInstance::TimelineRender(float, float, ColorTemplate<float> const&, ColorTemplate<float> const&, FlashLibraryInstance*) ()
#10 0x08275339 in FlashTimeline::Render(float, ColorTemplate<float> const&, ColorTemplate<float> const&, FlashLibraryInstance*) ()
#11 0x0827543b in FlashMovieClip::Render(float, ColorTemplate<float> const&, ColorTemplate<float> const&, FlashLibraryInstance*) ()
#12 0x08274f33 in FlashLibraryInstance::TimelineRender(float, float, ColorTemplate<float> const&, ColorTemplate<float> const&, FlashLibraryInstance*) ()
#13 0x08275339 in FlashTimeline::Render(float, ColorTemplate<float> const&, ColorTemplate<float> const&, FlashLibraryInstance*) ()
#14 0x0827543b in FlashMovieClip::Render(float, ColorTemplate<float> const&, ColorTemplate<float> const&, FlashLibraryInstance*) ()
#15 0x0826f37e in FlashLibraryInstance::Render() ()
#16 0x0810e754 in GSMBMenu::RenderTitleScreenForIntro() ()
#17 0x080b49ff in GMeatHUD::Render() ()
#18 0x0829bfeb in RenderLayers::Render() ()
#19 0x08281b7d in TEngine::Render() ()
#20 0x08281e5b in TEngine::EngineRun() ()
#21 0x08281fd1 in TEngine::Run() ()
#22 0x080a90be in main ()
(In reply to comment #17)
> Can someone having this problem try this?
>
> In the game's amd64 and x86 directories, there's a file called
> libstdc++.so.6...rename it to something else and run the game again.
>
> --ryan.
Tried it as well, doesn't work either.
(In reply to comment #17)
> Can someone having this problem try this?
>
> In the game's amd64 and x86 directories, there's a file called
> libstdc++.so.6...rename it to something else and run the game again.
>
> --ryan.
Didn't do it for me.
I have the same issue with the 32-bit version on my Dell laptop, and the 64-bit version on my custom desktop. Both computers are running the Ubuntu 11.10. The desktop was running the Nouveau driver for my video card. After installing the nVidia driver (which messes up my VESA text mode display), Super Meat Boy works! However, I don't have that option with my 32-bit laptop, and I'd like to be able to play it on the Nouveau driver on my 64-bit desktop too. If there is anything I can submit to help you troubleshoot, please let me know.
(In reply to comment #20)
> Getting that exact same SegFault in MESA 7.3 and running ATI Catalyst 9.3
> drivers (see other thread).. Definitely not a MESA regression.
I got the game running without error on my other machine, with the proprietary ATI drivers from ubuntu's repos.
Would setting export MESA_GLSL=dump,nopt be useful for debugging? I'm assuming of course that the problem is with MESA's GLSL compiler which still has some unsupported features according to: http://www.mesa3d.org/shading.html
I think the proprietary drivers ship their own GLSL compiler, right? If so, that doesn't help me as I'm stuck on old proprietary drivers that won't work because AMD dropped support for the old hardware and it looks like MESA's GLSL compiler isn't working either.
(In reply to comment #24)
> Would setting export MESA_GLSL=dump,nopt be useful for debugging? I'm
> assuming of course that the problem is with MESA's GLSL compiler which still
> has some unsupported features according to: http://www.mesa3d.org/shading.html
>
> I think the proprietary drivers ship their own GLSL compiler, right? If so,
> that doesn't help me as I'm stuck on old proprietary drivers that won't work
> because AMD dropped support for the old hardware and it looks like MESA's GLSL
> compiler isn't working either.
As I mentioned in an earlier reply, this has no effect. It seems whatever it is that goes wrong does so before the shaders are handed off to the compiler.
Got it!
The difference between Fedora and everybody else is that they are building Mesa with the --disable-asm flag. I'm not quite sure what this does, but the comment in the spec file says "i do not have words for how much the assembly dispatch code infuriates me".
Anyway, I'll file a bug about this in the Mesa bug tracker later and if it can't be resolved there, other distros need to start building it the same way as Fedora.
Now I'm gonna play some Meat Boy! :)
It looks like --disable-asm will disable some platform specific assembly language optimizations in MESA which are enabled by default for performance reasons. So I agree that it does seem like a bug in MESA.
Comment 28Stefan Zwanenburg
2011-12-16 13:06:40 EST
I run into this problem as well, with the radeon driver (using Gallium3D as the 'backend'). Now, I'm wondering if this is due to the driver not implementing these shaders, or if it is because of something else entirely.
It'd be nice if the game could be run on machines using these drivers, as the proprietary drivers aren't always all that good (I have problems with fglrx).
If there's any kind of debug information I can provide, please do tell me what and how I can get it.
(In reply to comment #28)
> I run into this problem as well, with the radeon driver (using Gallium3D as the
> 'backend').
It's the same problem for all the Mesa drivers, see previous replies for an explanation.
I can get the game to run in Virtual Box with a Windows host OS and Debian Testing as the guest. Rendering is incorrect though, text does not display in the text boxes at the beginning intro or in the menu..
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.
Please report back with your results.
Thanks!
--ryan.
Comment 39Martin Jørgensen
2011-12-21 05:03:43 EST
Comment 41Stefan Zwanenburg
2011-12-21 05:17:43 EST
(In reply to comment #38)
> 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.
>
> Please report back with your results.
>
> Thanks!
>
> --ryan.
This also works for me. That's awesome. Thanks!
It's also working for me :)
(In reply to comment #38)
> 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.
>
> Please report back with your results.
>
> Thanks!
>
> --ryan.
(In reply to comment #38)
> 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.
>
> Please report back with your results.
>
> Thanks!
>
> --ryan.
Fixed it. Thanks.
*** Bug 5333 has been marked as a duplicate of this bug. ***
Comment 49Thomas Schneider
2011-12-25 16:38:22 EST
(In reply to comment #38)
> 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.
>
> Please report back with your results.
>
> Thanks!
>
> --ryan.
Works :)
Comment 50Wouter van der Graaf
2012-02-08 07:42:09 EST
(In reply to comment #38)
> 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.
>
> Please report back with your results.
>
> Thanks!
>
> --ryan.
Yep, had the same MojoShader error and with this it works!
When will this be released officially?
Wouter
(I'm changing several bugs at once, sorry if you get this message multiple times.)
Humble Indie Bundle #5 is adding Super Meat Boy (among other games) to the promotion today, and we've updated the Linux build with several fixes for it. This will be available at the same time to people that purchased SMB through Humble Indie Bundle #4, too.
I'm updating this bug because I believe this new build fixes the issue reported here. Unless there is an objection, this bug will be marked as RESOLVED FIXED soon.
For those that want the complete package, just redownload the game from humblebundle.com, using your existing download URL. You can run uninstall-supermeatboy.sh in your installation before installing the new copy; your save games will survive.
For those that don't want to redownload the whole game, here's just the changed files (3 megabyte download). Unpack it and overwrite the appropriate files in your installation with the new version.
http://treefort.icculus.org/smb/smb-build2-changed-files.tar.bz2
Please note that this build does not resolve every bug reported in Bugzilla, but it should be much better than the original build.
--ryan.
Closing several bugs as RESOLVED FIXED. Please reopen them if you're still having this issue in the new build.
Please open a new bug, or CC yourself on an existing bug, if you're (still) having a different issue.
Thanks!
--ryan.
Created attachment 3037 [details] Output of glxinfo I also suffer from this problem. I'm running 64 bit Ubuntu 11.10 on a Thinkpad T420 with integrated Intel graphics.