SDB:Installing codecs from Packman repositories

Jump to: navigation, search
To avoid breakages, it is recommended to use flatpak or distrobox for up to date software to avoid any risks using third-party repos.
Icon-warning.png
Warning: Additional repositories are not officially supported by openSUSE.

You are extremely likely to have issues with updates in future. You must be confident to resolve these.

If you experience breakages, your openSUSE distribution and openSUSE itself should not be blamed.

Try to hold back your updates of packages so it can sync with upstream or rollback.

What is Packman?

Packman offers various additional packages for openSUSE, especially but not limited to multimedia related applications and libraries that are on the openSUSE Build Service application blacklist. It's the largest external repository of openSUSE packages. Packman is comprised of the following four repositories:

  • Essentials: provides codecs and audio and video player applications, to fulfill the most essential needs
  • Multimedia: contains many more multimedia related applications
  • Extra: additional non multimedia related applications, mostly network related
  • Games: obviously, games

The repositories above may be added individually be appending their name to the end of the URLs below. The latter three repositories are built upon Essentials and as such it must be added to utilize them.

Situation

You need to play online or offline multimedia content but the content does not want to play or shows errors. Usually this is a sign of missing codecs: install these packages from Packman to play most music and video:

  • ffmpeg
  • gstreamer-plugins-good
  • gstreamer-plugins-bad
  • gstreamer-plugins-ugly
  • gstreamer-plugins-libav
  • libavcodec
  • vlc-codecs

You can get them using Zypper, YaST, Myrlyn or opi.

Solution

Option 1: Zypper

If you have not already done so, use the following commands to add all of the third-party Packman repository (Packman Essentials is included), according to your installed openSUSE version:

Tumbleweed:

sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/' packman

Leap:

sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/' packman

Then, install the desired codecs by first refreshing your local repository database and allowing vendor change for the required packages (consider reading Vendor change). The vendor change step will switch already installed packages to the ones provided by Packman. For example, PipeWire from Packman is compiled with aptX support.

Following commands will ONLY install the codec packages from Packman!
sudo zypper refresh
sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs

Omit vlc-codecs if you don't plan on using the VideoLAN Client (VLC).

Following commands will switch ALL packages to use Packman, not just the codecs! Use these commands carefully as they will install also graphics related and other packages from Packman! This is a common source of dependency issues!
sudo zypper refresh
sudo zypper dist-upgrade --from packman --allow-vendor-change
sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs

Omit vlc-codecs if you don't plan on using the VideoLAN Client (VLC).

Option 2: Myrlyn

  1. Open Myrlyn, then click Extras > Configure Repositories
  2. Click Add (in the bottom left), then select Community Repositories.
  3. Select Packman Repository, then click OK.
  4. In the Myrlyn main window switch to the Repositories tab and select the Packman repository.
  5. Click "Switch system packages" to packages from Packman repository.
  6. Click Accept and Continue, after the codecs will get installed, You should be able to play your multimedia files without any issues.

Option 3: YaST

  1. Open YaST, then click Software Repositories.
  2. Click Add (in the bottom left), then select Community Repositories.
  3. Select Packman Repository, then click OK.
  4. Go to the YaST Control Center and click Software Management.
  5. View > Repositories > Packman Repository.
  6. Click "Switch system packages" to packages from Packman repository.
  7. Click Accept and Continue, after the codecs will get installed, You should be able to play your multimedia files without any issues.

Option 4: OBS Package Installer

Following command will switch ALL packages to use Packman, not just the codecs! Use zypper for a more granular approach.

opi (Open Build Service Package Installer) works on both Leap and Tumbleweed:

sudo zypper install opi
opi codecs