Talk: VLC not exposing VA-API as a hardware acceleration option

This is a discussion topic for the following Common Issue:

You can discuss the problem and its solutions here, but please note that debugging and technical feedback should primarily go to the issue trackers (e.g. Bugzilla) linked in the Common Issue, because that’s the place that developers watch, not here.

If there are any updates/changes/amendments for the Common Issue description, which you believe should be performed, please post it here.

Please see the Common Issue for solution/workarounds:

There are a few other workarounds for folks who want to keep VLC as an RPM, instead of Flatpak. Some of them asked to keep this comment around, so here it is. Please note that the official Flatpak workaround is the recommended one.

All workarounds below are strongly NOT recommended. They can cause issues for your system in the long run. Also, they are intentionally light on details, because they should be only used by people who are familiar with their system enough.

The first option is to install vlc from a third party repository, instead of Fedora, and then use sudo dnf update --exclude 'vlc*' every time you need to update your system (which avoids replacing it with a newer version from Fedora). This only works in cli, you must always think about it, and it prevents you from getting VLC updates (from any repository).

There are other options. In man dnf.conf there is:

  • allow_vendor_change which you can use to never update a package from a different repository than the one it was originally installed from, even when it’s newer. But it’s a global option and can cause issues for other packages than vlc for which this is actually intended.
  • priority which you can use to always prioritize packages from a certain repository, even when they are older. This is a repo-level option and again can cause issues with other packages than vlc, where a non-default behavior is not expected.
  • excludepkgs which can be used to never consider certain packages from a certain repository. It’s a repo-level option. This is possibly the safest to use from the three mentioned, but it requires you to modify a Fedora-provided repository configuration, and can again burn you in the future, when you forget you modified it and then you can see unintended things happening. It will be very hard to figure out what causes it then.

You are free to shoot yourself at your own foot, if you wish. I heartily recommend to stick with the Flatpak workaround and have a reliable system.

Or you can simply exclude=vlc in the /etc/yum.repos.d/fedora.repo

That’s the excludepkgs option already described above.

Using that for one specific repo would not prevent updating it from another repo (such as updates or rpmfusion). The user would need to do so for every repo where they wished to block it and make sure it was not blocked in repos where an update was intended.

This does provide fine detailed control but the user must remember what has been done when unanticipated results occur in the future.

Please do not use the exclude solution, we at rpmfusion does not support that and it may break anytime without any possibility to fix.

If you really need VAAPI, use mpv for the interim
Also vlc keep using VDPAU for nvidia and AMD.

For the long run, VAAPI support will be restored when vlc-4 will be out.