Hi,
I'm not sure if checking for the GLX extension is such a good idea as it is possible to use OpenGL without having the GLX extension. For instance when plain Mesa is used.
Regards, Roderick
On Sunday 24 December 2006 10:12, Roderick Colenbrander wrote:
Hi,
I'm not sure if checking for the GLX extension is such a good idea as it is possible to use OpenGL without having the GLX extension. For instance when plain Mesa is used.
OK. The thing is that if I have the OpenGL libraries installed and I try to run Wine under VNC server I get I complaints that it doesn't have the GLX extension. So I found some code that checks for the existence of the extension.
In any case the initialisation of OpenGL fails under VNC server so something needs to be fixed. But perhaps disabling it if GLX doesn't exist is too brutal.
What do you suggest?
I have played a bit with Mesa and it indeed works fine without the GLX extension (just a software renderer ofcourse). I know what error you are seeing for instance the nvidia drivers output it when GLX isn't present. It really depends just on the opengl implementation. Perhaps the right thing to do is to 'test' the OpenGL implementation by making a GLX call like glXQueryVersion or whatever. Errors can be caught using a X11DRV_expect_error. I fear that something like this is the only way.
Roderick
On Sunday 24 December 2006 10:12, Roderick Colenbrander wrote:
Hi,
I'm not sure if checking for the GLX extension is such a good idea as it
is
possible to use OpenGL without having the GLX extension. For instance
when
plain Mesa is used.
OK. The thing is that if I have the OpenGL libraries installed and I try to run Wine under VNC server I get I complaints that it doesn't have the GLX extension. So I found some code that checks for the existence of the extension.
In any case the initialisation of OpenGL fails under VNC server so something needs to be fixed. But perhaps disabling it if GLX doesn't exist is too brutal.
What do you suggest?
On Sunday 24 December 2006 15:17, Roderick Colenbrander wrote:
I have played a bit with Mesa and it indeed works fine without the GLX extension (just a software renderer ofcourse). I know what error you are seeing for instance the nvidia drivers output it when GLX isn't present. It really depends just on the opengl implementation.
I see both a OpenGL library error and a Wine error.
Perhaps the right thing to do is to 'test' the OpenGL implementation by making a GLX call like glXQueryVersion or whatever. Errors can be caught using a X11DRV_expect_error. I fear that something like this is the only way.
Actually I think it is glXQueryVersion that fails... Not 100% sure though.
But OK perhaps it can be caught but the point that 1. Our implementation of OpenGL doesn't work without GLX. Initialization fails and it returns FALSE. 2. It output confusing messages.
So applying the patch won't break anything. Anybody wishing to make Wine run OpenGL applications without GLX are welcome to submit additional patches.
On Sunday 24 December 2006 10:12, Roderick Colenbrander wrote:
Hi,
I'm not sure if checking for the GLX extension is such a good idea as it
is
possible to use OpenGL without having the GLX extension. For instance
when
plain Mesa is used.
OK. The thing is that if I have the OpenGL libraries installed and I try to run Wine under VNC server I get I complaints that it doesn't have the GLX extension. So I found some code that checks for the existence of the extension.
In any case the initialisation of OpenGL fails under VNC server so something needs to be fixed. But perhaps disabling it if GLX doesn't exist is too brutal.
What do you suggest?
On Sunday 24 December 2006 01:12, Roderick Colenbrander wrote:
Hi,
I'm not sure if checking for the GLX extension is such a good idea as it is possible to use OpenGL without having the GLX extension. For instance when plain Mesa is used.
Wine requires GLX 1.2 or higher though, doesn't it? In that case, the GLX extension would have to be there.
On Sunday 24 December 2006 10:55, Chris Robinson wrote:
On Sunday 24 December 2006 01:12, Roderick Colenbrander wrote:
Hi,
I'm not sure if checking for the GLX extension is such a good idea as it is possible to use OpenGL without having the GLX extension. For instance when plain Mesa is used.
Wine requires GLX 1.2 or higher though, doesn't it? In that case, the GLX extension would have to be there.
Indeed, perhaps I should point out that if the display doesn't support GLX like the case of VNC server the initialisation of OpenGL fails and a lot of confusing messages are outputted even if the application doesn't actually use OpenGL. So the patch doesn't really break anything except that has_opengl returns FALSE earlier and thus removes the messsages.
That said I'm sure that it possible to implement limited OpenGL without GLX but that is another problem for another day.