Announcement

Collapse
No announcement yet.

Problem with Radeon RX 580

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

    [Graphics] Problem with Radeon RX 580

    I recently bought a Radion RX580 and installed it. It plays video just fine. However I can't get it to use hardware acceleration. First I tried the proprietary AMD drivers, but none of the video editing programs I have installed show no hardware acceleration available. I used to have an Nvidia card. When I opened Handbrake and chose a codec for encoding the video, I saw something like h.264_nvenc. But now I get nothing comparable for the Radeon card. I first installed the AMD Proprietary drivers, but that was a headache. I followed their instructions but nothing worked. Then I got rid of them and tried the open source route. I went to install xserver-xorg-video-amdgpu but since the card was installed before the AMD divers were installed, it was already there. Next I installed mesa-va-drivers and vdpau-driver-all. I still have no hardware acceleration. Transcoding a video used up around 98% of the CPU. I know the card is ok because I also installed the AMD drivers in windows 10 and the hardware acceleration works great. Transcoding the same video uses 1 to 2% of the CPU. Can anyone help please? Some details about my setup are below. Thanks for any pointers you send my way.

    Dell Optiplex 7010 with an Intel i5-3570 CPU @ 3.40GHz and 32GB RAM
    OS Kubuntu 22.04
    Graphics card data
    $ sudo lshw -numeric -C display
    *-display
    description: VGA compatible controller
    product: Polaris 20 XL [Radeon RX 580 2048SP] [1002:6FDF]
    vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
    physical id: 0
    bus info: pci@0000:01:00.0
    logical name: /dev/fb0
    version: ef
    width: 64 bits
    clock: 33MHz
    capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
    configuration: depth=32 driver=amdgpu latency=0 resolution=1920,1080
    resources: irq:30 memory:e0000000-efffffff memory:f0000000-f01fffff ioport:e000(size=256) memory:f7e00000-f7e3ffff memory:c0000-dffff​

    #2
    I'm not a big expert on this. but I also have an RX580, although mine show a little differently:
    Code:
     *-display                  
          description: VGA compatible controller
          product: Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67DF]
          vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
          physical id: 0
          bus info: pci@0000:2d:00.0
          logical name: /dev/fb0
          version: e7
          width: 64 bits
          clock: 33MHz
          capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
          configuration: depth=32 driver=amdgpu latency=0 resolution=3840,2160
          resources: irq:181 memory:d0000000-dfffffff memory:e0000000-e01fffff ioport:e000(size=256) memory:fce00000-fce3ffff memory:c0000-dffff
    
    ​
    I use this PPA for open source drivers: https://launchpad.net/~oibaf/+archiv...aphics-drivers

    When I use Handbrake both CPU and GPU usage goes up, but CPU is obviously taking more of the load. CPU hovers at 60-70% while GPU bounces from 0 to 40%

    I'm no expert as I said - I don't really know how to check to see if hardware acceleration is working or not.


    Please Read Me

    Comment


      #3
      This should show if it's on:

      Code:
      stuart@office:~$ glxinfo |grep "direct rendering"
      direct rendering: Yes
      
      stuart@office:~$ glxinfo |grep "renderer"
         GLX_MESA_copy_sub_buffer, GLX_MESA_gl_interop, GLX_MESA_query_renderer,  
         GLX_MESA_gl_interop, GLX_MESA_query_renderer, GLX_MESA_swap_control,  
      Extended renderer info (GLX_MESA_query_renderer):
      OpenGL renderer string: AMD Radeon RX 580 Series (radeonsi, polaris10, LLVM 15.0.7, DRM 3.54, 6.5.0-26-generic)
      
      ​
      
      ​

      Please Read Me

      Comment


        #4
        It may be due to Handbrake itself:
        https://www.reddit.com/r/handbrake/c...ith_handbrake/

        Please Read Me

        Comment


          #5
          Originally posted by oshunluvr View Post
          This should show if it's on:

          Code:
          stuart@office:~$ glxinfo |grep "direct rendering"
          direct rendering: Yes
          
          stuart@office:~$ glxinfo |grep "renderer"
          GLX_MESA_copy_sub_buffer, GLX_MESA_gl_interop, GLX_MESA_query_renderer,
          GLX_MESA_gl_interop, GLX_MESA_query_renderer, GLX_MESA_swap_control,
          Extended renderer info (GLX_MESA_query_renderer):
          OpenGL renderer string: AMD Radeon RX 580 Series (radeonsi, polaris10, LLVM 15.0.7, DRM 3.54, 6.5.0-26-generic)
          
          ​
          
          ​
          I believe it's working, at least for playback. I got the same thing


          delboy@ladmo:~$ glxinfo |grep "direct rendering"
          direct rendering: Yes
          delboy@ladmo:~$ glxinfo |grep "renderer"
          GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control,
          GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control,
          Extended renderer info (GLX_MESA_query_renderer):
          OpenGL renderer string: AMD Radeon RX 580 2048SP (polaris10, LLVM 15.0.7, DRM 3.42, 5.15.0-100-generic)
          delboy@ladmo:~$



          Comment


            #6
            Originally posted by oshunluvr View Post
            I'm not a big expert on this. but I also have an RX580, although mine show a little differently:
            Code:
            *-display
            description: VGA compatible controller
            product: Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67DF]
            vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
            physical id: 0
            bus info: pci@0000:2d:00.0
            logical name: /dev/fb0
            version: e7
            width: 64 bits
            clock: 33MHz
            capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
            configuration: depth=32 driver=amdgpu latency=0 resolution=3840,2160
            resources: irq:181 memory:d0000000-dfffffff memory:e0000000-e01fffff ioport:e000(size=256) memory:fce00000-fce3ffff memory:c0000-dffff
            
            ​
            I use this PPA for open source drivers: https://launchpad.net/~oibaf/+archiv...aphics-drivers

            When I use Handbrake both CPU and GPU usage goes up, but CPU is obviously taking more of the load. CPU hovers at 60-70% while GPU bounces from 0 to 40%

            I'm no expert as I said - I don't really know how to check to see if hardware acceleration is working or not.
            Once I get that PPA loaded, what should I look for to make sure it's installed?

            Comment


              #7
              Originally posted by oshunluvr View Post
              My understanding is that to use hardware acceleration, I would need to choose the version of a coded that supports it. For example if I had an nvidia card, I would choose h.264_nvenc. Since I put in the new card, I don't see any new codecs.

              Comment


                #8
                If you read further into the thread, it appears that the Linux version of Handbrake doesn't support what you're asking for. I looked into it for a bit as I would like to improve the performance of handbrake as well. However, I couldn't find a way to make it happen. Much of the discussion was about the loss in resolution when using GPU to do the encoding. I can't speak to why it works in Windows because I've never tried it. I do have a laptop with nvidia graphics and it has windows on it, but my desktop CPU is much more powerful than a laptop GPU I suspect so I'm doubtful it would be helpful to me.

                Please Read Me

                Comment


                  #9
                  Originally posted by oshunluvr View Post
                  If you read further into the thread, it appears that the Linux version of Handbrake doesn't support what you're asking for. I looked into it for a bit as I would like to improve the performance of handbrake as well. However, I couldn't find a way to make it happen. Much of the discussion was about the loss in resolution when using GPU to do the encoding. I can't speak to why it works in Windows because I've never tried it. I do have a laptop with nvidia graphics and it has windows on it, but my desktop CPU is much more powerful than a laptop GPU I suspect so I'm doubtful it would be helpful to me.
                  Thanks for looking into it. Handbrake used to support hardware acceleration in Linux. I used to have an Nvidia GT 710. In Kubuntu 22.04, I had the h.264_nvenc option available. I suppose I can boot the machine into Windows if I need that option.

                  Comment


                    #10
                    I have to agree with oshunluvr GPU encoding, while nice to be able to do, in my own tests (rx480 and RX6650) is not as good, and doesn't necessarily even save time.
                    I think Handbrake specifically needs to have the AMDGPU-PRO's opencl stuff to support this (which *can* be installed separately, without the PRO driver), but it is a pita to install, and the documentation on how to do it changes - much of the internet memory will show old methods

                    AMD card should support VA-API, I think mesa-va-drivers is needed if not installed already. But it also depends on the software and what it supports.
                    Last edited by claydoh; Apr 08, 2024, 03:17 PM.

                    Comment


                      #11
                      Originally posted by claydoh View Post
                      I have to agree with oshunluvr GPU encoding, while nice to be able to do, in my own tests (rx480 and RX6650) is not as good, and doesn't necessarily even save time.
                      I think Handbrake specifically needs to have the AMDGPU-PRO's opencl stuff to support this (which *can* be installed separately, without the PRO driver), but it is a pita to install, and the documentation on how to do it changes - much of the internet memory will show old methods

                      AMD card should support VA-API, I think mesa-va-drivers is needed if not installed already. But it also depends on the software and what it supports.
                      I have the mesa-va-drivers installed, but I don't get any options in the video encoder menu under the Video tab that show any hardware acceleration. In windows, I get H.264 (AMD_VCE)
                      H.265 (AMD_VCE) and H.265 10-bit (AMD_VCE)​.

                      Comment


                        #12
                        Handbrake doesn't seem to support it.

                        Comment


                          #13
                          Originally posted by claydoh View Post
                          Handbrake doesn't seem to support it.
                          Maybe there was some quirk about how this system was set up that allowed it to work. Oh well, that's like I suppose. Yesterday I found Videomass, a GUI for ffmpeg and yt-dlp. With it, ffmpeg also takes up 95 to 99% of my CPU, but it also does the same encoding I mentioned earlier, but faster - 100 to 110 fps instead of 80 or so in Handbrake.

                          Comment

                          Working...
                          X