Vulkan & video acceleration broken after update

I update my Manjaro systems periodically and i was having trouble with the updates for a while now. If the issues are workable i usually wait until the next version, however my systems are still broken.

All my Manjaro systems use Radeon 7000 series cards, running the amdgpu driver, vulkan and vaapi. The amdgpu driver still loads, but vulkan and vaapi are broken. This causes firefox to frequently crash.

$ lspci -k | grep -A 3 -E "(VGA|3D)"
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280]
	Subsystem: Hightech Information System Ltd. Device 3000
	Kernel driver in use: amdgpu
	Kernel modules: radeon, amdgpu
$ vulkaninfo 
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 1.  Skipping ICD.
Segmentation fault (core dumped)
$ vainfo
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.17 (libva 2.17.1)
vainfo: Driver version: Mesa Gallium driver 22.3.5 for AMD Radeon HD 7900 Series (tahiti, LLVM 15.0.7, DRM 3.49, 6.2.0-2-MANJARO)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
$ firefox
[GFX1-]: glxtest: VA-API test failed: no supported VAAPI profile found.
ATTENTION: default value of option mesa_glthread overridden by environment.
[2023-02-11T13:45:06Z ERROR mp4parse] Found 2 nul bytes in "\0\0"

Kernel 6.2 and 5.14 tested, using unstable branch. I don’t have any trouble on my Arch systems.

I was able to fix the vulkan issue, but the vaapi was still dead. Switched branch to stable and ran:
sudo pacman -Syyuu

Still the same problem.
Then i just got annoyed and did the right thing:

sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
sudo nano /etc/pacman.d/mirrorlist

remove or comment out all the mirrors, add the following line:

Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch

Saved and then ran this:

sudo killall gpg-agent
sudo rm -rf /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -Syyuu

After updating/downgrading I didn’t even had to reboot. Problem was fixed right away.

$ vainfo
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.17 (libva 2.17.1)
vainfo: Driver version: Mesa Gallium driver 22.3.4 for AMD Radeon HD 7900 Series (tahiti, LLVM 15.0.7, DRM 3.49, 6.1.9-1-MANJARO)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

Goodbye then :wink:

The ArchLinux Forum can now deal with your problems, since you switched to ArchLinux right now :wink:

Anyway, the fix is: Best way to get h264 accelerated again? - #14 by linux-aarhus

However, Manjaro follows upstream, ArchLinux not. The reason are patents.

I think Arch did the right thing here, this is basic stuff and it just needs to work. Otherwise you risk losing users, right?

I did make a backup of the mirrorlist :wink: I’m just away for as long as this debacle runs with the patents, i have stuff to do and only so much time for the Linux hobby.
But thanks for the link to the fix anyway, that was rather hidden if i may say so.

My real problem is that i advised/put a lot of users on Manjaro. They’re gonna keep complaining about this issue and leave if it isn’t fixed. Any idea if there is a solution on the horizon? Not sure if they are able to compile mesa-nonfree.

Well I am not a lawyer, but I guess the basic thing I understood about the patents:

  1. If you provide a Distro which has these codecs preinstalled, then you are affected and potentially they could come demand for license fees. Just like hardware players comes with prebuild hardware codecs.

  2. That is not the case on ArchLinux, because you put the parts yourself together. So it is the choice of the user, not of the provider. Therefore they don’t have to follow upstream and are not affected.

If there will be an optional package, which comes from AMD, just like from INTEL and can be optional installed, then this would be a good solution for everyone, but at the moment hardware decoding on AMD is open source and baked into mesa.

The only solution for AMD is just recompiling it yourself.

So the solution must come from upstream. :man_shrugging:

I’ve been with ATI/AMD since 2001, i don’t think they are going to pay for a such a license.

Things have improved apparently:
https://mesa-freeworld.github.io/mesa-nonfree/

Packages are now pre compiled and you can even add it as an unofficial repository.

sudo pacman-key --recv-keys B728DB23B92CB01B && sudo pacman-key --lsign-key B728DB23B92CB01B

sudo sh -c "curl -s https://mesa-freeworld.github.io/mesa-nonfree/$(pacman-mirrors -G)/ > /etc/pacman.d/mesa-nonfree.pre.repo.conf"

sudo sed -i '/^\[core\]/i \Include = /etc/pacman.d/mesa-nonfree.pre.repo.conf\n' /etc/pacman.conf
2 Likes

Ok well. Seems to be a valid solution, quite not very optimal, but a good workaround without recompiling.

I still think that the problem should not be solved downstream.

And no, NVIDIA, AMD or INTEL don’t pay license fees. The licence fees goes to the vendors which provide a full solution. Same goes for Windows. The drivers are not part of Windows, but additionally installed, therefore Windows is not affected.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.