Announcement

Collapse
No announcement yet.

AMDGPU Kernel Driver Is Working Out Well On Linux 5.0

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

  • #11
    Originally posted by aufkrawall View Post
    Don't expect a fix for this for Polaris GPUs, I suspect it's a hardware flaw. Get yourself a script that watches if maximum VRAM pstate is enforced and start it automatically as root via your init solution (systemd ).
    There are lots of reports for flickering with Polaris with high refresh rate or dual monitor setups. I also have this issue on Windows, though to a much lesser extent.
    It is something that can be worked around by manually setting the GPU clocks, see the linked bugreport for details.
    And yes it can be fixed: the amdgpu driver should by itself figure out the correct clock.

    I think this isn't a hardware defect, but if it is, the driver should still workaround it by setting the correct clock.

    Comment


    • #12
      Originally posted by Haxk20 View Post
      Also weirdly enough my xrandr --props reports vrr_capable in HDMI section and not my eDP.
      https://pastebin.com/CWHx5kzE
      vrr_capable=0 means that it is not supported
      Missing the parameter with eDP means that there is no support in the driver or hardware. With RX570:
      Code:
      DisplayPort-0 connected 3840x2160+0+0
      vrr_capable: 1 
      HDMI-A-0 disconnected
      vrr_capable: 0 
      DVI-D-0 disconnected
      no vrr_capable variable available

      Comment


      • #13
        Good news
        It would be nice to compare also the power consumption, to see if there are any changes.

        Comment


        • #14
          Originally posted by Venemo View Post

          It is something that can be worked around by manually setting the GPU clocks, see the linked bugreport for details.
          And yes it can be fixed: the amdgpu driver should by itself figure out the correct clock.

          I think this isn't a hardware defect, but if it is, the driver should still workaround it by setting the correct clock.
          There is a bug with RX570 and 4K60Hz resolution that the dynamic powerplay feature is disabled and the engine clock is fixed to 1200Mhz. The fix for this is to use the kernel command line parameter amdgpu.ppfeaturemask=0xfffd7fff. You could try that too. Also Michael uses ubuntu that is more stable and maybe lighter for the GPU than fedora. Flickering means that there is not enough power to drive displays. AMD has increased the GPU power usage to prevent flickering bugs. Pro gamers use single monitor and there is no advantage of dual screens.

          Comment


          • #15
            Originally posted by tuxd3v View Post
            Good news
            It would be nice to compare also the power consumption, to see if there are any changes.
            No changes in the idle governor. The CPU frequency governor slows down and is an optional feature of the Linux kernel so remove it. Using the Bios is a better way to control CPU power and fans. Power consumption depends of your other hardware too.

            Comment


            • #16
              Originally posted by debianxfce View Post
              Flickering means that there is not enough power to drive displays.
              Nope. Flickering can happen for many reasons but in this case it's the amdgpu trying to change mclk at the wrong time. In Alex Deucher words:
              Memory reclocking has to happen during the vblank period to avoid flickering.
              Originally posted by debianxfce View Post
              Pro gamers use single monitor and there is no advantage of dual screens.
              Pro gamers (people who compete and earn money playing games) don't use Linux. Almost every big streamer (people who make money playing games, thus also "pro gamers") uses multiscreen setups.
              Originally posted by debianxfce
              Also Michael uses ubuntu that is more stable and maybe lighter for the GPU than fedora.
              nope, that's just your assumption
              Originally posted by debianxfce View Post

              See, no sense to compile Mesa by yourself. I have been using freesync over a month: https://www.youtube.com/watch?v=lGesNjhUo-w

              You should use Debian packages with Debian. Debian packages are easy to update and remove. They are designed to work together.
              There are a lot of reasons to compile mesa by yourself. Native gcc optimizations, including/removing specific drivers, using out-of-tree patches (I had freesync long before you got it in oibaf) etc. It's not that difficult to build it in to a deb package anyway, but that is one of the reasons me and others use Arch-based distros (PKGBUILDs are perfect for stuff like this). Stop assuming your setup is the best for everyone and only then you might have a chance to stop making yourself a fool for people with a clue of what they're doing.

              Originally posted by debianxfce View Post

              No changes in the idle governor. The CPU frequency governor slows down and is an optional feature of the Linux kernel so remove it. Using the Bios is a better way to control CPU power and fans. Power consumption depends of your other hardware too.
              If you read the code and docs you'll see there is no difference between "performance" governor and removing governor completely. Both let the bios control frequencies directly.
              Last edited by clapbr; 01-22-2019, 02:40 PM.

              Comment


              • #17
                Originally posted by debianxfce View Post
                There is a bug with RX570 and 4K60Hz resolution that the dynamic powerplay feature is disabled and the engine clock is fixed to 1200Mhz. The fix for this is to use the kernel command line parameter amdgpu.ppfeaturemask=0xfffd7fff. You could try that too.
                With a single 4K 60Hz monitor there is no bug.
                With two 4K 60Hz monitors, the fix is to boot with amdgpu.ppfeaturemask=0xffffffff and manually set the shader and memory clocks on the GPU with:

                echo "manual" > /sys/class/drm/card0/device/power_dpm_force_performance_level
                echo "2" > /sys/class/drm/card0/device/pp_dpm_mclk
                echo "5 6 7" > /sys/class/drm/card0/device/pp_dpm_sclk

                Originally posted by debianxfce View Post
                Also Michael uses ubuntu that is more stable and maybe lighter for the GPU than fedora.
                Why? Both of them use Gnome 3.

                Originally posted by debianxfce View Post
                Flickering means that there is not enough power to drive displays.
                No, it means that the GPU clock is set improperly, as explained by clapbr

                Comment


                • #18
                  Originally posted by Venemo View Post
                  It is something that can be worked around by manually setting the GPU clocks, see the linked bugreport for details.
                  I just said that. Btw. it should suffice to enforce maximum VRAM pstate and not touching pstates for the GPU itself.

                  Originally posted by Venemo View Post
                  And yes it can be fixed: the amdgpu driver should by itself figure out the correct clock.

                  I think this isn't a hardware defect, but if it is, the driver should still workaround it by setting the correct clock.
                  That's not a real fix. Polaris already has this problem with 75Hz single display, while neither Vega nor other GPU vendors do.

                  Comment


                  • #19
                    That's good to hear, I got kernel shy with Linux 4.19... the amdgpu driver was failing on the ring buffer test while initializing DRM (R9 380/Volcanic Islands Tonga). I've been sticking with 4.18.20 since that and haven't revisited it (though I heard it's been fixed).

                    Comment


                    • #20
                      Originally posted by aufkrawall View Post
                      I just said that. Btw. it should suffice to enforce maximum VRAM pstate and not touching pstates for the GPU itself.
                      That's not a real fix. Polaris already has this problem with 75Hz single display, while neither Vega nor other GPU vendors do.
                      As a user, I don't care what the driver does, just that it shouldn't flicker my displays is all.

                      Comment

                      Working...
                      X