Newly installed opera browser fails to start

A couple of users of our systems running openSUSE Leap 15.4 want to use the opera browser, so I installed it using the instructions found here:

https://software.opensuse.org/package/opera > Expert Download > Add Repository and Install Manually
Basically:

# zypper addrepo https://download.opensuse.org/repositories/openSUSE:Leap:15.4:NonFree:Update/standard/openSUSE:Leap:15.4:NonFree:Update.repo
# zypper refresh
# zypper install opera

The installation completely successfully, but when I try to start opera, it fails with an error:

$ which opera
/usr/bin/opera
$ opera
/usr/lib64/opera/opera: symbol lookup error: /usr/lib64/opera/opera: undefined symbol: av_stream_get_first_dts
$

/usr/bin/opera is a wrapper shell script that invokes /usr/lib64/opera/opera.
Just to make sure all libraries are resolved, I did the following:

$ ldd /usr/lib64/opera/opera
        linux-vdso.so.1 (0x00007ffe453ec000)
        libffmpeg.so => /usr/lib64/opera/lib_extra/libffmpeg.so (0x00007fb41664c000)
        libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007fb4163ae000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fb4161aa000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb415f87000)
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fb415d27000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fb4159f4000)
        libnss3.so => /usr/lib64/libnss3.so (0x00007fb4156bc000)
        libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007fb41548b000)
        libsmime3.so => /usr/lib64/libsmime3.so (0x00007fb415263000)
        libnspr4.so => /usr/lib64/libnspr4.so (0x00007fb415024000)
        libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007fb414c43000)
        libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fb414a04000)
        libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007fb4147f0000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fb4145c7000)
        libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007fb414383000)
        libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007fb41415b000)
        libatk-bridge-2.0.so.0 => /usr/lib64/libatk-bridge-2.0.so.0 (0x00007fb413f27000)
        libcups.so.2 => /usr/lib64/libcups.so.2 (0x00007fb413c83000)
        libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007fb413a31000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fb4136e6000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fb4133a5000)
        libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007fb4131a2000)
        libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fb412f9f000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fb412d8d000)
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fb412b87000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fb41297c000)
        libgbm.so.1 => /usr/lib64/libgbm.so.1 (0x00007fb41276d000)
        libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007fb412509000)
        libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007fb4121d2000)
        libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007fb411ed0000)
        libatspi.so.0 => /usr/lib64/libatspi.so.0 (0x00007fb411c95000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb411a7c000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fb411687000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb421a2f000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fb41147e000)
        libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007fb411256000)
        libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007fb411039000)
        libssh.so.4 => /usr/lib64/libssh.so.4 (0x00007fb410dcb000)
        libpsl.so.5 => /usr/lib64/libpsl.so.5 (0x00007fb410bb9000)
        libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007fb41091b000)
        libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007fb4103e1000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007fb41018f000)
        libldap_r-2.4.so.2 => /usr/lib64/libldap_r-2.4.so.2 (0x00007fb40ff3b000)
        liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007fb40fd2c000)
        libzstd.so.1 => /usr/lib64/libzstd.so.1 (0x00007fb40f9fc000)
        libbrotlidec.so.1 => /usr/lib64/libbrotlidec.so.1 (0x00007fb40f7f0000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fb40f5d9000)
        libffi.so.7 => /usr/lib64/libffi.so.7 (0x00007fb40f3cf000)
        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007fb40f146000)
        libplc4.so => /usr/lib64/libplc4.so (0x00007fb40ef41000)
        libplds4.so => /usr/lib64/libplds4.so (0x00007fb40ed3d000)
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007fb40eb39000)
        libmount.so.1 => /usr/lib64/libmount.so.1 (0x00007fb40e8da000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fb40e6b1000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fb40e499000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fb40e295000)
        libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007fb40de87000)
        libavahi-common.so.3 => /usr/lib64/libavahi-common.so.3 (0x00007fb40dc7a000)
        libavahi-client.so.3 => /usr/lib64/libavahi-client.so.3 (0x00007fb40da69000)
        libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007fb40d787000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fb40d57c000)
        libwayland-server.so.0 => /usr/lib64/libwayland-server.so.0 (0x00007fb40d368000)
        libfribidi.so.0 => /usr/lib64/libfribidi.so.0 (0x00007fb40d14c000)
        libthai.so.0 => /usr/lib64/libthai.so.0 (0x00007fb40cf42000)
        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007fb40cc1d000)
        libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007fb40c974000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fb40c72f000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fb40c475000)
        libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007fb40c262000)
        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007fb40c01f000)
        libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007fb40be1b000)
        libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007fb40bc0d000)
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fb40b982000)
        libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007fb40b771000)
        libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007fb40b3ee000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007fb40b115000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007fb40aefd000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fb40acf9000)
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007fb40aaea000)
        libsasl2.so.3 => /usr/lib64/libsasl2.so.3 (0x00007fb40a8cd000)
        libbrotlicommon.so.1 => /usr/lib64/libbrotlicommon.so.1 (0x00007fb40a6ac000)
        libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x00007fb40a458000)
        libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007fb40a129000)
        libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007fb409f16000)
        libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x00007fb409cce000)
        libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x00007fb409a86000)
        libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007fb4097f0000)
        liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007fb4095b6000)
        liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007fb409395000)
        libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007fb40918b000)
        libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007fb408e52000)
        libdatrie.so.1 => /usr/lib64/libdatrie.so.1 (0x00007fb408c4b000)
        libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fb408a25000)
        libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007fb40881d000)
        libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007fb408600000)
        libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007fb40834a000)
        libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007fb408119000)
        libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007fb407f14000)
        libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007fb407cf0000)

I don’t see anything obviously wrong above.
I installed opera on several Leap 15.4 systems, and they all fail in the same way.
Anyone else run into this problem? What’s the solution?

software.o.o search does not work correctly for Leap 15.4

# zypper addrepo https://download.opensuse.org/repositories/openSUSE:Leap:15.4:NonFree:Update/standard/openSUSE:Leap:15.4:NonFree:Update.repo

non-free (update) repository should already be enabled in default Leap 15.4 installation, you just added some strange repository.

$ which opera
/usr/bin/opera
$ opera
/usr/lib64/opera/opera: symbol lookup error: /usr/lib64/opera/opera: undefined symbol: av_stream_get_first_dts
$

I cannot reproduce it on a clean Leap 15.4.

bor@localhost:~> sudo zypper in opera
Loading repository data...
Reading installed packages...
Resolving package dependencies...


The following recommended package was automatically selected:
  ffmpeg-4


The following 3 NEW packages are going to be installed:
  ffmpeg-4 libavdevice58_13 opera


3 new packages to install.
Overall download size: 85.1 MiB. Already cached: 0 B. After the operation,
additional 248.2 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): 
Retrieving package libavdevice58_13-4.4-150400.1.13.x86_64
                                           (1/3), 115.0 KiB (162.2 KiB unpacked)
Retrieving: libavdevice58_13-4.4-150400.1.13.x86_64.rpm ..................[done]
Retrieving package ffmpeg-4-4.4-150400.1.13.x86_64
                                           (2/3),   1.7 MiB (  2.3 MiB unpacked)
Retrieving: ffmpeg-4-4.4-150400.1.13.x86_64.rpm ..............[done (2.0 MiB/s)]
Retrieving package opera-90.0.4480.54-lp154.2.17.1.x86_64
                                           (3/3),  83.3 MiB (245.8 MiB unpacked)
Retrieving: opera-90.0.4480.54-lp154.2.17.1.x86_64.rpm .......[done (2.0 MiB/s)]


Checking for file conflicts: .............................................[done]
(1/3) Installing: libavdevice58_13-4.4-150400.1.13.x86_64 ................[done]
(2/3) Installing: ffmpeg-4-4.4-150400.1.13.x86_64 ........................[done]
(3/3) Installing: opera-90.0.4480.54-lp154.2.17.1.x86_64 .................[done]
bor@localhost:~> which opera
/usr/bin/opera
bor@localhost:~> rpm -qf /usr/bin/opera
opera-90.0.4480.54-lp154.2.17.1.x86_64
bor@localhost:~> /usr/bin/opera
[5189:5189:0830/153440.279856:ERROR:url_pattern_set.cc(275)] Invalid url pattern: chrome://startpage/
[5189:5189:0830/153440.284028:ERROR:url_pattern_set.cc(275)] Invalid url pattern: chrome://startpage/
[5189:5189:0830/153440.284153:ERROR:url_pattern_set.cc(275)] Invalid url pattern: chrome://startpage/
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[5220:5220:0830/153440.507394:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[5314:5314:0830/153444.245797:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[5189:5189:0830/153446.905585:ERROR:named_platform_channel_posix.cc(142)] connect /home/bor/.config/opera/oauc_pipe_r: Connection refused (111)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[5394:5394:0830/153447.005773:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[5501:5501:0830/153447.896688:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[5528:5528:0830/153448.223304:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
[5316:8:0830/153448.270174:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[5331:8:0830/153448.287265:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[5330:8:0830/153448.302086:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.

Ignore GPU errors, I am in VM.

/usr/bin/opera is a wrapper shell script that invokes /usr/lib64/opera/opera.
Just to make sure all libraries are resolved, I did the following:

$ ldd /usr/lib64/opera/opera
...
        libffmpeg.so => /usr/lib64/opera/lib_extra/libffmpeg.so (0x00007fb41664c000)
...

openSUSE package does even have lib_extra subdirectory.

I would advice when you want something, then the first thing to do is using YaST > Software > Software management and use the Search. And see, it is there, no need to search any further.

$ ldd /usr/lib64/opera/opera
        linux-vdso.so.1 (0x00007ffe453ec000)
        libffmpeg.so => /usr/lib64/opera/lib_extra/libffmpeg.so (0x00007fb41664c000)
...

If you have the lib_extra sub directory in your Opera directory, I assume you have installed chromium-ffmpeg-extra package from Packman.
Please update to latest version: chromium-ffmpeg-extra-103.0.5060.114-pm154.1.1.

The package chromium-ffmpeg-extra creates the sub directory lib_extra.

Which version do you have installed?

rpm -qa | grep chromium-ffmpeg-extra

My Leap 15.4 was a default installation, plus I added Packman Essentials, Mozilla Firefox (non ESR) and Google Chrome repositories.

Before I added the “openSUSE:Leap:15.4:NonFree:Update/standard” repository according to the instructions at the openSUSE Software page as shown above, just doing a “zypper if opera” or “zypper in opera” did not find anything.

I did that, and it did not find opera. That’s why I went to software.opensuse.org to look further.

Yes. I had added the Packman Essentials repository.

Please update to latest version: chromium-ffmpeg-extra-103.0.5060.114-pm154.1.1.

Ah, thanks, I’ll try that. Currently I have chromium-ffmpeg-extra-69.0.3497.100-2.3.x86_64,also from Packman.

The package chromium-ffmpeg-extra creates the sub directory lib_extra.

Which version do you have installed?

rpm -qa | grep chromium-ffmpeg-extra
$ rpm -q chromium-ffmpeg-extra
chromium-ffmpeg-extra-69.0.3497.100-2.3.x86_64
$ zypper if chromium-ffmpeg-extra
Loading repository data...
Reading installed packages...

Information for package chromium-ffmpeg-extra:
----------------------------------------------
Repository     : @System
Name           : chromium-ffmpeg-extra
Version        : 69.0.3497.100-2.3
Arch           : x86_64
Vendor         : http://packman.links2linux.de
Installed Size : 3.1 MiB
Installed      : Yes
Status         : up-to-date
Source package : chromium-ffmpeg-extra-69.0.3497.100-2.3.src
Upstream URL   : http://code.google.com/p/chromium/
Summary        : Extra ffmpeg codecs for browsers based on Chromium
Description    : 
    This package contains proprietary codecs needed for the HTML5
    (audio and video tags).
$ 

EDIT: I already have Packman’s latest chromium-ffmpeg-extra (69.0.3497.100-2.3). Should I change vendor for this package back to openSUSE?

No, you do not. It may have been installed from Packman, but this version is not n Packman anymore.

Show output of “zypper lr -d”.

OK, here it is:

# zypper lr -d
#  | Alias                             | Name                                                                 | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                           | Service
---+-----------------------------------+----------------------------------------------------------------------+---------+-----------+---------+----------+--------+-------------------------------------------------------------------------------+--------
 1 | Libdvdcss_Repository              | Libdvdcss Repository                                                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://opensuse-guide.org/repo/openSUSE_Leap_15.4/                           | 
 2 | Mozilla                           | Mozilla                                                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/repositories/mozilla/openSUSE_Leap_15.4/        | 
 3 | NVIDIA                            | NVIDIA                                                               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.nvidia.com/opensuse/leap/15.4                                | 
 4 | Packman_Essentials                | Packman Essentials                                                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/Essentials | 
 5 | google-chrome                     | google-chrome                                                        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://dl.google.com/linux/chrome/rpm/stable/x86_64                          | 
 6 | openSUSE-Leap-15.4-1              | openSUSE-Leap-15.4-1                                                 | No      | ----      | ----    |   99     | rpm-md | cd:/?devices=/dev/disk/by-id/ata-SlimtypeDVD_A_DS8A5S_101060225434            | 
 7 | openSUSE_Leap_15.4_NonFree_Update | Online updates for openSUSE Leap 15.4 NonFree (standard)             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.4/non-oss/                        | 
 8 | repo-backports-debug-update       | Update repository of openSUSE Backports (Debug)                      | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/update/leap/15.4/backports_debug/                | 
 9 | repo-backports-update             | Update repository of openSUSE Backports                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.4/backports/                      | 
10 | repo-debug                        | Debug Repository                                                     | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.4/repo/oss/           | 
11 | repo-debug-non-oss                | Debug Repository (Non-OSS)                                           | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.4/repo/non-oss/       | 
12 | repo-debug-update                 | Update Repository (Debug)                                            | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.4/oss/                      | 
13 | repo-debug-update-non-oss         | Update Repository (Debug, Non-OSS)                                   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.4/non-oss/                  | 
14 | repo-non-oss                      | Non-OSS Repository                                                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.4/repo/non-oss/             | 
15 | repo-oss                          | Main Repository                                                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.4/repo/oss/                 | 
16 | repo-sle-debug-update             | Update repository with updates from SUSE Linux Enterprise 15 (Debug) | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/debug/update/leap/15.4/sle/                      | 
17 | repo-sle-update                   | Update repository with updates from SUSE Linux Enterprise 15         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.4/sle/                            | 
18 | repo-source                       | Source Repository                                                    | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.4/repo/oss/          | 
19 | repo-update                       | Main Update Repository                                               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.4/oss                             | 
20 | repo-update-non-oss               | Update Repository (Non-Oss)                                          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.4/non-oss/                        | 
21 | snappy                            | snappy                                                               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.4
#

Hmm, indeed:

# zypper refresh
Repository 'Libdvdcss Repository' is up to date.                                           
Repository 'Mozilla' is up to date.                                                        
Repository 'NVIDIA' is up to date.                                                         
Repository 'Packman Essentials' is up to date.                                             
Repository 'google-chrome' is up to date.                                                  
Repository 'Online updates for openSUSE Leap 15.4 NonFree (standard)' is up to date.       
Repository 'Update repository of openSUSE Backports' is up to date.                        
Repository 'Non-OSS Repository' is up to date.                                             
Repository 'Main Repository' is up to date.                                                
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is up to date.   
Repository 'Main Update Repository' is up to date.                                         
Repository 'Update Repository (Non-Oss)' is up to date.                                    
Repository 'snappy' is up to date.                                                         
All repositories have been refreshed.

# zypper update chromium-ffmpeg-extra
Loading repository data...
Reading installed packages...
'chromium-ffmpeg-extra' is already installed.
Package 'chromium-ffmpeg-extra' is not available in your repositories. Cannot reinstall, upgrade, or downgrade.
Resolving package dependencies...
Nothing to do.

So where do I get chromium-ffmpeg-extra-103.0.5060.114-pm154.1.1 from?

Hmmm, this package is still in packman repository (the main packman repo and not essentials). As you only have the packman essentials repo, you need to add the packman main repo.

  1. Add the Packman repository:# zypper addrepo https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/ packman-x86_64
  2. Install chromium-ffmpeg-extra rpm package:# zypper install chromium-ffmpeg-extra

https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/Extra/x86_64/chromium-ffmpeg-extra-103.0.5060.114-pm154.1.2.x86_64.rpm

Ah, I currently have the Packman Essentials repository, not the full Packman. Is it safe to have both?

The relevant line in my current “zypper lr -d” output:

 4 | Packman_Essentials                | Packman Essentials                                                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/Essentials | 

The full packman repo contains also the contents from essential. So if you want to use full, it makes sense to disable essential.

OK, I’ll do that.

One question though: Do I need to change vendor for all the packages installed from Packman_Essential to Packman? If so, how do I make a list of all packages installed from a specific repository? I have not done that before with zypper.

This shouldn’t be necessary as the package versions are the same in essentials and main packman repo. To switch packages to the packman repos you can issue following command:

zypper dup --from packman --allow-vendor-change

But your initial question was only related to chromium-ffmpeg-extra. So following command should be enough to get updates for chromium-ffmpeg-extra:

zypper update chromium-ffmpeg-extra

Never mind, I figured it out. Either “zypper search -i -r <repo>” or “zypper pa -ir <repo>” does this.

Excellent! Thanks for the tip.

My personal remark: remove that Packman Essential repo complete. Now you have the whole of Packman, there is no need whatsoever to keep a subset of it, even when you disable it.

The subsets were made years and years ago because people with slow Internet connections complained about the long refresh times. But they are only subsets and the conents of the subsets are essential (no pun intended) the same as the the whole. I do not even think there are different RPMs out there, only different “tables of contents”.

Yes, I agree. I found that doing the “zypper dup --from packman --allow-vendor-change” changed all the original packages from Packman_Essentials to be under the full packman. It also pulled in some additional packages, so Packman_Essentials no longer serves any purpose.