Originally posted by tessio
View Post
Announcement
Collapse
No announcement yet.
Firefox Developers Have Issues With Linux GPU Drivers Too
Collapse
X
-
Originally posted by bridgman View PostSounds good. Thanks for the info - I'm still learning all this.
In a nutshell, then, it seems as if the core issue here is that there are a bunch of relatively new GL ES driver implementations around and those code paths are being taken if available.
This has some similarities to the situation with new KWin versions -- in most cases the user experience with applications is improved if work-in-process extensions and features are exposed even in a "mostly working" state, but some applications (particularly those which are smart enough to dynamically select from multiple back-ends at runtime) end up running on an API which is exposed but still in development rather than a "less preferable" API whose implementation may be a lot more mature.
I don't think we have found a good answer for this other than more communication between app and driver developers. This particular issue will probably go away on its own as the GL ES implementations mature, but the core issue (conflict between the need to expose WIP functionality to support driver development and the need for exposed APIs and extensions to be rock solid ie not in development) remains unresolved. We really need some kind of extension/API mechanism with a bit more subtlety, ie a third "this is exposed but in development, so if you *can* work with a lower API level you should" state between "not exposed" and "exposed".
If there are runtime options to (for example) ignore GL ES even if it is exposed that would probably be a big help in the short term.
Thanks again for the info.
Am I totally off base with this?
Comment
-
I agree with the Mozilla devs that the majority of the drivers are broke. I'm pretty sure that webGL is using shader code. Shader code in the opensource drivers isn't even working for very many programs. I've run the drivers, including the proprietary nvidia, and amd drivers, and the opensource nouveau and r300 mesa classic, and r300 gallium, and r200. For the most part that sums up the majority of the current work. The best driver is the nvidia driver for getting the opengl correct and not crashing. AMD is the second best driver for the opengl correctness and somewhat not crashing. The opensource drivers are a long way from getting opengl 2.0 stable. I tried loading googleearth with mesa 7.9 and gallium and the r300 and the program didn't even load. I got the same result with the nouveau driver. Googleearth did load using the classic mesa stack with the r300 which is good but then again that driver doesn't support opengl 2.0. There are a lot of programs that use opengl 2.0 that just simply don't work at all on the opensource stack.
Comment
-
Originally posted by bjacob View Post
WebGL is not suddenly a savior on GL testing, thought any new test suite is welcome as hopefully it will experiments new rendering path.
That being said from bugs i have seen my feeling is that the GL part is not really at fault. I am pretty sure that all open source driver for big tree AMD, Intel & NVidia does support enought GL feature on recent enought hw to run the vast majority of WebGL content (if you would be able to copy the WebGL code into a standalone program it would run properly).
From what i gather the issues are with GLX and GL context switching/binding, it's one area that is barely tested with open source driver simply because pretty much all GL application that exist create one and only one GL context and bind it once at the very beginning. To me it seems that with WebGL we suddenly face a tons of GL context and firefox happily switch btw them and send command, i believe the root of most of the issues are there. Hard to says who is to blame as context switching and GL command submission should be done carefully.
For raising the issue i believe the mesa mailing list is likely the most appropriate place (i am sure that all X developer of the big three are subscribed to both Xorg & mesa but some of the mesa folks who have broad knowledge on this might not be on Xorg mailing list).
I wish those firefox issues were signalled to open source driver dev earlier ...
Comment
-
Originally posted by smitty3268 View PostIt's quite possible the newest drivers have fixed issues and it's just older ones that are crashing. You can test, and report info by doing this:
With:
FGLRX 8.78.3-100920a-105558C-ATI
ATI Radeon HD 4850 X2
Minefield 4.0b10pre (2011-01-14)
Comment
-
Originally posted by e8hffff View PostIt will probably take Canonical to save Linux.
I know Red Hat has contributed lots, and I'm no guru on the subject, but it seems like Red Hat has contributed a lot of fundamental systems which have become standards, while I haven't seen the same from Canonical yet. A lot of what Canonical has done seems to be just for helping themselves, and not for helping cross-distro standards, which of course in turn would help themselves.
I just wish there was interest in specific projects and Linux software in general, instead of the interest being geared towards one distro. That interest conflicts with cross-distro standards. Maybe then we'd see an actual cross-distro installation standard so that game and other software companies would be less scared of supporting Linux, not to mention hardware companies and drivers (a company releasing a closed or open source driver is besides the point; users should have an easy way of installing newer or different drivers period and should not be held captive by their distro of choice, not to mention there is no way to get a driver into the kernel and into a distro for hardware that is totally bleeding-edge).
Comment
-
Originally posted by mat69 View PostDamnit, this is not the same situation of "new versions of KWin". You completely get it wrong -- you aren't the first and won't be the last though.
The parts that lead to bad experiences in KWin have mostly not been changed since 4.0!
What has changed were drivers which reported "no I don't support this" in 2008 while now they do "I do support this" while the later is not the case in reality.
You can't ask KWin devs to try out the drivers of the future, no DeLorean there.
The situation seems similar here -- automatic selection of back ends, automatic use of in-development APIs, and automatic Bad Things. The question is whether there is or could be a runtime mechanism to influence the choice of back end (eg forcing to not use a brand new or in development API choice).Test signature
Comment
-
EDIT (this is how we edited back in the 70s ) - glisse's post does suggest that the problems might actually happen no matter which back end API was selected (assuming that submission from any of a large number of different contexts happens whether GL or GL ES is used) so I agree this *may* actually be different from the KWin situation.Test signature
Comment
-
Originally posted by glisse View PostWe do have a good OpenGL test suite, maybe not the definitive answer but it has thousands of GL test see :
http://cgit.freedesktop.org/piglit/
From what i gather the issues are with GLX and GL context switching/binding, it's one area that is barely tested with open source driver simply because pretty much all GL application that exist create one and only one GL context and bind it once at the very beginning. To me it seems that with WebGL we suddenly face a tons of GL context and firefox happily switch btw them and send command, i believe the root of most of the issues are there. Hard to says who is to blame as context switching and GL command submission should be done carefully.
Also, we have implemented an 'OpenGL debug mode' that checks that the GL context a GL call is intended to apply to is indeed current at the time of the call, and are making users reproduce crash with it to catch such errors first before we start blaming drivers ;-) Basically it works like this: GLContext::drawArrays checks that the 'this' pointer is the pointer to the current GLContext for this thread. Then user code calls myGLContext.drawArrays() instead of directly calling glDrawArrays().
For raising the issue i believe the mesa mailing list is likely the most appropriate place (i am sure that all X developer of the big three are subscribed to both Xorg & mesa but some of the mesa folks who have broad knowledge on this might not be on Xorg mailing list).
I wish those firefox issues were signalled to open source driver dev earlier ...
Comment
Comment