Announcement

Collapse
No announcement yet.

AMD, please give us EGL or decent direct rendering.

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

  • #11
    Thanks, markg85. That bug ticket suggests that packaging challenges are major issue (although I don't know whether the packaging challenges are a consequence of something we are doing, of course). When we were playing with EGL on the open drivers we tripped over many of the same things -- that EGL isn't as portable as one might think unless you code with very specific options (which most samples do not).

    I'm still trying to understand the references to direct rendering being broken though... I get the GL ES / EGL challenges but I don't get the direct rendering complaints yet. Are you talking specifically about direct rendering usage by a compositor (which has always been a bit of a touchy case IIRC) or direct rendering in general ?
    Last edited by bridgman; 07 September 2011, 11:46 AM.
    Test signature

    Comment


    • #12
      Originally posted by bridgman View Post
      Thanks, markg85. That bug ticket suggests that packaging challenges are major issue (although I don't know whether the packaging challenges are a consequence of something we are doing, of course). When we were playing with EGL on the open drivers we tripped over many of the same things -- that EGL isn't as portable as one might think unless you code with very specific options (which most samples do not).

      I'm still trying to understand the references to direct rendering being broken though... I get the GL ES / EGL challenges but I don't get the direct rendering complaints yet. Are you talking specifically about direct rendering usage by a compositor (which has always been a bit of a touchy case IIRC) or direct rendering in general ?
      Hi, I'm taking about direct rendering in composting. In this case kwin specific since I don't know the states of gnome, xfce and others.

      Comment


      • #13
        Originally posted by markg85 View Post
        Hi, I'm taking about direct rendering in composting. In this case kwin specific since I don't know the states of gnome, xfce and others.
        Thanks. Next question -- are we talking about running apps using direct rendering through a compositor (which IIRC should work pretty well these days) or having the compositor itself use direct rendering ?

        My impression was that compositors tended to use indirect rendering in order to simplify interaction with X (details outside my current level of knowledge) and that was one of the primary reasons for implementing AIGLX (Accelerated Indirect...) in the first place).
        Test signature

        Comment


        • #14
          Originally posted by bridgman View Post
          Thanks. Next question -- are we talking about running apps using direct rendering through a compositor (which IIRC should work pretty well these days) or having the compositor itself use direct rendering ?

          My impression was that compositors tended to use indirect rendering in order to simplify interaction with X (details outside my current level of knowledge) and that was one of the primary reasons for implementing AIGLX (Accelerated Indirect...) in the first place).
          I'm not sure it has anything to do with direct rendering (although KWin is able to do both direct and indirect, and it's been mentioned that fglrx only works halfway acceptably in the indirect mode). You should really get with the KWin developers and figure out what the problem is.

          I know they have blacklisted fglrx from using OpenGL 2 features because of severe performance problems, and have it just using the old fixed function pipeline. I think other compositors have complained of the same issue, although i'm not 100% sure of that. It could just be something like TFP being too slow when using GLSL or something like that, I have no clue.

          I think the original poster then brought up EGL as an alternative to the OpenGL 2 support, although it's not clear to me that it would be any different. It could have the same problems.

          Comment


          • #15
            Yeah, it's a little complicated for the K* devs because "we" (the open source community including AMD folks) is recommending the intersection set of GL ES and GL2 for the open source drivers (sometimes referred to as the GL ES 2.0 subset of GL 2.x), but "we" (AMD) are recommending regular GL 2 with the proprietary drivers.

            GL ES / EGL with the proprietary drivers still seems to have trouble making it through distro packaging systems because it's relatively new and (AFAICS) needs a bit of non-standard usage.
            Test signature

            Comment


            • #16
              Originally posted by bridgman View Post
              Yeah, it's a little complicated for the K* devs because "we" (the open source community including AMD folks) is recommending the intersection set of GL ES and GL2 for the open source drivers (sometimes referred to as the GL ES 2.0 subset of GL 2.x), but "we" (AMD) are recommending regular GL 2 with the proprietary drivers.
              I'm not sure i understand what you are trying to say here. It's not complicated - the Mesa drivers and NVidia drivers work fine. Fglrx works if they stick to the fixed function hardware, but there is some problem with programmable shaders used by compositors - not just Kwin but also others. Seems pretty simple to me.

              Comment


              • #17
                Originally posted by smitty3268 View Post
                I'm not sure i understand what you are trying to say here. It's not complicated - the Mesa drivers and NVidia drivers work fine. Fglrx works if they stick to the fixed function hardware, but there is some problem with programmable shaders used by compositors - not just Kwin but also others. Seems pretty simple to me.
                If fglrx is not working with GL 2.x (rather than GL ES 2.0) then I think we want to know what isn't working. The discussion keeps going back to "direct rendering" when I try to get clarity on that, and I'm not sure how direct rendering fits into the equation here. This seems like an API thing rather than a direct/indirect thing but it's hard to be sure.
                Test signature

                Comment


                • #18
                  Originally posted by bridgman View Post
                  If fglrx is not working with GL 2.x (rather than GL ES 2.0) then I think we want to know what isn't working. The discussion keeps going back to "direct rendering" when I try to get clarity on that, and I'm not sure how direct rendering fits into the equation here. This seems like an API thing rather than a direct/indirect thing but it's hard to be sure.
                  As i said, I don't think it has anything to do with direct rendering. I think that's a completely separate issue. I think it might have something to do with slow texture-from-pixmap calls in GL2, but I'm not really sure why i think that. You'd need to talk to the developers for more information.

                  Or better yet, just have one of the fglrx devs fire up KDE and set the necessary parameters. I'm sure they'd see exactly what the problem was.

                  Comment


                  • #19
                    Still trying to understand if this is a GL ES issue or a GL issue. If someone can identify what GL function or sequence appears to be misbehaving it's not that hard to get a developer looking at it. If the ask is basically "go become a KDE/KWin developer and learn the internals then futz around with settings until you see a problem" that's a harder sell.
                    Last edited by bridgman; 08 September 2011, 12:42 AM.
                    Test signature

                    Comment


                    • #20
                      Originally posted by bridgman View Post
                      Still trying to understand if this is a GL ES issue or a GL issue.
                      OK, let me try to sum up the situation if i can.

                      KWin has 3 backends it can use. OpenGL 1 (legacy), OpenGL 2 (which i think is restricted to using stuff that is also present in GL ES 2), and a GL ES 2.0 backend. As I understand it, the GL2 and GL ES2.0 backends are quite similar in what they do and how they do it.

                      On the desktop, Mesa and NVidia drivers default to GL2. fglrx is blacklisted to only use GL1 because the new backend is too slow on that driver. ES2.0 support is currently experimental and not default anywhere, but in the future it is expected to be used by - mobile devices, possibly newer Mesa releases, and definitely Wayland when it gets done.

                      The original complaint here was that the new GL 2 backend didn't work very well. He was saying alternatively, if you could fix the EGL requirement then maybe the ES2.0 backend would work instead. I'm not actually sure if that would fix the problem being encountered or if it would have the same issues, and neither does he. I don't think anyone has actually tried it or knows.

                      Then I think he mixed in a complaint about direct rendering - that is also an issue, but I think a completely separate one. Kwin will work in indirect mode as well as direct - fglrx requires indirect to work, but I don't think that's necessarily a big problem. If you could get that fixed in direct mode, obviously, that would be a bonus.

                      I left a comment on the KWin developers blog asking about exactly what is causing them to blacklist fglrx from the GL2 backend, but I don't really have any idea if he will get back to me or not. I don't know if he reads those comments on old posts or not. I'm sure if someone from AMD (like you) posted a message on a KWin mailing list somewhere and mentioned you were interested in improving the fglrx drivers, you would certainly get lots of feedback as to exactly what the problem is. Barring that, I'm not sure how much help you will get on Phoronix, unless as I said he finds my comment and gets back to me, then i will post that information here.

                      Comment

                      Working...
                      X