Announcement

Collapse
No announcement yet.

Igalia Has Been Doing A Great Job On The Raspberry Pi Graphics Drivers

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

  • Igalia Has Been Doing A Great Job On The Raspberry Pi Graphics Drivers

    Phoronix: Igalia Has Been Doing A Great Job On The Raspberry Pi Graphics Drivers

    In addition to Igalia working with Valve on AMD color management / HDR, Igalia engineers have also been working on the open-source Raspberry Pi kernel and Mesa drivers for the Raspberry Pi Foundation. This work includes the timely enablement of the new Raspberry Pi 5 hardware support...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Lagging behind, as usual. I respect their efforts, but this should have started a lot earlier...

    Comment


    • #3
      At this point, I have lost track how many GPU drivers exist for a given Raspberry PI model and which driver supports which APIs. Not to mention which distro has what driver bundled in.

      It's why I personally dislike all those "Linux ARM boards". Everything is supported and not supported at the same time. At least with MacOS and Windows and even Desktop Linux on PCs you know what APIs are officially supported.

      Obligatory xkcd:
      surgery.png
      Last edited by kurkosdr; 19 October 2023, 09:52 AM.

      Comment


      • #4
        Originally posted by kurkosdr View Post
        At this point, I have lost track how many GPU drivers exist for a given Raspberry PI model and which driver supports which APIs. Not to mention which distro has what driver bundled in.

        It's why I personally dislike all those "Linux ARM boards". Everything is supported and not supported at the same time. At least with MacOS and Windows and even Desktop Linux on PCs you know what APIs are officially supported.
        If you look back Linux on the desktop went through a very similar transition. 20 years back, even ethernet cards required kernel patches (been there, done that) and ndiswrapper was commonly used to get Windows drivers to work on Linux. Over time, support matured and many vendors started contributing upstream or were replaced in the market with ones that did. These vendors are likely relearning the same lessons Intel/AMD etc learned in the past. ARM on Linux for these boards is still maturing and we are already seeing the latest PI getting launched with funded driver support getting upstream at the same time. A decade from now, we might be complaining about RISC V or some other architecture going through the same transition.

        Comment


        • #5
          Originally posted by RahulSundaram View Post

          If you look back Linux on the desktop went through a very similar transition. 20 years back, even ethernet cards required kernel patches (been there, done that) and ndiswrapper was commonly used to get Windows drivers to work on Linux. Over time, support matured and many vendors started contributing upstream or were replaced in the market with ones that did. These vendors are likely relearning the same lessons Intel/AMD etc learned in the past. ARM on Linux for these boards is still maturing and we are already seeing the latest PI getting launched with funded driver support getting upstream at the same time. A decade from now, we might be complaining about RISC V or some other architecture going through the same transition.
          Sure, but the Raspberry Pi ARM boards are an official product and not a repurposed Windows laptop, so I expect things to be unambiguously supported from the two main operating systems that officially support the hardware: Raspbian and Ubuntu. I recently tried Ubuntu 22.04.3 LTS on my Raspberry Pi 3B+ and the GPU shows us "unkown graphics adapter". WTF? That's an OS image specifically targeting a grand total of 5 (written in full: five) computers, and they can't decide if the GPU in one of those 5 computers is supported or not. And even Raspbian doesn't explicitly tell you if hardware acceleration is on or off and also offers multiple GPU drivers from you to choose from (with little guidance on why you should choose either). As I said before: WTF.

          Comment


          • #6
            Originally posted by kurkosdr View Post

            Sure, but the Raspberry Pi ARM boards are an official product and not a repurposed Windows laptop, so I expect things to be unambiguously supported from the two main operating systems that officially support the hardware: Raspbian and Ubuntu. I recently tried Ubuntu 22.04.3 LTS on my Raspberry Pi 3B+
            Rasperberry PI is not really an end user product. They targeted just the tinkerers in that generation and were fine shipping with proprietary drivers and local patches for the OS they shipped with. This is not uncommon for Intel SBC's too. This is only now changing with 5 because they have more funding.

            Comment


            • #7
              So, here's what the slides say about OpenGL 3.1 non-conformance:

              Missing features (as we know right now)
              ➢ 8 RT (Fixed in Raspberry Pi 5, but everyone lying 🙃)
              ➢ Missed required formats (R{GBA}16)
              ➢ Non-seamless texture cubemap filtering​

              What is meant by "8 RT" ? This is also referenced when listing the hardware differences of the VideoCore VII.

              As for OpenGL 3.1, itself, it's lacking geometry, tessellation, and compute shaders, among many other things. A nice list of OpenGL features by version can be seen on the Wikipedia page:

              Comment


              • #8
                Originally posted by coder View Post
                What is meant by "8 RT" ? This is also referenced when listing the hardware differences of the VideoCore VII.
                RT means "render target" in this context. OpenGL 3.x supports MRTs (multiple render targets), but each hardware has its own limit.

                Having desktop OpenGL 3.1 support on a mobile SoC isn't too bad, as it allows you to run games like Cube 2: Sauerbraten which don't have an OpenGL ES port and don't support OpenGL 1.x anymore (the baseline is OpenGL 2.1).
                Last edited by Calinou; 20 October 2023, 01:55 PM.

                Comment


                • #9
                  Originally posted by Calinou View Post
                  Having desktop OpenGL 3.1 support on a mobile SoC isn't too bad, as it allows you to run games like Cube 2: Sauerbraten which don't have an OpenGL ES port and don't support OpenGL 1.x anymore (the baseline is OpenGL 2.1).
                  Most Desktop Linux games don't have an OpenGL ES port, they only do OpenGL (or Vulkan for the newer ones).

                  Comment


                  • #10
                    Originally posted by kurkosdr View Post
                    At this point, I have lost track how many GPU drivers exist for a given Raspberry PI model and which driver supports which APIs. Not to mention which distro has what driver bundled in.
                    vc4 Gallium (OpenGL 2.1 + GLES 2.0) for Pi 0-3 Pi 0 - 3
                    v3d Gallium (OpenGL 3.1 + GLES 3.1) for Pi 4+5 Pi 4 + 5
                    v3dv Vulkan 1.1 for Pi 4+5 (AFAIU Vulkan 1.2+ is possible in hardware) Pi 4 + 5
                    Old proprietary stuff is old proprietary stuff, just ignore​ Pi 0 - 3

                    Comment

                    Working...
                    X