Announcement

Collapse
No announcement yet.

Firefox Developers Have Issues With Linux GPU Drivers Too

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • glisse
    replied
    Originally posted by bjacob View Post
    Sometimes I've done that, e.g.

    I've even sent a patch,


    But really what was missing so far was a good OpenGL test suite. Now that WebGL is providing one,

    OpenGL implementers will have something very concrete to test their drivers on, and we'll be able to whitelist drivers which succeed at it.
    We do have a good OpenGL test suite, maybe not the definitive answer but it has thousands of GL test see :


    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 ...

    Leave a comment:


  • rapsure
    replied
    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.

    Leave a comment:


  • transwarp
    replied
    Originally posted by bridgman View Post
    Sounds 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.
    So would the real solution to have a non-standard way of signaling that the API is a WIP, rather than having it marked as working? Something like the -moz-rounded-corner CSS settings for Mozilla, or the matching ones for Webkit back when they were testing it out. That way, the only applications that see that a WIP feature are there are the ones that are specifically testing out that feature in that driver. Are there any cases where other applications would want to see WIP features as enabled? Once it does work, the driver reports it in the standard way, like -rounded-corners in modern CSS.

    Am I totally off base with this?

    Leave a comment:


  • RealNC
    replied
    Originally posted by tessio View Post
    OpenSource drivers are good enough to play Quake 3, but not to show photos moving in circles?
    Troll attempt failed. Try again later.

    Leave a comment:


  • tessio
    replied
    OpenSource drivers are good enough to play Quake 3, but not to show photos moving in circles?

    Leave a comment:


  • hubick
    replied
    Originally posted by Wyatt View Post
    Just out of curiosity, are you associated with Mozilla?
    For all those people who find it more convenient to bother you with their question rather than to Google it for themselves.

    Leave a comment:


  • Wyatt
    replied
    Originally posted by bjacob View Post
    We're actually not interacting with X on a deep level at all here. What we're talking about here really is pure OpenGL. X is almost entirely abstracted behind the OpenGL API. All what we need is a good implementation of OpenGL itself. Contrast this with e.g. composited window managers, which do much more complex X stuff.
    Just out of curiosity, are you associated with Mozilla? Just so I have some kind of context for what you're saying here. No offense, but I tend to be somewhat skeptical if it's just what random users are saying.

    Leave a comment:


  • mat69
    replied
    Originally posted by bridgman View Post
    Sounds 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.
    Damnit, 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.

    Leave a comment:


  • molecule-eye
    replied
    Hark!

    This is one of the MANY reasons I'm staying away from Intel video chipsets in the future, even the integrated graphics of Sandy Bridge is pretty sweet from a performance-per-watt perspective.

    Leave a comment:


  • bjacob
    replied
    Originally posted by Kano View Post
    @bjacob

    Kanotix is based on stable now - but of course i have got test images with squeeze, but only for those who ask. I have got nothing to do with the distro you use.
    Ah OK, sorry I thought that aptosid was an offspring of Kanotix (via sidux). Anyway, Kanotix has been invaluable to me as a live CD with LaTeX running out of the box.

    Leave a comment:

Working...
X