Announcement

Collapse
No announcement yet.

Why Linux's Direct Rendering Manager Won't Add A Generic 2D Acceleration API

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

  • Why Linux's Direct Rendering Manager Won't Add A Generic 2D Acceleration API

    Phoronix: Why Linux's Direct Rendering Manager Won't Add A Generic 2D Acceleration API

    Daniel Vetter of Intel's Open-Source Technology Center team has written his first blog post in a while on Linux graphics. In this latest post he is answering why there isn't a 2D user-space API in the Direct Rendering Manager (DRM) code...

    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
    Windows have Direct2D.
    macOS have Quartz 2D.

    GLAMOR seems nice, it is easy to support since 3D is already supported everywhere.

    Comment


    • #3
      I think you missed the point.
      Direct2D and Quartz 2D is pretty much GLAMOR, as in implementing a desktop 2D interface on top of a 3D engine.
      What this blog it talking about is way lower in the hardware/software stack.
      It is an argument against something like this in kernel space. We already have this all in user space.
      Also, note that he needs not just implement an api for desktops, but embedded systems.

      Comment


      • #4
        This might be a dumb question, but I was under the impression OpenVG is exactly meant for this: rendering vector graphics and UIs on low-power devices. Can't it be taken as a vendor independent back-end to some Direct2D like abstraction, or perhaps as-is? If DRM picked up support, there would be a lot more implementations by all the open-source graphics stacks.
        OpenVG™ is a royalty-free, cross-platform API that provides a low-level hardware acceleration interface for vector graphics libraries such as Flash and SVG. OpenVG is targeted primarily at handheld devices that require portable…

        Comment


        • #5
          Intel doesn't want ARM chips to benefit from such an interface so their people do all they can to block it. That's the missing summary of the story.

          Comment


          • #6
            Originally posted by uid313 View Post
            Windows have Direct2D.
            macOS have Quartz 2D.

            GLAMOR seems nice, it is easy to support since 3D is already supported everywhere.
            For Windows the equivalent would be GDI/GDI+ and not so much Direct2D. In the late-'90s almost all graphic cards had GDI hardware acceleration. The architecture of GDI itself is quite interesting from both technical and historical reasons. Microsoft published a nice comparison between GDI and D2D.

            Comment


            • #7
              OpenGL can do 2D rendering, so you dont really need a separate 2D API. Glamor provides a DRI backend for the X server so the X server no longer needs separate drivers and can instead use DRI drivers, there is no point in having separate drivers for X and for DRI, so this allows everything to use the same drivers. With AIGLX, the X Server also had built in support for accelerated 3D graphics via the GLX protocol which were then converted to commands sent to the video card drivers in the X server. X has long had 2D acceleration with XAA and EXA as well, GLAMOR is in fact an EXA to DRI backend.

              There is still a lot of use for GLX as an option for 3D graphics for network transparency and has a higher security option since GLX cleanly seperates the Apps from video hardware, so GLAMOR also needs to include support for GLX to DRI rendering in the server.

              Comment


              • #8
                Originally posted by Meteorhead View Post
                This might be a dumb question, but I was under the impression OpenVG is exactly meant for this: rendering vector graphics and UIs on low-power devices. Can't it be taken as a vendor independent back-end to some Direct2D like abstraction, or perhaps as-is? If DRM picked up support, there would be a lot more implementations by all the open-source graphics stacks.
                I don't think that's a dumb question - I personally never thought about how OpenVG could be used for a desktop UI and I personally think it's an interesting idea. I'm not sure if it's a good or bad idea, but it would help solve a problems like 4K scaling.

                Comment


                • #9
                  I don't get the need for a dedicated 2D API. OpenGL and Vulkan are fine for it – you just set up an orthographic view from the "top" and render flat polygons. Isn't that essentially what Qt Quick does with the scene graph? I assume that's what GTK / Cairo does with the OpenGL backend.

                  Comment


                  • #10
                    Originally posted by willmore View Post
                    Intel doesn't want ARM chips to benefit from such an interface so their people do all they can to block it. That's the missing summary of the story.
                    Pretty much. Mind you, blitting is horrible even for just drawing text compared to graphics cores so it's really only there for hardware that doesn't have graphics at all. Everyone else would be even better off with using a 3d game engine to draw widgets. Blitting is really that bad.

                    Comment

                    Working...
                    X