Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenGL 1.x support #116

Closed
dukope opened this issue Mar 26, 2014 · 10 comments
Closed

OpenGL 1.x support #116

dukope opened this issue Mar 26, 2014 · 10 comments

Comments

@dukope
Copy link
Contributor

dukope commented Mar 26, 2014

Ok, I realize this was removed intentionally to focus on OpenGL 2.x, but I was heavily relying on OpenGL 1.x for my game. I need only the basic GPU performance, easily matched by even very old computers. Requiring OpenGL 2 will open me up to many (justifiable) complaints from players.

I don't actually need GPU support on OpenGL 1.x, but I do need the SDL subsystem to start up. I added a software rendering mode to cover cases where OpenGL rendering doesn't work right. Now, even software rendering mode fails to start up if the system doesn't have OpenGL 2.x support:

OpenGL is not available. Retrying without. (Couldn't find matching render driver)
Failed to create SDL renderer: Couldn't find matching render driver

If OpenGL 1.x support doesn't come back, what are the chances for a solution to run the game in software rendering mode without any OpenGL requirement at all?

@jgranick
Copy link
Member

Is there an easy way to test as if a system has no OpenGL 2 support?

I wonder if ANGLE would help us for these systems?

@dukope
Copy link
Contributor Author

dukope commented Mar 26, 2014

If there's OpenGL at all, you can check the version string to see how far up version support goes. I'd guess SDL has a nicer way of checking this.

FWIW, my test procedure (on Windows) involves disabling the Display Adaptor from the Device Manager. This will force the OS to fall back to the built-in Microsoft OpenGL 1.1 software drivers. This used to work with OpenGL 1.x support and would enable the game to run in software mode on systems with otherwise problematic manufacturer-provided OpenGL drivers.

@dukope
Copy link
Contributor Author

dukope commented Mar 26, 2014

Which commit or which changes specifically removed support for OpenGL 1.x? I need recent fixes in other areas but I also can't give up OpenGL 1.x without an alternate solution. Waiting for ANGLE isn't feasible; I predict that'll take quite a while to implement.

If I can see what was changed to drop 1.x, maybe I can build a working alternate solution.

@delahee
Copy link
Contributor

delahee commented Mar 26, 2014

Are there so many opengl 1 only devices out there ? You have metrics I
imagine but am curious about numbers since even on mobile phones, ogl 1 is
old...

thx !

2014-03-26 16:32 GMT+01:00 dukope notifications@github.com:

Which commit or which changes specifically removed support for OpenGL 1.x?
I need recent fixes in other areas but I also can't give up OpenGL 1.x
without an alternate solution. Waiting for ANGLE isn't feasible; I predict
that'll take quite a while to implement.

If I can see what was changed to drop 1.x, maybe I can build a working
alternate solution.


Reply to this email directly or view it on GitHubhttps://github.com//issues/116#issuecomment-38698225
.

David Elahee

@dukope
Copy link
Contributor Author

dukope commented Mar 26, 2014

Unfortunately, I don't have metrics. I'm just responding to the large number of support requests that I get. There are plenty of people running older laptops with crappy integrated intel GPUs that have poor driver support.

But in general OpenGL is not well supported on Windows and one common solution is to run the game in software rendering mode. This sometimes requires disabling the GPU-provided display adaptor, leaving them with the MS OpenGL 1.1 driver.

@delahee
Copy link
Contributor

delahee commented Mar 26, 2014

I am fairly surprised, it must comes from driver update since directx9
(ogl2 equivalent) is usually very very well accepted. Maybe you could ship
in AIR (seriously) ?

2014-03-26 17:12 GMT+01:00 dukope notifications@github.com:

Unfortunately, I don't have metrics. I'm just responding to the large
number of support requests that I get. There are plenty of people running
older laptops with crappy integrated intel GPUs that have poor driver
support.

But in general OpenGL is not well supported on Windows and one common
solution is to run the game in software rendering mode. This sometimes
requires disabling the GPU-provided display adaptor, leaving them with the
MS OpenGL 1.1 driver.


Reply to this email directly or view it on GitHubhttps://github.com//issues/116#issuecomment-38703715
.

David Elahee

@dukope
Copy link
Contributor Author

dukope commented Mar 26, 2014

Ok, I found the problem. I'll submit a pull request tomorrow with the fix.

There were two separate issues:

  1. If SDL_RENDERER_PRESENTVSYNC is set without SDL_RENDERER_ACCELERATED, SDL won't find a valid renderer. This is a new problem, possibly related to dropping OpenGL 1.x support. Not sure.
  2. The native s3d stuff committed by @kaen (5eb972a) broke software mode with a NULL pointer dereference.

@delahee
Copy link
Contributor

delahee commented Mar 26, 2014

Cool !

2014-03-26 17:27 GMT+01:00 dukope notifications@github.com:

Ok, I found the problem. I'll submit a pull request tomorrow with the fix.

There were two separate issues:

  1. If SDL_RENDERER_PRESENTVSYNC is set without
    SDL_RENDERER_ACCELERATED, SDL won't find a valid renderer.
  2. The native s3d stuff committed by @kaen https://github.com/kaen (
    5eb972ahttps://github.com/openfl/lime/commit/5eb972ac5e0c6208075efd68dc4fe46a49b9c4b0)
    broke software mode with a NULL pointer dereference.


Reply to this email directly or view it on GitHubhttps://github.com//issues/116#issuecomment-38705807
.

David Elahee

@bkconrad
Copy link
Contributor

Cool! (and sorry, guys)

On Wed, Mar 26, 2014 at 9:30 AM, delahee notifications@github.com wrote:

Cool !

2014-03-26 17:27 GMT+01:00 dukope notifications@github.com:

Ok, I found the problem. I'll submit a pull request tomorrow with the
fix.

There were two separate issues:

  1. If SDL_RENDERER_PRESENTVSYNC is set without
    SDL_RENDERER_ACCELERATED, SDL won't find a valid renderer.
  2. The native s3d stuff committed by @kaen https://github.com/kaen (
    5eb972a<
    5eb972ac5e0c6208075efd68dc4fe46a49b9c4b0>)

broke software mode with a NULL pointer dereference.

Reply to this email directly or view it on GitHub<
https://github.com/openfl/lime/issues/116#issuecomment-38705807>
.

David Elahee

Reply to this email directly or view it on GitHubhttps://github.com//issues/116#issuecomment-38706084
.

@jgranick
Copy link
Member

I'm hoping to test ANGLE soon, which may help us provide hardware-accelerated support to more devices (since DirectX, being a part of running Windows 7+, seems to be better supported) but you are absolutely right -- it should not require hardware. I am very grateful for you looking into this.

delahee, the real issue here is that we intend our desktop builds to run on virtually on any machine. If there's something we need to improve compatibility, we want to do it -- otherwise, what is the point of having them? ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants