Announcement

Collapse
No announcement yet.

DC Display Support Continues To Be Worked On For Radeon GCN 1.0 With AMDGPU Driver

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

  • DC Display Support Continues To Be Worked On For Radeon GCN 1.0 With AMDGPU Driver

    Phoronix: DC Display Support Continues To Be Worked On For Radeon GCN 1.0 With AMDGPU Driver

    On top of the recent UVD video decode for AMD Radeon "GCN 1.0" GPUs with the AMDGPU kernel driver to complement the existing Radeon kernel driver support, these aging "Southern Islands" graphics cards also continue to see patchwork on enabling "Display Core" (DC) display support with the AMDGPU driver option...

    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
    I'm glad that I invested in a Vega 64 a while ago. Support for it has been rock solid ever since I got it, which was a nice change from the sketchy support I had with my 390, which wasn't a bad card when it worked.

    Comment


    • #3
      Related: are there any plans to make the output mode configurable with DC? Ie choosing between rgb and yuv, right now you have to fake the edid

      Comment


      • #4
        I remember hearing some time ago about GCN 1.0 support being discontinued in the AMDGPU driver. Am I imagining things or was talk about that really present? If so, was that decision reverted or what?

        Comment


        • #5
          I've been using an R9-290X liquid cooled for the last 7 years and it still plays absolutely everything with decent high settings on linux!

          I just recently finished all the released remastered Halo games on Proton! I never thought I would be playing those games on linux!

          Playing Witcher 3 atm and Grid. Vulkan on the gcn1.1 is fantastic!

          Comment


          • #6
            Originally posted by amd-gfx
            [PATCH v3 25/27] drm/amd/display: create plane rotation property for Bonarie and later
            Oh no, I spotted a bug. (Heh.)

            It looks like we're coming to the end of the tunnel. Hang on, old silicon! Years of gaming, video decoding, and desktop display still await you alongside your younger siblings!

            Comment


            • #7
              What does the display code even do? Is it even needed? This is one thing that goes over my head! I never enabled it in my kernel as of yet because i never needed it for my Polaris cards. And the early versions of it would cause kernel panics.

              Comment


              • #8
                Originally posted by Rallos Zek View Post
                What does the display code even do? Is it even needed? This is one thing that goes over my head! I never enabled it in my kernel as of yet because i never needed it for my Polaris cards. And the early versions of it would cause kernel panics.
                The DC support code in the AMDGPU driver replaces some of the old code that manages crtcs and sets the display mode (resolution, refresh rate, color space/depth, etc.) with a set of structures & functions that:
                1) Implement the Kernel Mode Setting Atomic operations API of the kernel Direct Rendering Manager (KMS Atomic https://en.wikipedia.org/wiki/Direct...Atomic_Display ). Among other things, this enables the kernel to set the resolution & color depth of a display and do it all in one go, or fail gracefully, without flickering, tearing, hangs etc.
                2) Implement HDMI & Displayport Audio output on some cards. E.g. my AMD A8-7400 APU and Vega56 require DC to give me an HDMI audio output when a supported TV/Monitor is connected.
                3) Better support multiple monitors, esp. those connected via different interfaces like HDMI & DisplayPort, support some dongles, and the timing between them.
                4) Share code with the Windows driver that does the same things.

                This code has been a long time coming. Evidenced by this Phoronix article from 2016: https://www.phoronix.com/scan.php?pa...ches-Published . It was only smooth on my GCN1.1 APU last year. (Around kernel 4.20)

                Ultimately if your card does what you need it to do, you're probably not missing out. But if you ever have issues switching back and forth between X and a kernel framebuffer, HDMI audio, or multiple monitors, it's worth a try setting amdgpu.dc=1 on your kernel command line.

                Comment


                • #9
                  Originally posted by nranger View Post

                  The DC support code in the AMDGPU driver replaces some of the old code that manages crtcs and sets the display mode (resolution, refresh rate, color space/depth, etc.) with a set of structures & functions that:
                  1) Implement the Kernel Mode Setting Atomic operations API of the kernel Direct Rendering Manager (KMS Atomic https://en.wikipedia.org/wiki/Direct...Atomic_Display ). Among other things, this enables the kernel to set the resolution & color depth of a display and do it all in one go, or fail gracefully, without flickering, tearing, hangs etc.
                  2) Implement HDMI & Displayport Audio output on some cards. E.g. my AMD A8-7400 APU and Vega56 require DC to give me an HDMI audio output when a supported TV/Monitor is connected.
                  3) Better support multiple monitors, esp. those connected via different interfaces like HDMI & DisplayPort, support some dongles, and the timing between them.
                  4) Share code with the Windows driver that does the same things.

                  This code has been a long time coming. Evidenced by this Phoronix article from 2016: https://www.phoronix.com/scan.php?pa...ches-Published . It was only smooth on my GCN1.1 APU last year. (Around kernel 4.20)

                  Ultimately if your card does what you need it to do, you're probably not missing out. But if you ever have issues switching back and forth between X and a kernel framebuffer, HDMI audio, or multiple monitors, it's worth a try setting amdgpu.dc=1 on your kernel command line.
                  Thank you for the breakdown and explanation.

                  Comment


                  • #10
                    I remember hearing some time ago about GCN 1.0 support being discontinued in the AMDGPU driver. Am I imagining things or was talk about that really present? If so, was that decision reverted or what?
                    Someone from AMD said there had been a suggestion within AMD of doing that. I don't believe a patch to remove support would have been accepted into Linux though; breaking userspace isn't allowed, so doing that to Vulkan and everything depending on it would for a generation of GPUs would not have been well received.

                    I didn't expect the features lacking compared to later generations to ever be added though, so this and the video decode are a welcome surprise.

                    Comment

                    Working...
                    X