|
|
I'm trying to create an OpenGL context on linux but glxChooseVisual fails. Maybe there's someone there experienced with this that can help.
The code I'm trying is:
display := NBXLibDisplay open. window := display defaultRootWindow. visualInfo := NBXLibVisualInfo fromPointer: (gl chooseVisual: display screen: display defaultScreen attributes: {GLX_RGBA. GLX_DEPTH_SIZE. 24. GLX_DOUBLEBUFFER. 0} asWordArray).
... but chooseVisual returns a null pointer. I even tried putting an array with only 0 on attributes but didn't work either (and these attributes should be supported). Any idea of what could be wrong? The code is available to test in squeaksource, you need nativeboost+NBXLib to try Cheers, Javier Lic. Javier Pimás Ciudad de Buenos Aires |
|
Lawson English-2 |
|
|
Is that code even ready for consumption?
I was told that until there is a new ConfigurationOfNBOpenGL ready, to not load the new packages. L. On 2/10/12 10:12 AM, Javier Pimás wrote: I'm trying to create an OpenGL context on linux but glxChooseVisual fails. Maybe there's someone there experienced with this that can help. |
|
Igor Stasenko |
|
|
On 10 February 2012 19:19, Lawson English <[hidden email]> wrote:
> Is that code even ready for consumption? > > I was told that until there is a new ConfigurationOfNBOpenGL ready, to not > load the new packages. > you could try :) but this is what i working on now (slowly integrating the parts of Javier's code, because not everything which he did i like ;) > L. > > > On 2/10/12 10:12 AM, Javier Pimás wrote: > > I'm trying to create an OpenGL context on linux but glxChooseVisual fails. > Maybe there's someone there experienced with this that can help. > > The code I'm trying is: > > display := NBXLibDisplay open. > window := display defaultRootWindow. > visualInfo := NBXLibVisualInfo fromPointer: (gl chooseVisual: display > screen: display defaultScreen attributes: {GLX_RGBA. GLX_DEPTH_SIZE. 24. > GLX_DOUBLEBUFFER. 0} asWordArray). > ... > > but chooseVisual returns a null pointer. I even tried putting an array with > only 0 on attributes but didn't work either (and these attributes should be > supported). > > Any idea of what could be wrong? The code is available to test in > squeaksource, you need nativeboost+NBXLib to try > > Cheers, > Javier > > -- > Lic. Javier Pimás > Ciudad de Buenos Aires > > -- Best regards, Igor Stasenko. |
|
Igor Stasenko |
|
|
Btw, javier i cannot load your package to check what you did:
This package depends on the following classes: NBXLibConstants You must resolve these dependencies before you will be able to load these definitions: NBGLXContextDriver supportsCurrentPlatform createContext: On 10 February 2012 19:34, Igor Stasenko <[hidden email]> wrote: > On 10 February 2012 19:19, Lawson English <[hidden email]> wrote: >> Is that code even ready for consumption? >> >> I was told that until there is a new ConfigurationOfNBOpenGL ready, to not >> load the new packages. >> > > you could try :) > > but this is what i working on now (slowly integrating the parts of > Javier's code, > because not everything which he did i like ;) > > >> L. >> >> >> On 2/10/12 10:12 AM, Javier Pimás wrote: >> >> I'm trying to create an OpenGL context on linux but glxChooseVisual fails. >> Maybe there's someone there experienced with this that can help. >> >> The code I'm trying is: >> >> display := NBXLibDisplay open. >> window := display defaultRootWindow. >> visualInfo := NBXLibVisualInfo fromPointer: (gl chooseVisual: display >> screen: display defaultScreen attributes: {GLX_RGBA. GLX_DEPTH_SIZE. 24. >> GLX_DOUBLEBUFFER. 0} asWordArray). >> ... >> >> but chooseVisual returns a null pointer. I even tried putting an array with >> only 0 on attributes but didn't work either (and these attributes should be >> supported). >> >> Any idea of what could be wrong? The code is available to test in >> squeaksource, you need nativeboost+NBXLib to try >> >> Cheers, >> Javier >> >> -- >> Lic. Javier Pimás >> Ciudad de Buenos Aires >> >> > > > > -- > Best regards, > Igor Stasenko. -- Best regards, Igor Stasenko. |
|
|
To load NBOpenGL-X package you need to load NBXLib-core first
On Fri, Feb 10, 2012 at 3:39 PM, Igor Stasenko <[hidden email]> wrote: Btw, javier i cannot load your package to check what you did: Lic. Javier Pimás Ciudad de Buenos Aires |
|
Igor Stasenko |
|
|
On 10 February 2012 19:48, Javier Pimás <[hidden email]> wrote:
> To load NBOpenGL-X package you need to load NBXLib-core first > i don't see it. did you uploaded it? > > On Fri, Feb 10, 2012 at 3:39 PM, Igor Stasenko <[hidden email]> wrote: >> >> Btw, javier i cannot load your package to check what you did: >> >> This package depends on the following classes: >> NBXLibConstants >> You must resolve these dependencies before you will be able to load >> these definitions: >> NBGLXContextDriver >> supportsCurrentPlatform >> createContext: >> >> >> >> >> On 10 February 2012 19:34, Igor Stasenko <[hidden email]> wrote: >> > On 10 February 2012 19:19, Lawson English <[hidden email]> wrote: >> >> Is that code even ready for consumption? >> >> >> >> I was told that until there is a new ConfigurationOfNBOpenGL ready, to >> >> not >> >> load the new packages. >> >> >> > >> > you could try :) >> > >> > but this is what i working on now (slowly integrating the parts of >> > Javier's code, >> > because not everything which he did i like ;) >> > >> > >> >> L. >> >> >> >> >> >> On 2/10/12 10:12 AM, Javier Pimás wrote: >> >> >> >> I'm trying to create an OpenGL context on linux but glxChooseVisual >> >> fails. >> >> Maybe there's someone there experienced with this that can help. >> >> >> >> The code I'm trying is: >> >> >> >> display := NBXLibDisplay open. >> >> window := display defaultRootWindow. >> >> visualInfo := NBXLibVisualInfo fromPointer: (gl chooseVisual: display >> >> screen: display defaultScreen attributes: {GLX_RGBA. GLX_DEPTH_SIZE. >> >> 24. >> >> GLX_DOUBLEBUFFER. 0} asWordArray). >> >> ... >> >> >> >> but chooseVisual returns a null pointer. I even tried putting an array >> >> with >> >> only 0 on attributes but didn't work either (and these attributes >> >> should be >> >> supported). >> >> >> >> Any idea of what could be wrong? The code is available to test in >> >> squeaksource, you need nativeboost+NBXLib to try >> >> >> >> Cheers, >> >> Javier >> >> >> >> -- >> >> Lic. Javier Pimás >> >> Ciudad de Buenos Aires >> >> >> >> >> > >> > >> > >> > -- >> > Best regards, >> > Igor Stasenko. >> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > > > > -- > Lic. Javier Pimás > Ciudad de Buenos Aires -- Best regards, Igor Stasenko. |
|
|
yes, notice that it is in a different repo: http://www.squeaksource.com/NBXLib
On Fri, Feb 10, 2012 at 3:53 PM, Igor Stasenko <[hidden email]> wrote:
Lic. Javier Pimás Ciudad de Buenos Aires |
|
Igor Stasenko |
|
|
ok, so
If no conforming visual exists, NULL is returned. It is hard to imagine, that these attributes not supported {GLX_RGBA. GLX_DEPTH_SIZE. 24. GLX_DOUBLEBUFFER. 0} the code seems to be fine. This is what i found: ------- http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_GLX_and_Xlib If glXChooseVisual returns with success, the visual's id will be output. If NULL is returned, there is no visual that fulfills your needs. In that case, check the output of glxinfo again. Maybe you have to use a different depth buffer size (GLX_DEPTH_SIZE, 16 instead of GLX_DEPTH_SIZE, 24), or you could even have to remove the GLX_DEPTH_SIZE (or the GLX_DOUBLEBUFFER) entry. This should be considered especially if you want to create programs not only for your computer, but for other ones: You should code your program in a way that it can check a list of different combinations of visual attributes, because the capabilities depend heavily on the hardware. ----- They also using vi = glXChooseVisual(dpy, 0, att); second argument = 0. not #defaultScreen. On 10 February 2012 19:59, Javier Pimás <[hidden email]> wrote: > yes, notice that it is in a different > repo: http://www.squeaksource.com/NBXLib > > > On Fri, Feb 10, 2012 at 3:53 PM, Igor Stasenko <[hidden email]> wrote: >> >> On 10 February 2012 19:48, Javier Pimás <[hidden email]> >> wrote: >> > To load NBOpenGL-X package you need to load NBXLib-core first >> > >> i don't see it. did you uploaded it? >> >> > >> > On Fri, Feb 10, 2012 at 3:39 PM, Igor Stasenko <[hidden email]> >> > wrote: >> >> >> >> Btw, javier i cannot load your package to check what you did: >> >> >> >> This package depends on the following classes: >> >> NBXLibConstants >> >> You must resolve these dependencies before you will be able to load >> >> these definitions: >> >> NBGLXContextDriver >> >> supportsCurrentPlatform >> >> createContext: >> >> >> >> >> >> >> >> >> >> On 10 February 2012 19:34, Igor Stasenko <[hidden email]> wrote: >> >> > On 10 February 2012 19:19, Lawson English <[hidden email]> wrote: >> >> >> Is that code even ready for consumption? >> >> >> >> >> >> I was told that until there is a new ConfigurationOfNBOpenGL ready, >> >> >> to >> >> >> not >> >> >> load the new packages. >> >> >> >> >> > >> >> > you could try :) >> >> > >> >> > but this is what i working on now (slowly integrating the parts of >> >> > Javier's code, >> >> > because not everything which he did i like ;) >> >> > >> >> > >> >> >> L. >> >> >> >> >> >> >> >> >> On 2/10/12 10:12 AM, Javier Pimás wrote: >> >> >> >> >> >> I'm trying to create an OpenGL context on linux but glxChooseVisual >> >> >> fails. >> >> >> Maybe there's someone there experienced with this that can help. >> >> >> >> >> >> The code I'm trying is: >> >> >> >> >> >> display := NBXLibDisplay open. >> >> >> window := display defaultRootWindow. >> >> >> visualInfo := NBXLibVisualInfo fromPointer: (gl chooseVisual: >> >> >> display >> >> >> screen: display defaultScreen attributes: {GLX_RGBA. GLX_DEPTH_SIZE. >> >> >> 24. >> >> >> GLX_DOUBLEBUFFER. 0} asWordArray). >> >> >> ... >> >> >> >> >> >> but chooseVisual returns a null pointer. I even tried putting an >> >> >> array >> >> >> with >> >> >> only 0 on attributes but didn't work either (and these attributes >> >> >> should be >> >> >> supported). >> >> >> >> >> >> Any idea of what could be wrong? The code is available to test in >> >> >> squeaksource, you need nativeboost+NBXLib to try >> >> >> >> >> >> Cheers, >> >> >> Javier >> >> >> >> >> >> -- >> >> >> Lic. Javier Pimás >> >> >> Ciudad de Buenos Aires >> >> >> >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > Best regards, >> >> > Igor Stasenko. >> >> >> >> >> >> >> >> -- >> >> Best regards, >> >> Igor Stasenko. >> >> >> > >> > >> > >> > -- >> > Lic. Javier Pimás >> > Ciudad de Buenos Aires >> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > > > > -- > Lic. Javier Pimás > Ciudad de Buenos Aires -- Best regards, Igor Stasenko. |
|
|
After one day of very low level debugging I found part of the problem. I'll explain because maybe I'm doing something wrong.
There seem to be a duplicated load of the opengl library, one for statically linked calls and other dynamically loaded. I tried in gdb $> p listVisuals() which calls directly to XGetVisualInfo and worked (found ~84 visuals).
then I tried something more interesting, by manually calling display_ioGLcreateContext from gdb, which calls glXChooseVisual. And it worked again. After much debugging, I found that loading glXGetProcAddress dynamically with dlsym from /usr/lib/libGL.so gave an address different to the one gdb gives if directly doing
$> p glXGetProcAddress("glXChooseVisual") so there are 2 glXGetProcAddress. This is because one is loaded with dlsym (1) and the other is loaded automatically because the vm is linked against libGL (2). Calling (1) to get addresses of gl functions gives different addresses for all functions than calling (2).
Calling glXChooseVisual with the address fetched by (1) fails, but if using (2) it works. This is really strange to me. The way to fix it is to get glXGetProcAddress from NativeBoost VMModule instead of '/usr/lib/libGL.so'.
Now with this I have the opengl example almost working in linux (I hope). On Sun, Feb 12, 2012 at 4:23 AM, Igor Stasenko <[hidden email]> wrote: ok, so yes, I tried all this. first with 0, then with defaultScreen, which returns 0.
Lic. Javier Pimás Ciudad de Buenos Aires |
|
Igor Stasenko |
|
|
On 18 February 2012 04:15, Javier Pimás <[hidden email]> wrote:
> After one day of very low level debugging I found part of the problem. I'll > explain because maybe I'm doing something wrong. > > There seem to be a duplicated load of the opengl library, one for statically > linked calls and other dynamically loaded. > > I tried in gdb > > $> p listVisuals() > which calls directly to XGetVisualInfo and worked (found ~84 visuals). > > then I tried something more interesting, by manually calling > display_ioGLcreateContext from gdb, which calls glXChooseVisual. And it > worked again. > > After much debugging, I found that loading glXGetProcAddress dynamically > with dlsym from /usr/lib/libGL.so gave an address different to the one gdb > gives if directly doing > > $> p glXGetProcAddress("glXChooseVisual") > > so there are 2 glXGetProcAddress. This is because one is loaded with dlsym > (1) and the other is loaded automatically because the vm is linked against > libGL (2). Calling (1) to get addresses of gl functions gives different > addresses for all functions than calling (2). > > Calling glXChooseVisual with the address fetched by (1) fails, but if using > (2) it works. This is really strange to me. The way to fix it is to get > glXGetProcAddress from NativeBoost VMModule instead of '/usr/lib/libGL.so'. > > Now with this I have the opengl example almost working in linux (I hope). > But now , you see yourself, why i had to customize a "make call" and function lookup logic in OpenGL API. Exactly because of that. One should use glXGetProcAddress for fetching the function pointers, but in addition to that, depending on context which is currently active, a different function(s) can be available (or not). So, it is late bound (similar to per-class dictionary in smalltalk). This is why every instance of NBOpenGLAPI holds a list of function pointers and fills them dynamically. > On Sun, Feb 12, 2012 at 4:23 AM, Igor Stasenko <[hidden email]> wrote: >> >> ok, so >> >> If no conforming visual exists, NULL is returned. >> It is hard to imagine, that these attributes not supported >> >> {GLX_RGBA. GLX_DEPTH_SIZE. >> 24. >> GLX_DOUBLEBUFFER. 0} >> >> the code seems to be fine. >> >> This is what i found: >> >> ------- >> http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_GLX_and_Xlib >> >> If glXChooseVisual returns with success, the visual's id will be >> output. If NULL is returned, there is no visual that fulfills your >> needs. In that case, check the output of glxinfo again. Maybe you have >> to use a different depth buffer size (GLX_DEPTH_SIZE, 16 instead of >> GLX_DEPTH_SIZE, 24), or you could even have to remove the >> GLX_DEPTH_SIZE (or the GLX_DOUBLEBUFFER) entry. This should be >> considered especially if you want to create programs not only for your >> computer, but for other ones: You should code your program in a way >> that it can check a list of different combinations of visual >> attributes, because the capabilities depend heavily on the hardware. >> ----- >> They also using >> vi = glXChooseVisual(dpy, 0, att); >> >> second argument = 0. not #defaultScreen. >> > > yes, I tried all this. first with 0, then with defaultScreen, which returns > 0. > >> >> On 10 February 2012 19:59, Javier Pimás <[hidden email]> >> wrote: >> > yes, notice that it is in a different >> > repo: http://www.squeaksource.com/NBXLib >> > >> > >> > On Fri, Feb 10, 2012 at 3:53 PM, Igor Stasenko <[hidden email]> >> > wrote: >> >> >> >> On 10 February 2012 19:48, Javier Pimás <[hidden email]> >> >> wrote: >> >> > To load NBOpenGL-X package you need to load NBXLib-core first >> >> > >> >> i don't see it. did you uploaded it? >> >> >> >> > >> >> > On Fri, Feb 10, 2012 at 3:39 PM, Igor Stasenko <[hidden email]> >> >> > wrote: >> >> >> >> >> >> Btw, javier i cannot load your package to check what you did: >> >> >> >> >> >> This package depends on the following classes: >> >> >> NBXLibConstants >> >> >> You must resolve these dependencies before you will be able to load >> >> >> these definitions: >> >> >> NBGLXContextDriver >> >> >> supportsCurrentPlatform >> >> >> createContext: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On 10 February 2012 19:34, Igor Stasenko <[hidden email]> wrote: >> >> >> > On 10 February 2012 19:19, Lawson English <[hidden email]> >> >> >> > wrote: >> >> >> >> Is that code even ready for consumption? >> >> >> >> >> >> >> >> I was told that until there is a new ConfigurationOfNBOpenGL >> >> >> >> ready, >> >> >> >> to >> >> >> >> not >> >> >> >> load the new packages. >> >> >> >> >> >> >> > >> >> >> > you could try :) >> >> >> > >> >> >> > but this is what i working on now (slowly integrating the parts of >> >> >> > Javier's code, >> >> >> > because not everything which he did i like ;) >> >> >> > >> >> >> > >> >> >> >> L. >> >> >> >> >> >> >> >> >> >> >> >> On 2/10/12 10:12 AM, Javier Pimás wrote: >> >> >> >> >> >> >> >> I'm trying to create an OpenGL context on linux but >> >> >> >> glxChooseVisual >> >> >> >> fails. >> >> >> >> Maybe there's someone there experienced with this that can help. >> >> >> >> >> >> >> >> The code I'm trying is: >> >> >> >> >> >> >> >> display := NBXLibDisplay open. >> >> >> >> window := display defaultRootWindow. >> >> >> >> visualInfo := NBXLibVisualInfo fromPointer: (gl chooseVisual: >> >> >> >> display >> >> >> >> screen: display defaultScreen attributes: {GLX_RGBA. >> >> >> >> GLX_DEPTH_SIZE. >> >> >> >> 24. >> >> >> >> GLX_DOUBLEBUFFER. 0} asWordArray). >> >> >> >> ... >> >> >> >> >> >> >> >> but chooseVisual returns a null pointer. I even tried putting an >> >> >> >> array >> >> >> >> with >> >> >> >> only 0 on attributes but didn't work either (and these attributes >> >> >> >> should be >> >> >> >> supported). >> >> >> >> >> >> >> >> Any idea of what could be wrong? The code is available to test in >> >> >> >> squeaksource, you need nativeboost+NBXLib to try >> >> >> >> >> >> >> >> Cheers, >> >> >> >> Javier >> >> >> >> >> >> >> >> -- >> >> >> >> Lic. Javier Pimás >> >> >> >> Ciudad de Buenos Aires >> >> >> >> >> >> >> >> >> >> >> > >> >> >> > >> >> >> > >> >> >> > -- >> >> >> > Best regards, >> >> >> > Igor Stasenko. >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> Best regards, >> >> >> Igor Stasenko. >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > Lic. Javier Pimás >> >> > Ciudad de Buenos Aires >> >> >> >> >> >> >> >> -- >> >> Best regards, >> >> Igor Stasenko. >> >> >> > >> > >> > >> > -- >> > Lic. Javier Pimás >> > Ciudad de Buenos Aires >> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > > > > -- > Lic. Javier Pimás > Ciudad de Buenos Aires -- Best regards, Igor Stasenko. |
|
Igor Stasenko |
|
|
btw, to rebind to right version of glXGetProcAddress(),
try glXGetProcAddress("glXGetProcAddress") :) i do something similar to this for windows. On 19 February 2012 14:57, Igor Stasenko <[hidden email]> wrote: > On 18 February 2012 04:15, Javier Pimás <[hidden email]> wrote: >> After one day of very low level debugging I found part of the problem. I'll >> explain because maybe I'm doing something wrong. >> >> There seem to be a duplicated load of the opengl library, one for statically >> linked calls and other dynamically loaded. >> >> I tried in gdb >> >> $> p listVisuals() >> which calls directly to XGetVisualInfo and worked (found ~84 visuals). >> >> then I tried something more interesting, by manually calling >> display_ioGLcreateContext from gdb, which calls glXChooseVisual. And it >> worked again. >> >> After much debugging, I found that loading glXGetProcAddress dynamically >> with dlsym from /usr/lib/libGL.so gave an address different to the one gdb >> gives if directly doing >> >> $> p glXGetProcAddress("glXChooseVisual") >> >> so there are 2 glXGetProcAddress. This is because one is loaded with dlsym >> (1) and the other is loaded automatically because the vm is linked against >> libGL (2). Calling (1) to get addresses of gl functions gives different >> addresses for all functions than calling (2). >> >> Calling glXChooseVisual with the address fetched by (1) fails, but if using >> (2) it works. This is really strange to me. The way to fix it is to get >> glXGetProcAddress from NativeBoost VMModule instead of '/usr/lib/libGL.so'. >> >> Now with this I have the opengl example almost working in linux (I hope). >> > I hoped that it is not so at least on Linux. > > But now , you see yourself, why i had to customize a "make call" and > function lookup logic > in OpenGL API. Exactly because of that. > One should use glXGetProcAddress for fetching the function pointers, > but in addition to that, > depending on context which is currently active, a different > function(s) can be available (or not). > So, it is late bound (similar to per-class dictionary in smalltalk). > This is why every instance of NBOpenGLAPI holds a list of function > pointers and fills them dynamically. > >> On Sun, Feb 12, 2012 at 4:23 AM, Igor Stasenko <[hidden email]> wrote: >>> >>> ok, so >>> >>> If no conforming visual exists, NULL is returned. >>> It is hard to imagine, that these attributes not supported >>> >>> {GLX_RGBA. GLX_DEPTH_SIZE. >>> 24. >>> GLX_DOUBLEBUFFER. 0} >>> >>> the code seems to be fine. >>> >>> This is what i found: >>> >>> ------- >>> http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_GLX_and_Xlib >>> >>> If glXChooseVisual returns with success, the visual's id will be >>> output. If NULL is returned, there is no visual that fulfills your >>> needs. In that case, check the output of glxinfo again. Maybe you have >>> to use a different depth buffer size (GLX_DEPTH_SIZE, 16 instead of >>> GLX_DEPTH_SIZE, 24), or you could even have to remove the >>> GLX_DEPTH_SIZE (or the GLX_DOUBLEBUFFER) entry. This should be >>> considered especially if you want to create programs not only for your >>> computer, but for other ones: You should code your program in a way >>> that it can check a list of different combinations of visual >>> attributes, because the capabilities depend heavily on the hardware. >>> ----- >>> They also using >>> vi = glXChooseVisual(dpy, 0, att); >>> >>> second argument = 0. not #defaultScreen. >>> >> >> yes, I tried all this. first with 0, then with defaultScreen, which returns >> 0. >> >>> >>> On 10 February 2012 19:59, Javier Pimás <[hidden email]> >>> wrote: >>> > yes, notice that it is in a different >>> > repo: http://www.squeaksource.com/NBXLib >>> > >>> > >>> > On Fri, Feb 10, 2012 at 3:53 PM, Igor Stasenko <[hidden email]> >>> > wrote: >>> >> >>> >> On 10 February 2012 19:48, Javier Pimás <[hidden email]> >>> >> wrote: >>> >> > To load NBOpenGL-X package you need to load NBXLib-core first >>> >> > >>> >> i don't see it. did you uploaded it? >>> >> >>> >> > >>> >> > On Fri, Feb 10, 2012 at 3:39 PM, Igor Stasenko <[hidden email]> >>> >> > wrote: >>> >> >> >>> >> >> Btw, javier i cannot load your package to check what you did: >>> >> >> >>> >> >> This package depends on the following classes: >>> >> >> NBXLibConstants >>> >> >> You must resolve these dependencies before you will be able to load >>> >> >> these definitions: >>> >> >> NBGLXContextDriver >>> >> >> supportsCurrentPlatform >>> >> >> createContext: >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> On 10 February 2012 19:34, Igor Stasenko <[hidden email]> wrote: >>> >> >> > On 10 February 2012 19:19, Lawson English <[hidden email]> >>> >> >> > wrote: >>> >> >> >> Is that code even ready for consumption? >>> >> >> >> >>> >> >> >> I was told that until there is a new ConfigurationOfNBOpenGL >>> >> >> >> ready, >>> >> >> >> to >>> >> >> >> not >>> >> >> >> load the new packages. >>> >> >> >> >>> >> >> > >>> >> >> > you could try :) >>> >> >> > >>> >> >> > but this is what i working on now (slowly integrating the parts of >>> >> >> > Javier's code, >>> >> >> > because not everything which he did i like ;) >>> >> >> > >>> >> >> > >>> >> >> >> L. >>> >> >> >> >>> >> >> >> >>> >> >> >> On 2/10/12 10:12 AM, Javier Pimás wrote: >>> >> >> >> >>> >> >> >> I'm trying to create an OpenGL context on linux but >>> >> >> >> glxChooseVisual >>> >> >> >> fails. >>> >> >> >> Maybe there's someone there experienced with this that can help. >>> >> >> >> >>> >> >> >> The code I'm trying is: >>> >> >> >> >>> >> >> >> display := NBXLibDisplay open. >>> >> >> >> window := display defaultRootWindow. >>> >> >> >> visualInfo := NBXLibVisualInfo fromPointer: (gl chooseVisual: >>> >> >> >> display >>> >> >> >> screen: display defaultScreen attributes: {GLX_RGBA. >>> >> >> >> GLX_DEPTH_SIZE. >>> >> >> >> 24. >>> >> >> >> GLX_DOUBLEBUFFER. 0} asWordArray). >>> >> >> >> ... >>> >> >> >> >>> >> >> >> but chooseVisual returns a null pointer. I even tried putting an >>> >> >> >> array >>> >> >> >> with >>> >> >> >> only 0 on attributes but didn't work either (and these attributes >>> >> >> >> should be >>> >> >> >> supported). >>> >> >> >> >>> >> >> >> Any idea of what could be wrong? The code is available to test in >>> >> >> >> squeaksource, you need nativeboost+NBXLib to try >>> >> >> >> >>> >> >> >> Cheers, >>> >> >> >> Javier >>> >> >> >> >>> >> >> >> -- >>> >> >> >> Lic. Javier Pimás >>> >> >> >> Ciudad de Buenos Aires >>> >> >> >> >>> >> >> >> >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > -- >>> >> >> > Best regards, >>> >> >> > Igor Stasenko. >>> >> >> >>> >> >> >>> >> >> >>> >> >> -- >>> >> >> Best regards, >>> >> >> Igor Stasenko. >>> >> >> >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > Lic. Javier Pimás >>> >> > Ciudad de Buenos Aires >>> >> >>> >> >>> >> >>> >> -- >>> >> Best regards, >>> >> Igor Stasenko. >>> >> >>> > >>> > >>> > >>> > -- >>> > Lic. Javier Pimás >>> > Ciudad de Buenos Aires >>> >>> >>> >>> -- >>> Best regards, >>> Igor Stasenko. >>> >> >> >> >> -- >> Lic. Javier Pimás >> Ciudad de Buenos Aires > > > > -- > Best regards, > Igor Stasenko. -- Best regards, Igor Stasenko. |
| Powered by Nabble | See how NAML generates this page |