Announcement

Collapse
No announcement yet.

The Performance Advancements Of The Radeon Open-Source OpenGL/Vulkan Drivers Over 2019

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

  • The Performance Advancements Of The Radeon Open-Source OpenGL/Vulkan Drivers Over 2019

    Phoronix: The Performance Advancements Of The Radeon Open-Source OpenGL/Vulkan Drivers Over 2019

    For the latest of our year-end tests is a look at how the RadeonSI OpenGL driver and RADV Vulkan driver performance has evolved since the end of 2018 for Linux gaming.

    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
    There are surprisingly few regressions in these test, and a meaningful number of improvements in some cases, so "Good Job!" to everyone who's worked on these drivers over the past year.
    (Of course, IDK if there are any major *functional* issues that have surfaced lately, but that aside this is a set of results that the devs should be proud of).

    Hopefully ACO will become the default in the next month or so, and further improve things in time for the 20.04 release. Time is running out very fast for that to be able to happen.

    Comment


    • #3
      AMD's fine wine.

      Comment


      • #4
        Thanks for the summary, really nice to see where we have come to.

        I am running a Vega 64 myself for a year and I just can say, I love that card. The only thing I'ld which for are a few more fps, but these are complaints at the highest level, cause I always have a good 60 - 90 fps in 1080p (and I don't game in 2k or 4k).
        I back then bought Powercolor Vega 64 reference design and it was insanely loud. No matter what game you played, the moment the card got taxed, the fans spun up to almost the highest rpm. Always sounded like someone was vacuuming the floor. So I back then decided to go for an Alphacool GPA-Vega All-in-one watercooling solution and did real surgery on that card. First you had to completly dissasemble it and then clean the die. Then you had to stick a trillion of very small heatpads on nearly all ICs and major voltage components until you put the card back in the Alphacool enclosure.
        I use it with a single rad with 2 fans on a push pull combo and for a long time I wasnt able to read the hot spot temp of the Vega or the junction temperature, which is the highest spot on the card. Since kernel 5.2 I think it got part of the amdgpu driver and there it is now. When I am maxing the card the fans only spin at 1000 rpm, I put them at 75% constant spin and temperature is between 75 °C - 82 °C on the hotspot. That tho only, if it runs at 220 W constant. Thermal throttling would occure at 105 °C so I had some room for some mild overclocking left. I rather tho do limit the card to 180 Watts to save on the power consumption or enable VSync in game, what lets it run smooth around 80 - 150 Watts most of the times.
        The noise level is basically none. The only thing I hear spinning is the Wraith Prism cooler of the CPU and that is already pretty silent.

        A year ago I sometimes had GPU hangs midgame, but that vanished completly. In amdgpu the feature of gpu resetting was introduced and since that, I hadnt just one gpu hang. I can play Star Citizen for 8 hours straight and the only thing that has problems in that time is the SC server itself.

        Tho the card is a year old now and two newer AMD GPUs released, it is still sold in the 410 Euro range, what is about the price, I paid for it. Performance-wise it has the niveau of a 1080.

        I really love that card and I hope it will stay with me for some time longer. I have zero issues with it in games and on mesa, it is the part of my Linux system that works the most reliable.

        Comment


        • #5
          Very pleased to see the improvements, let's hope ACO becomes the default in mesa 20.

          Comment


          • #6
            I do own a Radeon VII and I'm very happy with it as well! It works really stable, GPU crashes are seldom and happen only in very very few games. Performance is really good even in 4K, if now Wayland would be capable of dealing with freesync :-) Back when I got a RX480 I had to reset my system from time to time, this got less and less frequent and works well nowadays. It's great to see the AMD GPU stack improving! I don't want to miss ACO anymore, it makes a real difference and should become the default! And now with NIR and OpenGL 4.6 enabled in Mesa 20.0 there is another nice milestone reached. In Mesa-git there are from time issues with LLVM, just now I can't use an GPU accelerated Steam client or Falkon, but I'm sure it will be addressed in time!
            If I have a wish for 2020, then AMD should start to take care about the mobile and desktop APU's. I had to get rid of my Ryzen 3 2200G as of too many issues, the Ryzen 3 3200G works much better. But the Ryzen 5 2500U has badly regressed with Linux 5.4 and is unusable right now with lots of GPU crashes. As it is a notebook I cannot simply replace it, so I hope AMD will address this soon.
            Last edited by R41N3R; 23 December 2019, 06:17 AM.

            Comment


            • #7
              Very nice, thanks Michael.


              I was glad to see that Vulkan results were more consistent between games. The OpenGL results were all over the place. That outcome is what I expected: IE for the thinner, lower-level and simpler protocol to have more consistent improvements.

              I imagine that improving OpenGL performance via the driver can be like wack-a-mole: you optimize one call or scenario and your changes made then result in a slow down with respect to another call or scenario; then when you benchmark you find that games that benefited more from the former scenario get improved FPS and games which benefited from the latter get worse FPS.

              I think Vulkan is more in line with the sensible UNIX philosophy of keeping tools (and other things) small, simple & fit for their limited purpose. You implement the base-functionality in it, that most applications of it will use and can build upon. In-line with the UNIX philosophy, with Vulkan it would now be the responsibility of another tool (or thing) to implement additional functionality or ease-of-use layers.

              In the case of games, I expect to now see less of this:

              Game -> Graphics API -> GPU Driver -> GPU
              (where the Graphics API would be OpenGL)

              ... and more of this:

              Game -> Engine / Graphics Library -> Graphics API -> GPU Driver -> GPU
              (where the Graphics API would be Vulkan)

              The extreme opposite of the UNIX philosophy would be to write a game that did:

              Game -> GPU

              Comment


              • #8
                There is a lot of work left to do in ACO before it can become the default. For starters, it needs to support all shader stages (currently only PS and VS are supported), all hardware (eg. GCN 1 is not there yet), and more.

                Until then, you can still use it with the RADV_PERFTEST option.

                Comment


                • #9
                  Originally posted by cybertraveler View Post
                  In the case of games, I expect to now see less of this:

                  Game -> Graphics API -> GPU Driver -> GPU
                  (where the Graphics API would be OpenGL)

                  ... and more of this:

                  Game -> Engine / Graphics Library -> Graphics API -> GPU Driver -> GPU
                  (where the Graphics API would be Vulkan)
                  Technically speaking, they are the same thing. Each game has a "game engine" which is doing the game engine job. It may be proprietary and developed in-house or be a third party product that is licensed but the end result does not change.


                  The extreme opposite of the UNIX philosophy would be to write a game that did:
                  Game -> GPU
                  This is not even remotely possible on modern hardware as there isn't anywhere near enough low-level info about the hardware to do that, and modern OSes don't allow this low-level access to hardware anyway.

                  Comment


                  • #10
                    Originally posted by R41N3R View Post
                    I do own a Radeon VII and I'm very happy with it as well! It works really stable, GPU crashes are seldom and happen only in very very few games. Performance is really good even in 4K, if now Wayland would be capable of dealing with freesync :-) Back when I got a RX480 I had to reset my system from time to time, this got less and less frequent and works well nowadays. It's great to see the AMD GPU stack improving! I don't want to miss ACO anymore, it makes a real difference and should become the default! And now with NIR and OpenGL 4.6 enabled in Mesa 20.0 there is another nice milestone reached. In Mesa-git there are from time issues with LLVM, just now I can't use an GPU accelerated Steam client or Falkon, but I'm sure it will be addressed in time!
                    If I have a wish for 2020, then AMD should start to take care about the mobile and desktop APU's. I had to get rid of my Ryzen 3 2200G as of too many issues, the Ryzen 3 3200G works much better. But the Ryzen 5 2500U has badly regressed with Linux 5.4 and is unusable right now with lots of GPU crashes. As it is a notebook I cannot simply replace it, so I hope AMD will address this soon.
                    I do run my 2500U with the Linux-next kernel on Manjaro. It is 5.5rc2. That is pretty amazing since it brought an update to Panel-Self Refresh times with amdgpu that increased battery life drastically. Brought the laptops minimal power consumption down from 9 Watts to 6 Watts. On 5.4. I had issues as well, the laptop wouldnt switch off after being shutdown and sometimes I had system hangs.

                    Comment

                    Working...
                    X