supertux icon indicating copy to clipboard operation
supertux copied to clipboard

SuperTux doesn't run in Windows 10 with OpenGL renderer

Open ghost opened this issue 5 years ago • 14 comments

SuperTux version: 0.6.2 stable (64 bit), 0.6.2-448 nightly (64 bit), 0.6.2 stable (32-bit)

System information: (details about your kernel, operating system, or distribution) Intel Core i7-3770 Intel HD graphics 4000 Windows 10 Pro 2004

Expected behavior

SuperTux should start and run normally.

Actual behavior

SuperTux crashes to desktop on every launch.

Steps to reproduce actual behavior

Run SuperTux 64 bit or 32 bit in any mode (compatibility, administrator or otherwise) when display driver is Intel HD graphics

Additional debugging information

console.err output is only one line: [FATAL] C:\projects\supertux-o8t59\src\supertux\main.cpp:610 Unexpected exception: C:\projects\supertux-o8t59\src\video\gl\gl_texture.cpp:78: glGetError: INVALID_OPERATION: The specified operation is not allowed in the current state.

I tried the solutions posted in older issues, including the compatibility mode fix and administrator fix, but it didn't fix my problem. From the output, it seems like an OpenGL problem to me. Any help is appreciated.

ghost avatar Oct 20 '20 10:10 ghost

Try running the game from the command line with:

supertux2.exe --renderer sdl

This will make SuperTux use the legacy renderer instead.

Semphriss avatar Oct 20 '20 14:10 Semphriss

This workaround works. Running using the --renderer option starts up SuperTux.

ghost avatar Oct 21 '20 06:10 ghost

@SSJKaran I'd say this has a workaround, but is not fixed

papb avatar Oct 21 '20 11:10 papb

So, shoiuld I reopen this, or submit a bug report?

ghost avatar Oct 23 '20 03:10 ghost

I think you should just reopen. The game should "just work" on Windows 10 (and anywhere).

papb avatar Oct 23 '20 12:10 papb

Alright, reopening cause the new renderer doesn't work with Windows 10 on Intel HD graphics, with the above error. Only the old SDL renderer works.

ghost avatar Oct 23 '20 13:10 ghost

Can you run SuperTuxKart (or any OpenGL game) fine? Knowing that could help determining if the problem is SuperTux or OpenGL.

Semphriss avatar Oct 24 '20 15:10 Semphriss

@Semphriss I can run some OpenGL games, the ones with GL v <4. IORTCW, Darkplaces with OpenGL, GZDoom Open GL, and other source ports run on OpenGl without problems. Does the OpenGL renderer support only versions 4.2 and upward? I will try SuperTuxKart and get back to you.

ghost avatar Oct 27 '20 08:10 ghost

SuperTux normally uses OpenGL 3.3 by default, but there is an option to use OpenGL 2.0:

supertux2.exe --renderer opengl20

Does it work with that? At what point does the game crash? Does the window open? Does it have the time to render at least one frame, very briefly?

Semphriss avatar Oct 28 '20 01:10 Semphriss

@Semphriss When using OpenGL2.0, I didn't get any crash after playing for 2 hours. So, it works on OpenGL 2.0, not sure why 3.3 doesn't work.

ghost avatar Oct 29 '20 04:10 ghost

@semphriss I somehow solved it...? Kind of? I just found out Intel HD Graphics supports OpenGL till v3.1, and not v3.3 and upward. All the other source ports were running on v3.1 when OpenGL v4.0 was not found. Screenshot_2020-10-29 Supported APIs for Intel® Graphics Controllers

ghost avatar Oct 29 '20 04:10 ghost

Alright, thanks for letting me know :+1:

Is there anything else I can help you with?

Semphriss avatar Oct 29 '20 19:10 Semphriss

Maybe this should be documented somehow? Maybe the game should detect OpenGL version when launched and provide a explanatory error message for the user? Simply crashing is bad... I believe the vast majority of Supertux players will not find this issue on GitHub.

papb avatar Oct 29 '20 20:10 papb

On my pc on windows 10 the game gives a lot of crashes. But I use a "puppy linux" linux on a pendrive as a portable linux and I run the same supertux "nightly build" appimage version on the same computer and the game runs very well without any locks, with the reflexes working everything normal. To play well for windows 10 I have to run with --renderer opengl20, which I don't understand because in linux it works and on windows no, on the same pc.

As supertux uses OpenGl 3.3, my pc has OpenGl 4.6, it should work fine, right?

Information from my PC: Processor - Intel celeron N4000 CPU @1.10GHz Graphics - Intel UHD Graphis 600 shader version 5.1 Directx 12 OpenCl 3.0 OpenGl 4.6 Memory - 4GB ram

#1542

supercookiemonster avatar Sep 12 '21 15:09 supercookiemonster