Skip to content

Instantly share code, notes, and snippets.

@ruario

ruario/README.md Secret

Last active February 23, 2024 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ruario/1d45cf3a8c403afe2f6ede2bdc8cdb35 to your computer and use it in GitHub Desktop.
Save ruario/1d45cf3a8c403afe2f6ede2bdc8cdb35 to your computer and use it in GitHub Desktop.
Manual steps to fetch and extract a suitable for proprietary media support on Vivaldi for arm.

Manual steps to fetch and extract a suitable for proprietary media support on Vivaldi for arm.

Intro

With Vivaldi 6.2 proprietary media (H.264 video and/or AAC audio) will not play out of the box. This is because we use a third party (chromium-patched) file to play such media files and no suitable file is currently offered for direct use.

However, assuming you have a distro with a new enough version of glibc (2.35 or above), which you can check by running ldd --version, you can extract a copy of the libffmpeg.so found within the Chromium snap package and use this with Vivaldi.

Steps

This is how you would do it in a terminal (it assumes you have unsquashfs installed and have already checked that your distro of choice runs glibc 2.29+).

Arm 32-bit

wget https://api.snapcraft.io/api/v1/snaps/download/XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2600.snap
unsquashfs -d chr-116-arm-ffmpeg XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2600.snap /usr/lib/chromium-browser/libffmpeg.so
sudo cp chr-116-arm-ffmpeg/usr/lib/chromium-browser/libffmpeg.so /opt/vivaldi/libffmpeg.so.6.2
rm -r chr-116-arm-ffmpeg XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2600.snap

Arm 64-bit

wget https://api.snapcraft.io/api/v1/snaps/download/XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2603.snap
unsquashfs -d chr-116-arm64-ffmpeg XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2603.snap /usr/lib/chromium-browser/libffmpeg.so
sudo cp chr-116-arm64-ffmpeg/usr/lib/chromium-browser/libffmpeg.so /opt/vivaldi/libffmpeg.so.6.2
rm -r chr-116-arm64-ffmpeg XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2603.snap

Restart Vivaldi after installing the file

@EndtheFED
Copy link

Get errors
bash: unsquashfs: command not found
cp: cannot stat 'chr-114-arm64-ffmpeg/usr/lib/chromium-browser/libffmpeg.so': No such file or directory
rm: cannot remove 'chr-114-arm64-ffmpeg': No such file or directory

@ruario
Copy link
Author

ruario commented Jun 16, 2023

Yes well you will need to install unsquashfs and you cannot really expect the latter two to work if the first failed. Without unsquashfs you have not extracted the file in the first place.

The package that provides unsquashfs will depend on your distro but there is a good chance it is called something like squashfs-tools

@idea-hk
Copy link

idea-hk commented Sep 3, 2023

the method used to work with vivaldi 6.1 (arm), however it doesnt play stream media in some sites after updating to 6.2 stable, such as

https://help.vivaldi.com/wp-content/uploads/2017/12/vivaldi_success.mp4
https://www.rthk.hk/radio/radio1
https://www.bilibili.com

the chromium web browser works fine for all the above sites, the playback error only happens with vivaldi 6.2 to be specific

i am running raspberry pi os (32bit) bulleye
the current vivaldi version is 6.2.3105.45 (Stable channel) stable (32-bit)
ldd -- version : (Debian GLIBC 2.31-13+rpt2+rpi1+deb11u5) 2.31
ffmpeg -- version : 4.3.6-0+deb11u1+rpt5

chromium web browser version : 113.0.5672.95 (Official Build) Built on Raspbian , running on Raspbian 11 (32-bit)

@ruario
Copy link
Author

ruario commented Sep 4, 2023

Yeah it needs a newer version of the file and this newer version has a new min glibc requirement of 2.35 or above. I have updated the post.

@ruario
Copy link
Author

ruario commented Sep 4, 2023

Actually you can still use the 114 file which has lower glibc requirements, so I switched it back again. The only change needed in you case therefore is renaming "/opt/vivaldi/libffmpeg.so.6.1" to "/opt/vivaldi/libffmpeg.so.6.2", i.e.

sudo mv /opt/vivaldi/libffmpeg.so.6.1 /opt/vivaldi/libffmpeg.so.6.2

@idea-hk
Copy link

idea-hk commented Sep 4, 2023

Thank so much for your help. Everything works perfectly after renaming libffmpeg.so.6.1 to libffmpeg.so.6.2

os : raspberrypi arm 32-bit (bulleye)
vivaldi : 6.2.3105.45 stable
glic 2.31
chrome 116

success600

@StarWolf3000
Copy link

Thank you for this. I'm using latest Vivaldi (6.2.3105.54) on current RaspiOS (arm64), which is based on Debian bullseye with glibc 2.31. Like the user above, I had to use the 114 version. This also made it possible to use Discord in the browser, as there's no native client yet.

@idea-hk
Copy link

idea-hk commented Oct 27, 2023

the method used to work with vivaldi 6.1 (arm), however it doesnt play stream media in some sites after updating to 6.2 stable, such as

https://help.vivaldi.com/wp-content/uploads/2017/12/vivaldi_success.mp4 https://www.rthk.hk/radio/radio1 https://www.bilibili.com

the chromium web browser works fine for all the above sites, the playback error only happens with vivaldi 6.2 to be specific

i am running raspberry pi os (32bit) bulleye the current vivaldi version is 6.2.3105.45 (Stable channel) stable (32-bit) ldd -- version : (Debian GLIBC 2.31-13+rpt2+rpi1+deb11u5) 2.31 ffmpeg -- version : 4.3.6-0+deb11u1+rpt5

chromium web browser version : 113.0.5672.95 (Official Build) Built on Raspbian , running on Raspbian 11 (32-bit)

the playback error happen again after updating to vivaldi 6.4.3160.34 (Stable ) with chrome 118, so rename libffmpeg.so.6.2 (/opt/vivaldi) to libffmpeg.so.6.4, it works however weird screen occurs, maybe something to do with the new pop-out video feature.

shutter-6 4-screen-mess

chromium-vivaldi-01

chromium-vivaldi-02

@ruario
Copy link
Author

ruario commented Oct 27, 2023

That button you label as new is not new and has been there for years. It only shows on hover though. If that is not the case for you then there is a problem.

@idea-hk
Copy link

idea-hk commented Oct 27, 2023

That button you label as new is not new and has been there for years. It only shows on hover though. If that is not the case for you then there is a problem.

i didnt pay attention to the pip icon before and treat it as new because version 6.4 update mention that popup video feature, anyway, the new update cause playback error again and cant be solved perfectly by renaming the libffmpeg.so.6.2 to libffmpeg.so.6.4, it is weird chromium 116 works well using the same glibc 2.31.

@ruario
Copy link
Author

ruario commented Oct 27, 2023

It is not that wierd because they change it on every release and this is not a perfect match.

FWIW 116 is not supported by upstream (the Chromium project) anymore and has outstanding "critical" security fixes that it is missing. You really should not be running it.

@idea-hk
Copy link

idea-hk commented Oct 27, 2023

after renaming libffmpeg.so.6.2 (/opt/vivaldi) to libffmpeg.so.6.4, the layout mess up, the sidebar gone, and all the menu icons disappear when opening up new window, and probably it's the cause of youtube look wired while viewing.

Start Page - Vivaldi_003

@idea-hk
Copy link

idea-hk commented Oct 27, 2023

It is not that wierd because they change it on every release and this is not a perfect match.

FWIW 116 is not supported by upstream (the Chromium project) anymore and has outstanding "critical" security fixes that it is missing. You really should not be running it.

thank so much for your advice and prompt reply
it's better reinstalling back to the earlier version of vivaldi

https://vivaldi.com/download/archive/?platform=linux

@ruario
Copy link
Author

ruario commented Dec 27, 2023

@idea-hk No renaming that file did not cause those issues and in no possible way is it better to reinstall and old version as it would have security flaws. Anyone else reading this should not follow that frankly terrible advice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment