I suspect that's probably just direct vs indirect (GLX) versioning, but could you pastebin the entire glxinfo output just to be sure ?
Hey y'all, this is my first post here so please be gentle.
I recently started using Catalyst for my Mobility Radeon HD 3400 in my laptop running Ubuntu 10.04 (Lucid Lynx) kernel 2.6.32, and the funny thing is...
All programs that I run using 'sudo' that tell me info about my OpenGL version string report:
$ sudo glxinfo | grep OpenGL
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon HD 3400 Series
OpenGL version string: 3.3.9901 Compatibility Profile Context
OpenGL shading language version string: 3.30
Well, that's good, right? I have access to all the associated extensions... All fine and dandy... But then if I'm not superuser...
$ glxinfo | grep OpenGL
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon HD 3400 Series
OpenGL version string: 1.4 (3.3.9901 Compatibility Profile Context)
I'm suddenly downgraded to 1.4... Even extensions like ARB_vertex_buffer went *shwoop* out the window (yet curiously I retain advanced features like EXT_framebuffer_object).
I feel like I'm missing something... like changing access permissions... or something... But I have little idea where to start (well, I have an idea, but I'm not sure how screwed over I might end up being).
Oh, and running programs under gdb gives me the 3.3* version and all extensions with it.
Halp? (And don't anyone say that I should sudo everything)
I suspect that's probably just direct vs indirect (GLX) versioning, but could you pastebin the entire glxinfo output just to be sure ?
$ glxinfo
http://pastebin.com/7MSmyqpf
$ sudo glxinfo
http://pastebin.com/Sx0mV6TK
Oh. Oh snap... Non-sudo *is* indirect... How do I change that? *goes off to google*
I sent a post in with pastebin links, but I think I'm governed by that '< 5 posts --> URLS = nono' rule, soooo...
Yeah, it is an indirect versus direct rendering thing:
$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
$ sudo glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
But now I can't seem to figure out where it might be getting set from...
Running compiz by chance?
Adam
I got to reading about that as well (the Compiz thing)... 'Cept then it doesn't make sense to me that going super-user suddenly removes the problem.
...
But yeah, my current plan of action is that the next time I'm on my linux impl I'm going to try to update to the Compiz with the 'LIBGL_ALWAYS_INDIRECT=1'-be-gone patch (like a bugs-be-gone spray, 'cept with a patch.) and see what happens. I'll let you guys know how it goes...
Or is there an easier solution?
Just don't start the terminal using the compiz keybinding for launching a terminal. If you do that, the terminal will inherit the environment from compiz.
And, yes, it does make sense that using sudo removes the problem since the environmental variables can be reset when using sudo.
Adam
I mean that it's weird that LIBGL_ALWAYS_INDIRECT isn't on the 'Remove' list for sudo. Or am I just getting the entire thing wrong and whatever isn't specified is undefined/implementation dependent?
Anyway, fixed it by unsetting the environment variable in my ~/.bashrc.
Thanks for the help!!