Announcement

Collapse
No announcement yet.

Open-Source Freedreno Graphics Driver Is Now Faster

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

  • Open-Source Freedreno Graphics Driver Is Now Faster

    Phoronix: Open-Source Freedreno Graphics Driver Is Now Faster

    The open-source Freedreno graphics driver for providing reverse-engineered Qualcomm Adreno GPU support is now faster for handling OpenGL ES games...

    http://www.phoronix.com/vr.php?view=MTQ2MjE

  • #2
    I thought freedreno only did GLES? Does it now also do normal GL?

    The chips ought to be able to do GL 2.1, as they advertise DX 9.3.

    Comment


    • #3
      Originally posted by curaga View Post
      I thought freedreno only did GLES? Does it now also do normal GL?
      https://github.com/freedreno/freedreno/wiki#status

      Comment


      • #4
        Originally posted by curaga View Post
        I thought freedreno only did GLES? Does it now also do normal GL?

        The chips ought to be able to do GL 2.1, as they advertise DX 9.3.
        actually, all those games are actually GL games, not GLES as Michael reported.. I just 'sudo yum install'd a bunch of games which I found packaged in fedora archives to avoid having to compile everything myself, and everything in the archives appears to be built for GL (even if it may support GLES) ;-)

        At least for a2xx, I cannot support some TGSI integer operations (iirc, it was AND and OR type bitwise stuff) which was preventing advertising for GL2.x contexts, since a2xx does not support integer. The a3xx should support this (but not implemented yet). I've not done a detailed inventory of required formats, etc, so it is possible that some GL apps request things that the hw can't do.. or if the hw can do, the blob GLES1/2/3 driver cannot (which can make it difficult to figure out ;-)).

        Comment


        • #5
          A little question here: Is Adreno responsible for video decoding acceleration, or is it a feature provided by a different Snapdragon part? If it's Adreno, then when will freedreno support this, if ever?
          I'm thinking about getting either this or waiting for some small board with Atom Silvermont, because i'd like to utilize video acceleration.
          Last edited by kaszak; 09-15-2013, 09:26 AM.

          Comment


          • #6
            Fun fact, Adreno is Radeon with the letters rearranged.

            Comment


            • #7
              Originally posted by Dukenukemx View Post
              Fun fact, Adreno is Radeon with the letters rearranged.
              The word you're looking for is "anagram". This is most likely rooted in Adreno's roots at AMD.

              Comment


              • #8
                I have an HTC incredible that I'm still using, but I can't run a modern OS on it because the proprietary driver is not supported for any. Should this, in theory, allow Android 4.x to run on the device with a fully compatible API?

                Comment


                • #9
                  Originally posted by ethana2 View Post
                  I have an HTC incredible that I'm still using, but I can't run a modern OS on it because the proprietary driver is not supported for any. Should this, in theory, allow Android 4.x to run on the device with a fully compatible API?
                  While I think it's technically possible. Porting the code to Android seems both counter intuitive and very involving to me.

                  If you want a newer Android on your device, I think your best shot is to try compiling CyanogenMod or AOSP for it. It's the shortest route and have been done before. You can try contacting one of the HTC Desire's (similar to your QSD8650 HTC Incredible) modders that does unofficial releases (since CyanogenMod gave up on supporting the first gen Qualcomms) for details and help.
                  This guy, vijendrahs is looking active enough. But I'm sure there are others as well.

                  I suppose you could always send Mr. Clark your phone with a note attached saying "Hack me!" and hope for the best

                  Comment


                  • #10
                    Originally posted by kaszak View Post
                    A little question here: Is Adreno responsible for video decoding acceleration, or is it a feature provided by a different Snapdragon part? If it's Adreno, then when will freedreno support this, if ever?
                    I'm thinking about getting either this or waiting for some small board with Atom Silvermont, because i'd like to utilize video acceleration.
                    the video decode/encode is separate on snapdragon.. but other than the firmware blob, the kernel and userspace parts are open. The userspace part exposes an OMX interface. It just needs someone with some time to figure out what to do for linux (ie. can we wrap it in vdpau or something like that? Or gstreamer plugins? or?)

                    Comment


                    • #11
                      Originally posted by c117152 View Post
                      While I think it's technically possible. Porting the code to Android seems both counter intuitive and very involving to me.

                      If you want a newer Android on your device, I think your best shot is to try compiling CyanogenMod or AOSP for it. It's the shortest route and have been done before. You can try contacting one of the HTC Desire's (similar to your QSD8650 HTC Incredible) modders that does unofficial releases (since CyanogenMod gave up on supporting the first gen Qualcomms) for details and help.
                      This guy, vijendrahs is looking active enough. But I'm sure there are others as well.

                      I suppose you could always send Mr. Clark your phone with a note attached saying "Hack me!" and hope for the best
                      fwiw, mesa does seem to have some android support.. last I checked it was updated for android 4.2. (Not sure if there is any further change needed for 4.3 or if it should "just work".)

                      Personally, android isn't really my focus.. I'm more interested in enabling people to run "traditional" linux on these devices. But there shouldn't need to be anything android specific in freedreno, that is all handled outside of the gallium pipe driver. So if someone wanted to go figure out how to build a mesa based android, it should be possible to get freedreno running.

                      Comment


                      • #12
                        Great news!

                        I was delighted to hear this! I wasn't expecting GLES 2 (and eventually GLES3/OGL2, maybe) support under 'proper Linux' on my Nexus 4 with a FLOSS driver any time soon - now this!

                        Its question time for Mr Clark!

                        * Can I dual-boot your Fedora port with Android 4.3 on my Nexus 4?

                        * Do any of these work under your Fedora port - Wifi, GPS, camera and phone/SMS? If special apps are required for any of these functions (camera and phone) - do they exist?

                        * Is anyone working on porting Debian or Ubuntu to the Nexus 4?

                        * Can you play MAME full screen at a decent fps?

                        Excellent work Rob! I'm delighted I bought the N4 now!

                        Comment


                        • #13
                          Originally posted by robclark View Post
                          actually, all those games are actually GL games, not GLES as Michael reported.. I just 'sudo yum install'd a bunch of games which I found packaged in fedora archives to avoid having to compile everything myself, and everything in the archives appears to be built for GL (even if it may support GLES) ;-)

                          At least for a2xx, I cannot support some TGSI integer operations (iirc, it was AND and OR type bitwise stuff) which was preventing advertising for GL2.x contexts, since a2xx does not support integer. The a3xx should support this (but not implemented yet). I've not done a detailed inventory of required formats, etc, so it is possible that some GL apps request things that the hw can't do.. or if the hw can do, the blob GLES1/2/3 driver cannot (which can make it difficult to figure out ;-)).
                          OpenGL 2.x does not require integer hardware support, all integer operations can be emulated using floating point. In OpenGL 3.x, bitwise integer operations were introduced, which would be insane to emulate :P

                          So if integer support is the only blocker for OpenGL 2.x on a2xx, you're in luck.

                          Comment


                          • #14
                            Originally posted by danboid View Post
                            I was delighted to hear this! I wasn't expecting GLES 2 (and eventually GLES3/OGL2, maybe) support under 'proper Linux' on my Nexus 4 with a FLOSS driver any time soon - now this!

                            Its question time for Mr Clark!

                            * Can I dual-boot your Fedora port with Android 4.3 on my Nexus 4?
                            well, mostly I had been doing fedora under chroot, rather than booting directly. Mostly becaues booting directly will require a bit of repartitioning, so it is a bit more intrusive. For fedora (or rather for systemd) you might need to backport some kernel firmware loader patches if you are booting directly. (I have these on my ifc6410 kernel branches, fwiw)

                            That all said, I never did manage to build an android 4.3 kernel that actually works with android 4.3, so using something newer than 4.2, repartitioning and dual booting is probably the way to go.

                            Originally posted by danboid View Post
                            * Do any of these work under your Fedora port - Wifi, GPS, camera and phone/SMS? If special apps are required for any of these functions (camera and phone) - do they exist?
                            No idea.. I'd guess at least wifi could be made to work, but not really something I know too much about, and I tend to have my hands full with the graphics stuff

                            Originally posted by danboid View Post
                            * Is anyone working on porting Debian or Ubuntu to the Nexus 4?
                            No idea.. although I suppose that should be relatively easy. I've done some light testing with compiz, and it seems to work ok. And if no systemd, it should probably be less demanding on kernel version. I think systemd is pretty neat, but it does tend to use newer features from newer kernels.

                            Originally posted by danboid View Post
                            * Can you play MAME full screen at a decent fps?

                            Excellent work Rob! I'm delighted I bought the N4 now!
                            I guess I should have a go at installing MAME and see.. I haven't really tried it.

                            Comment


                            • #15
                              Originally posted by kusma View Post
                              OpenGL 2.x does not require integer hardware support, all integer operations can be emulated using floating point. In OpenGL 3.x, bitwise integer operations were introduced, which would be insane to emulate :P

                              So if integer support is the only blocker for OpenGL 2.x on a2xx, you're in luck.
                              Yeah, could just be a matter of how gallium maps pipe caps to GL versions.. I didn't really dig much. But I remember I had to lower GLSL version I supported to avoid getting bitwise integer ops, and when I did that I no longer had GL2.

                              Comment

                              Working...
                              X