Slashdot Mirror


Qualcomm Begins Contributing To Reverse-Engineered Freedreno Linux Driver

An anonymous reader writes: For over two years there's been a Freedreno driver project that's been reverse-engineering Qualcomm's Adreno graphics hardware. Freedreno consists of both a user-space Gallium3D driver providing OpenGL / OpenGL ES support and a DRM/KMS kernel driver to replace Qualcomm's open-source kernel driver designed just around Android's needs. The community-based, reverse-engineering Freedreno driver project is finally paying off and gaining critical momentum with Qualcomm now contributing to the driver. QuIC through the Aurora Forum provided Adreno A4xx hardware support to the Freedreno MSM kernel driver.

19 comments

  1. Someone in the know please explain by sinij · · Score: 1

    Someone in the know please explain why this is needed? I am not aware of any non-mobile hardware powered by Qualcom graphic chips. Is this for going to be bitcom-mining GPU farms?

    1. Re:Someone in the know please explain by bill_mcgonigle · · Score: 2

      I am not aware of any non-mobile hardware powered by Qualcom graphic chips.

      Qualcomm is in all sorts of embedded, not just mobile, and Android is only a share of mobile, much less embedded.

      Is this for going to be bitcom-mining GPU farms?

      GPU mining of bitcoin is dead. GPU's are still useful things, though.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:Someone in the know please explain by Narcocide · · Score: 3, Interesting

      Or maybe someone might just want to run Linux on mobile hardware without being shackled to Android? Or maybe someone is planning on coming out with some new non-Android mobile hardware and they want the graphics performance not to suck...

      I can think of several possible reasons for this right off the top of my head. You drank too much of the Kool-Aid.

    3. Re:Someone in the know please explain by angularbanjo · · Score: 1

      GPU mining of bitcoin is dead. GPU's are still useful things, though.

      So are apostrophe's.

    4. Re:Someone in the know please explain by Anonymous Coward · · Score: 1

      GPU mining of bitcoin is dead.

      Yeah, but it came out ot its grave and now you have to pay bitcoin to this address: 1J3pt9koWJZTo2jarg98RL89iJqff9Kobp

    5. Re:Someone in the know please explain by Anonymous Coward · · Score: 0

      You drank too much of the Kool-Aid.

      Not possible.

    6. Re:Someone in the know please explain by rrohbeck · · Score: 1

      There are only a few Snapdragon SBCs from Inforce. But that'll change as ARM mini-PCs take more market share.

    7. Re:Someone in the know please explain by thatkid_2002 · · Score: 1

      You drank too much of the Kool-Aid.

      Not possible.

      Posted via Google+

    8. Re:Someone in the know please explain by KiloByte · · Score: 1

      I don't use my Odroid U2 as the primary desktop only because it can't do multi-head.

      Perfectly silent, has enough oomph to run a modern browser, can ssh/ssh -X/vnc/etc to machines used for work just the same as the big noisy clunker I got under my desk. Only difference, big compiles will be done when sshed.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    9. Re:Someone in the know please explain by ChunderDownunder · · Score: 1

      Doesn't the Android driver employ some kind of binary blob? Maybe Qualcomm are tired of expending resources on it.

      If freedreno becomes good enough for everyday use and can be retrofitted to work with Android then Qualcomm can reduce their software division.

    10. Re:Someone in the know please explain by kenshin33 · · Score: 1
    11. Re:Someone in the know please explain by morgauxo · · Score: 1

      These days there seems to be a lot of people out there that think a computer isn't useful unless it can play all the latest 3d games and somehow these people have gotten into deciding what is and isn't good for Linux.

    12. Re:Someone in the know please explain by hvdh · · Score: 1

      This is for custom-ROM Android phones and maybe some embedded ARM platforms.
      To build a custom ROM (e.g. CyanogenMod) with a newer Android version than what is available from the vendor,
      you need a matching driver for the GPU.
      The latest official firmware for my phone (Huawei G330) is Android 4.0.4. It contains the QCom GPU driver build for
      Android 4.0. To make a CyanogenMod ROM for Android 4.4, you would need a QCom GPU driver for for SoC for
      Android 4.4, which is not available as QCom only delevops/delivers those to smartphone vendors under NDA.

      Actually, there is an Android 4.4 CyanogenMod ROM. It uses a QCom driver from 4.2 firmware for a different
      phone (Sony?) with similar SoC, which was made running on Android 4.4 through quite some kernel hacking.
      Due to SoC differences, there are some downsides: performance (some GPU accelleration had to be disabled -> slower, more battery drain),
      bugs (gray boxes when zooming in on images in browser) and stability (instant reboot when playing video in Facebook app).

      There is no better driver for Android 4.4 available. When freedreno is good enough in terms of features and performance,
      I think some developers would be glad to use it and get rid of all the pain to make wrong-version QCom drivers work.

      I wonder what the developers behind this inofficial CM builds have to do to get some working QCom driver for Android L (5.0).

    13. Re: Someone in the know please explain by Anonymous Coward · · Score: 0

      Dell, having this as an open source driver allows Android ROM makers to support old phones in newer android version, since they can, if needed update the API as needed.

  2. kernel only or userspace as well? by jonwil · · Score: 1

    Are they going to contribute to the kernel driver only (which probably doesn't result in Qualcomm sharing any information not already in their Android kernel driver) or to the userspace bit too (i.e. the stuff in the Android blobs)?

    If its just the kernel driver, big deal, its the userspace blobs where all the juicy stuff is...

    1. Re:kernel only or userspace as well? by tlhIngan · · Score: 1

      If you know the history of Adreno, you'll know it's actually based on an ATi (now AMD) chip.

      Way back when (nearly 15 years ago), ATi was one of the first companies that made a mobile GPU back when people didn't even think you needed one (when embedded chips had framebuffers for graphics). Eventually they sold their mobile GPU division to Qualcomm who rebranded it Adreno.

      So a lot of the Adreno's internals are based on AMD insides so a lot of it is actually documented by AMD.

      Anyhow, it's likely Qualcomm only wants to support the Android port because that's where all their money is. However, they (and us, who work with Qualcomm to work on smaller projects) do get requests for graphics support on Linux and other OSes, so contributing to a free driver means the community can support their chips and they can sell a few more. Android is still their bread and butter and they probably optimize the heck out of it, but a free community driver for everyone else that handles good enough is great for those smaller projects.

    2. Re:kernel only or userspace as well? by Anonymous Coward · · Score: 0

      Radeon line of SoC GPU's is not based on the ATI's legacy mobile graphics products like Asterix. It is based on XBOX360 graphics chip Xenos ISA but the units were for most part re-written. The ISA was chosen to be compatible with existing compiler technology otherwise there was no compelling reason to choose the specific design. At the time the compiler was the single most complicated and critical part of the software stack (speculation follows) so this did reduce risks for the project schedule.

    3. Re:kernel only or userspace as well? by Anonymous Coward · · Score: 0

      Correction: Adreno is anagram of Radeon.