My story of fixing video playback and website displaying glitches in vivaldi > v6.0 on rpi4
-
So, I have been holding the vivaldi package on my rpi4 for over 6 months now, hoping vivaldi would someday fix that ffmpeg issue for their arm releases. But apparently they still haven't...
When I first noticed that after an update of vivaldi videos wouldn't play anymore, I immediately downgraded and thought it was just a bug that would be resolved in the next release. Eventually, I saw the note in /opt/vivialdi/update-ffmpeg and realized that this issue would take longer.
A few months later I rechecked, searched a little and came across ruario's post on github. Trying that fix I got video playback working, but when I used Startpage (the search engine) the search field would be missing from the results page, making it impossible to adjust the search terms. So I immediately downgraded again...
Little did I realize, that startpage glitch wasn't caused by the "ffmpeg hack".
So, recently, I did another attempt - with the same results, but noticed that the website displaying glitch was there even with the original libffmpeg.so file (only).
So, I did a little more digging and found that others had that same problem and proposed to use --disable-gnu as start flag. That being a bit of an overkill workaround (also, because I don't know if that automatically disables hardware-acceleration for video decoding), I did some testing and found a slightly less intrusive approach.
So, here's my how-to-do list for the two issues:
This is on rpi4, Debian Bookworm, 64bit, TwisterOS GUI, xfce
0. Install current vivaldi version - at the time of typing this up, this was 6.5.3206.55, based on chromium 120.0.6099.221 - as per the changelog / new version announcement page.
1. Start vivaldi and go to HTML5 Proprietary Media on Linux to see video not working and the site glitching out. Vivaldi's settings window might also glitch out...
Here are 2 screenshots of the above mentioned page glitching out in different ways. The difference was just reloading the page. That's some creative displaying...
The easiest way to spot the glitching is the missing magnifying glass and "Search" in the supposed-to-be search field (the blue bar at the top):
2. Get the list of currently available snap files for chromium:
curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/chromium >> chromium.info
Since I don't like cli, well because I like gui better and because I don't like to clutter my bash history with one-time commands that I later have to manually deleted again, I have a different approach to the instructions found elsewhere.
3. Use text editor (e.g. mousepad) to open chromium.info you just created. As the data sets are saved in few long strings the data sets are not clearly set apart which might make it a bit hard to easily see where one data set ends and the next begins.
The base rule is, each data set begins with {"channel":{"architecture":
So, depending on the screen size and resolution, with line break enabled, you might want to resize the text editor window so that the above mentioned beginning of a data set starts at the beginning of a line, making it easier to find what you need.
Search for arm64 (or armhf in case of 32bit arm) and then check near the end of that particular data set for the chromium version (there are several versions for each architecture in this list - basically representing stable, candidate, beta, edge). It might just be enough to have the same main version (in this case 120), but I like to have the subversion as close as possible to the one that vivaldi is based on. As the specific version wasn't available I opted to the closest one which was 120.0.6099.216.
Copy the download url which comes before the version number in the respective data set.
4. Download the snap file. Yeah, why not just use "enter and go" in vivaldi...
5. Instead of installing unsquashfs you never use for anything else (otherwise you would have it already installed), why not just use xarchiver (which I think is installed as part of xfce - I'm not sure if e.g. fileroller (gnome) can open snap packages, I didn't test it) to extract /lib/chromium-browser/libffmeg.so from the snap package, copy / move it to /opt/vivaldi and rename it to the main version of vivaldi, in this case libffmpeg.so.6.5 . Note: There is an libffmpeg.so file in /opt/vivaldi/lib . Leave it be. This solution is more elegant than replacing the file that comes with vivaldi - every time after each update of vivaldi... This way you might only have to get a new working libffmpeg.so file (i.e. snap file) if vivialdi switches to a higher main version of chromium.
Again, yes you could use the long command (if you'd combine the 4 commands into one) that ruario posted - well, you can't anymore as the libffmpeg.so file if the link in that command doesn't work for the current vivaldi version anymore.
If you're into cli and like adapting one-time commands, you will prefer that way - it's elegant and fast. But you didn't need this post anyway because you fixed that issue months ago.6. Verify the now working video playback e.g. by going to the above mentioned page, HTML5 Proprietary Media on Linux. Also notice the page still glitching out.
Screenshot: ffmpeg issue fixed, but page still not being displayed properly:
Now, let's deal with the glitching.
That's one simple step: Disable gpu rasterization, either via vivaldi://flags (vivaldi://flags/#enable-gpu-rasterization) or via the start flag --disable-gpu-rasterization .
(Re-)Start vivaldi and again, go to HTML5 Proprietary Media on Linux or any other website you know was glitching out before and see it now working fine.
Screenshot: ffmpeg issue and glitching issue fixed (see the correct displaying of the search field - and the blue top banner in which the search field is embedded and which was missing completely before):
To double check, you can rename the /opt/vivaldi/libffmpeg.so.6.5 file to something else to make sure vivaldi won't use it. Restart vivaldi and again go to HTML5 Proprietary Media on Linux and see the page not glitching but video not working anymore - proving that those two issues are unrelated, at least in the sense that the glitching issue is not linked to the libffmpeg.so "hack".
Screenshot: gpu rasterization disabled, ffmpeg not "hacked":
-
Thanks! I'll try it tomorrow and, update my post. Busy day and, I'm just getting over possible RSV lol. (I beat it in 4 days with a blow drier and lots of hot fluids). Been using Vivaldi as an email client only, for near a year now. Tried the Github fix and, Vivaldi would not launch any more. I don't want unsquashfs either lol. I'm on a fresh install of Debian x64 Bookworm. i"m sure I must have done something wrong lol. I hope I have success this time. I HATE CHROMIUM! At least I got rid of Thunderbird. IMO Vivaldi is the best browser, when it works. I really miss it!!! Videos are most of my browsing.
Update: get error. tried extract all and extract /lib/chromium-browser/libffmeg.so. Can't find it in destination folder. Need help lol Xarchiver failed. Found squash fs-tools in software manager. Now I just need to figure out how to extract it lol.
New error:
-no-wild[cards] do not use wildcard matching in extract names
-r[egex] treat extract names as POSIX regular expressions
rather than use the default shell wildcard
expansion (globbing)
-L synonym for -follow-symlinks
-h[elp] output this options text to stdoutDecompressors available:
gzip
lzo
lz4
xz
zstd
lzmaExit status:
0 The filesystem listed or extracted OK.
1 FATAL errors occurred, e.g. filesystem corruption, I/O errors.
Unsquashfs did not continue and aborted.
2 Non-fatal errors occurred, e.g. no support for XATTRs, Symbolic links
in output filesystem or couldn't write permissions to output filesystem.
Unsquashfs continued and did not abort.See -ignore-errors, -strict-errors and -no-exit-code options for how they affect
the exit status.See also:
The README for the Squash-tools 4.5.1 release, describing the new features can be
read here https://github.com/plougher/squashfs-tools/blob/master/README-4.5.1The Squashfs-tools USAGE guide can be read here
https://github.com/plougher/squashfs-tools/blob/master/USAGEGuess I'm stuck with Chromium.
Don't know enough to figure this out. Guess I'll have to wait for it to be fixed lol frustraiting! At least I didn't break anything lol -
As I can't edit my post anymore, here are supplemental screenshots for the obtaining of the url for downloading the snap file.
Screenshot of how resized text editor displays the "chromium-info" file to easily see where one dataset ends and another begins. The three datasets in the screenshot are marked with different colors (red, green, blue frame):
Screenshot to show the dataset used in this example - arm64 was searched for, of the different chromium versions available (= different datasets for arm64) this one was chosen (120.0.6099.2126), the snap file download url is marked with green color (https://api.snapcraft.io/api/v1/snaps/download/XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2732.snap):
-
BTW the new magnifier is CTRL+Alt+m. it is installed with OS install
-
Thanks for trying! I'm just too stupid to figure it out lol Stuck on extracting it lol. I get errors with xarchiver and squashfs -tools posted above. Hope they fix it soon. Been waiting aa long time!!At least I have an email client. HATE CHROMIUM!!!! Really miss Vivaldi. Hope it's not another year!
-
Got it. extract without paths. It's working glitch free. THANK YOU!!!! Your my hero! Used sudo mv to move and rename. cd to folder with file-sudo libffmpeg.so libffmpeg.so.6.5 . then sudo mv libffmpeg.so /opt/vivaldi. for the command line challenged like me lol
-
Ppafflick moved this topic from VPN on
-
The video playback problem really bothers me alot, i did the exact same thing before just like you, by shifting back to the old version and wait for further fixing.
Since the pre-installed chromium browser has no problem on playing html5 video, so i think the existing shared object libraries might be workable on vivaldi.
Here's an easy way i tried to get thing work without download files from snap:
-
update vivaldi browser to the latest version (currently 6.5.3206.63 Stable)
-
copy libffmpeg.so from chromium to vivaldi directory and rename it as libffmpeg.so.6.5 to match the current vivaldi version
$sudo cp /usr/lib/chromium-browser/libffmpeg.so /opt/vivaldi/libffmpeg.so.6.5
-
restart vivaldi
-
check to see if proprietary media works
lhttps://help.vivaldi.com/wp-content/uploads/2017/12/vivaldi_success.mp4
-
disable gpu-rasterization so the messy startpage and layout back to normal
vivaldi://flags/#enable-gpu-rasterization
It seems everything works fine after all
OS : RaspberryPi OS Bullseye Backport arm64
Vivaldi : 6.5.3206.63 Stable 64-bit
Chromium : 121.0.6167.155 (Official Build) Built on Debian , running on Debian 11 (64-bit) -
-
@choy You are basically doing the same thing… but a little warning. If the version of the Chromium does not closely match that Chromium we are based on … you will likely get crashes. I have linked to the snap on these forums in the past because I knew that the version I linked to matches well.
I am not saying what you have done is wrong. Just warning that anyone attempting it in the future could hit an issue.
Speaking of which, Vivaldi updated to version 6.6 today which is based on Chromium 122 and needs a newer version of this lib. The current closest snap file that would work as a source is this one for arm64: https://api.snapcraft.io/api/v1/snaps/download/XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2769.snap
This entire Howto is way too long. I understand the desire to help but most people will give up when they hit a wall of text.
Fetch it like so:
wget https://api.snapcraft.io/api/v1/snaps/download/XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2769.snap
Unpack just the lib you need:
unsquashfs -q -d vivaldi-extended-media-support-6.6 XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_2769.snap /usr/lib/chromium-browser/libffmpeg.so
Install it into the Vivaldi install directory
sudo install -m644 vivaldi-extended-media-support-6.6/usr/lib/chromium-browser/libffmpeg.so /opt/vivaldi/libffmpeg.so.6.6
Note: If you happen to be running the flatpak, replace that last command with these two
mkdir -p ~/.var/app/com.vivaldi.Vivaldi/data/vivaldi-extra-libs/media-codecs-114023 install -m644 vivaldi-extended-media-support-6.6/usr/lib/chromium-browser/libffmpeg.so ~/.var/app/com.vivaldi.Vivaldi/data/vivaldi-extra-libs/media-codecs-114023/libffmpeg.so
Once complete, restart the browser.
-
So, apparently the title of my post was changed by someone else. Initially it read "[How to] fix video playback and website displaying glitches in vivaldi > v6.0 on rpi4"
Also, apparently, Ruari didn't read the post or didn't get the point of the post, which is to not use any cli if possible. An not to have to install some program one only needs this one time.
Also, the post was deliberately explicit in order for people that are interested to understand what they're doing and why. In order to enable them to empower them to be able to fix this themselves in the future.
Mindlessly copy-pasting cli commands does not do that. -
If the test page (HTML5 Proprietary Media on Linux) is a reliable indicator for video playback / a working ffmpeg plugin, it seems as if v7, at least v7.1.3570.47 has a working ffmpeg plugin on board.
After updating vivaldi on a rpi4 (aarch64), I checked the above mentioned test site and it indicated success, even though I haven't downloaded any new ffmpeg library file for a while. The last one I had added manually was for v6.9. To be certain, I removed all ffmpeg libraries of past versions I had manually put into the vivaldi directory and restarted vivaldi to see if the test site would still indicate a working ffmpeg library - it did and does.
It seems as if the times of having to manually download / extract a working ffmpeg.so file for the current vivaldi version on rpi are over - for now.
Thanks, vivaldi team!