I’m using Debian 12, Ryzen 7 5700X processor, and Radeon HD 5450 graphics card. I have tried uninstalling and reinstalling VLC but it didn’t resolve the issue. Here’s an excerpt from the VLC’s log file:

glconv_vaapi_x11 error: vaDeriveImage: operation failed

main error: video output creation failed

main error: failed to create video output

avcodec info: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding

How do I resolve this issue?

    • @KickassWomenOP
      link
      English
      11
      edit-2
      7 months ago

      I disabled hardware acceleration and VLC is able to play mp4 files again; however, is there a way to turn on hardware acceleration without getting these errors?

      Update:

      Changing “Hardware-accelerated decoding” to “VA-API video decoder” fixed the issue. Now VLC is able to play mp4 files with hardware acceleration without any issues.

      • @poopsmith
        link
        English
        5
        edit-2
        7 months ago

        I’m not sure off-hand since I’m not too familiar with VLC.

        I would imagine it could be an issue in a graphics driver at the kernel (amdgpu?) or user level (mesa?). It could also be a problem in something higher up.

        I would recommend posting an issue in the VLC repo and see if you can get better support that way.

  • @seaQueue
    link
    8
    edit-2
    7 months ago

    Something is broken in your hardware acceleration stack, I’d check out the verification and troubleshooting sections here: https://wiki.archlinux.org/title/Hardware_video_acceleration.

    The tiny excerpt from VLC you’ve included doesn’t give us enough info to see what’s broken but taking a wild stab at it I’d guess it’s libva, mesa or a regression in amdgpu. Take a look at the system journal (and user journal) as well as the VLC log, something in the library stack is probably throwing a more useful error than we’ve seen yet.

  • @[email protected]
    link
    fedilink
    English
    6
    edit-2
    7 months ago

    First, it never hurts to reboot. There could be some dumb state going on in your display server. Or kernel DRM. Or in some little bs microcontroller in the video card.

    Next, read the arch wiki on hardware video acceleration. Contemplate the note(2) at the very bottom of the page and boggle at all the PPANAPAPPI acronyms bouncing around in there.

    VLC has two major sides to its video settings, the (Video)output method and the (Input/Codecs)hardware-acceleration. You are on the VDPAU acceleration API, so give VAAPI a try for a bit. Remember you have to restart VLC before any change takes. VLC should be smart about choosing a good Automatic option, but it can’t do much about “looks like an API’s there, but it’s broke”.

    Try mpv. Try VLC, but from Flatpak (which brings its own version of a lot of the acceleration libraries).

    • @KickassWomenOP
      link
      English
      27 months ago

      I don’t know if it updated my video driver. I just used this command: sudo apt update && sudo apt upgrade

      • @[email protected]
        link
        fedilink
        17 months ago

        If you restart and put the setting back to how it was, and it still works, then that’s probably what happened.

      • @[email protected]
        link
        fedilink
        English
        17 months ago

        Check /var/log/dpkg.log to be sure. Most modern systems use dkms to make it automatic, but you can try reinstalling the driver to be sure.

        And also reboot if you haven’t already done that, to make sure your kernel and driver are the latest and loaded properly.

        • @KickassWomenOP
          link
          English
          1
          edit-2
          7 months ago

          I have rebooted multiple times. How do I reinstall the driver for my Radeon HD 5450 graphics card?

          I used this command to search through the dpkg.log but didn’t get any results for radeon or ati:

          cat /var/log/dpkg.log | grep -i ati

          • @KickassWomenOP
            link
            English
            17 months ago

            Replying to my own post here. I tried to reinstall my video driver but the terminal messages I received essentially said that the files were already installed:

            Jean-Luc@Enterprise:~$ sudo apt-get install firmware-amd-graphics libgl1-mesa-dri libglx-mesa0 mesa-vulkan-drivers xserver-xorg-video-all
            Reading package lists... Done
            Building dependency tree... Done
            Reading state information... Done
            firmware-amd-graphics is already the newest version (20230210-5).
            libgl1-mesa-dri is already the newest version (22.3.6-1+deb12u1).
            libgl1-mesa-dri set to manually installed.
            libglx-mesa0 is already the newest version (22.3.6-1+deb12u1).
            libglx-mesa0 set to manually installed.
            mesa-vulkan-drivers is already the newest version (22.3.6-1+deb12u1).
            mesa-vulkan-drivers set to manually installed.
            xserver-xorg-video-all is already the newest version (1:7.7+23).
            xserver-xorg-video-all set to manually installed.
            0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
            
            • @db2
              link
              17 months ago
              sudo apt-get install --reinstall firmware-amd-graphics libgl1-mesa-dri libglx-mesa0 mesa-vulkan-drivers xserver-xorg-video-all
              
              • @KickassWomenOP
                link
                English
                2
                edit-2
                7 months ago

                Though my issue has been resolved I’ll try this and update this post afterwards

                Edit:

                I reinstalled the video drivers and rebooted twice to be sure but VLC wouldn’t play mp4 files unless I changed “Hardware-accelerated decoding” to “VA-API video decoder”.

            • @s38b35M5
              link
              English
              17 months ago
              --reinstall
              

              Or

              remove --purge 
              
  • Quantum Cog
    link
    27 months ago

    Maybe try a full update. Partial updates are problematic.

      • Quantum Cog
        link
        4
        edit-2
        7 months ago

        sudo apt update && sudo apt upgrade

        According to Debian Wiki VLC has limited support of va-api for hardware acceleration. Try fixes in the wiki. It might help.

        • @KickassWomenOP
          link
          English
          6
          edit-2
          7 months ago

          Thank you, this resolved my issue.

          I read the wiki and changed “Hardware-accelerated decoding” to “VA-API video decoder”.

          My original problem was caused by the fact that this was set to automatic, now that it’s set to “VA-API video decoder” VLC is able to play mp4 files again without any issues.

        • @KickassWomenOP
          link
          English
          2
          edit-2
          7 months ago

          Tried it. I don’t think there’s anything to upgrade:

          Jean-Luc@Enterprise:~$ sudo apt dist-upgrade
          [sudo] password for Jean-Luc: 
          Reading package lists... Done
          Building dependency tree... Done
          Reading state information... Done
          Calculating upgrade... Done
          0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
          
  • @[email protected]
    link
    fedilink
    1
    edit-2
    7 months ago

    Glad you got it resolved. FWIW This problem should have affected practically all video playback and not just mp4, so adding that part in and then trying to find reasons why ONLY mp4 wouldn’t work… doesn’t get someone very far in helping you :)

  • wuphysics87
    link
    fedilink
    -17 months ago

    On arch I would reinstall pipewire. Idk if there’s an apt equivalent

    • @seaQueue
      link
      27 months ago

      This is something in the libva/mesa hardware acceleration stack

  • @[email protected]
    link
    fedilink
    -27 months ago

    Try Celluloid Flatpak. It is slim, perfectly packaged and uses MPV.

    Saves you a lot of troubles.