Background story: I recently bought a computer with AMD 7000 series CPU and GPU.

amdgpu_top reports 15 ~ 20 watts in normal desktop usage, but as soon as I have video playing in VLC, it goes to 45 watts constantly which is undesirable behavior especially in summer. (I hope that is just reporting issue… but my computer is hot)

When I do DRI_PRIME=1 vlc and then play videos, amdgpu_top doesn’t report the power surge. (I have iGPU enabled)

Is there anything more convenient then modifying individual .desktop files? KDE malfunctions when I put export DRI_PRIME=1 in .xprofile so that’s a no go.


Solved: removing mesa related hardware acceleration package makes VLC fall back to libplacebo which doesn’t do these weird things.

  • @[email protected]
    link
    fedilink
    91 year ago

    Are you just running and AMD CPU with integrated graphics, or do you also have a dedicated graphics card? From what I can gather online, the DRI_PRIME variable is mostly used for render offloading to a dedicated GPU, but your question appears to be about iGPUs.

    You can also try to manually enable hardware decoding in VLC’s settings. Just go to Tools > Preferences > Input & Codecs and choose VA-API (AMD’s preferred standard).

    • @[email protected]OP
      link
      fedilink
      3
      edit-2
      1 year ago

      do you also have a dedicated graphics card?

      Yes, rx 7800 xt

      My worry s that playing a 1080P video need 30 watts (assuming amdgpu_top is not wrong), I would like to move that workload to integrated GPU, which I enabled in BIOS.

      Thank you for your answer, I can confirm by switching to VA-API it lowers my power usage by a lot (from 45 to 20~21 watts reported).

      • @[email protected]OP
        link
        fedilink
        1
        edit-2
        1 year ago

        Through some more testing, I found out mesa related hardware acceleration package can cause these power surge, on Archlinux it includes mesa-vdpau and libva-mesa-driver.

        If I don’t have these package installed, VLC reverts to libplacebo which doesn’t seem to cause more power usage.