Do more on the web, with a fast and secure browser!

Download Opera browser with:

  • built-in ad blocker
  • battery saver
  • free VPN
Download Opera

Widevine + H.264 Support on Ubuntu 19.10

  • @johnnyboycurtis :

    Newbie here to the forum, though not to Linux OR to Chromium-based browsers; I've been building browser packages for the Puppy Linux community for some years. These often have to be modified from 'standard' layout to accommodate Puppy's 'run-as-root' model.

    Many of my community compatriots used to be enamoured of the old Opera 12, based on the 'Presto' engine. Me, I could never get the hang of its 'quirky' way of doing things....

    I regularly produce packages for Chrome itself, Iron & SlimJet, in addition to Opera, which I've only turned my attention to this last few months. I have to confess, I DO like it!

    Now then; to echo nesar77 above....what is it with the current Opera 66 releases? It's the same story for any of the Chromium-based browsers since they moved to v78 onwards, and this darned WidevineCDM sub-directory, with all its associated extra crap....although I'm pleased to see that Opera hasn't bothered with it. I especially like the .json files in /opera/resources; the 'preloads' make it easy to locate stuff & configure it.

    'Portable' applications are very popular with Puppy users in general, given that many of us still use hardware that a lot of you would have probably consigned to the 'tech' scrap-heap years ago.. With low system resources, being able to run things external to the system is a god-send, since in many cases we can run 'em from a flash drive.

    So; in addition to others, I've recently been building Opera as a 'portable', self-contained item, with its profile and everything else internal to the portable's directory.....along with a user-triggered auto-updater for PepperFlash. It all works very well. With assistance from one or two other community members, we've been using the 'tee' command in the portable's 'launch' script, which then points to a wrapper I put together to fire Opera up. (We tried starting Opera directly as in the .deb package, but with Pup's odd way of doing things, all these Chromium-based browsers need wrappers to start 'em..!)

    The 'tee' command has been used to re-write the paths in the 'resources' directory's .json files, so that Opera always has absolute paths for libwidevine, PepperFlash and libffmpeg. Remember, this is a 'portable', so can be run from anywhere. Literally. That being the case, of course, the absolute paths are going to keep changing as you move it from one location to another....

    But from v66 onwards, no matter what I do, I cannot make Opera 'see' libwidevine at all. Creating /opt/google/chrome/ was one of the first things I tried; NetFlix turned its nose up, and insisted that libwidevine simply didn't exist. Using the 'tee' command makes it virtually impossible for the browser NOT to find the item in question, because those paths are re-evaluated/re-written every time you fire Opera up.....

    Curiously, examining the 'components' lists in both Chrome and Opera reveals one telling difference. In Chrome, every item in that list has a version number; if things update, the number changes. In Opera's list - which is rather shorter - everything has a version number, except WideVine. It only has showing, no matter how many times you try to update. This is the one thing NetFlix insists you try to 'update', when WideVine doesn't function as it should.....except it ain't doing what it's supposed to do!

    Sorry for the length of this missive, but NetFlix is kind of a 'prerequisite' for me. Anybody have any other ideas on this one? I'm always open to suggestions, 'cos when I get these browser builds to behave themselves, it benefits the whole community, y'see.

    Mike. 😉 👍

  • Hi @nesar77, @miqwalsh, the issue with Widevine looks to be fixed in the latest Opera stable 66.0.3515.103 (DEB/RPM versions) - here you can find two examples by @burnout426 on how to make it works.

  • @l33t4opera Also, I'm slowly gathering/editing to help with this.

  • @burnout426 Yep, it seems quite "smoothly" written, nice job ;-)

  • Copying the *.so file also helps if you have problems with video-playback with Opera 66 based on Chrome/79.0.3945.130. I tried this because I could not find a matching ffmpeg version so far.

  • @thomas-rager upgrade to Opera 67 and libffmpeg is suppplied by it. If you want to use Opera 66 create lib_extra under /usr/lib/x86_64-linux-gnu/opera and copy or create a soft link to it.

  • Hi @thomas-rager, you can find the 79.0.3945.130 for example here - if you still need it for Opera 66. There's also 80.0.3987.87, which seems to work for Opera 67.

  • Nothing above helped me, unfortunately.

    All Opera lineup is installed (stable, beta and developer versions), all Chrome lineup is installed as well. In addition, I've installed Vivaldi too. No widevine in Opera (I even put Vivaldi folder in that .json file). Moreover, ffmpeg is broken again (surprisingly it worked out of box in snap package). I'm on Kubuntu 19.10. At work (Kubuntu 18.04) all works fine, no issues with Netflix or Spotify.

    Does anyone know where Opera keeps log files? Several months ago (or years) I found something in the Internet but the knowledge is lost...

  • @johnnyboycurtis

    Thank you it work in Manjaro as well.

  • @thomas-rager said in [Widevine + H.264 Support on Ubuntu Popeyes Survey 19.10](/post/200190):

    Copying the *.so file also helps if you have problems with video-playback with Opera 66 based on Chrome/79.0.3945.130. I tried this because I could not find a matching ffmpeg version so far.

    Ya wait i will tell you exact problem .

  • I was having major 'problems' getting WideVine to function at all under Opera 66 & 67; the method we'd previously used to set absolute paths for the Puppy 'portable' packages via the use of the 'tee' command was no longer working. And then it struck me.....the answer was so simple I could have kicked myself.

    Bearing in mind that Puppy's 'run-as-root' model has been causing us grief for the last four years with the Chromium/'Blink'-based browsers, we run these packages as user 'spot'.....this being a restricted user with the same type of permissions as any normal user in the mainstream distros. Consequently, the whole of a Chromium-based browser's files live in the /root/spot directory.

    For the 'portables', we use the 'readlink' command to set the location variable for the portable's directory, irrespective of its actual location. This allows us to create the browser's profile within that directory, and this all works very well.

    However, regardless of Pup's slightly odd set-up, Opera is still looking in the locations it expects to find Widevine and libffmpeg in, as dictated by the internal coding and the .json files in /opera/resources. Bummer..!

    But the answer, as I said, was very simple.

    Puppy, as part of its 'frugal' install/run method, empolys what are known as SFS files (Squash File-System). These things can be loaded/unloaded 'on-the-fly' by the use of a special script which has been part of the standard Puppy build-process for well over a decade.

    The simple solution was to build a wee SFS package which would 'load' libffmpeg and libwidevinecdm to the same locations as the .deb package installs them to.....and since these things CAN be 'loaded/unloaded' on-the-fly, and moved from one place to another, they are also portable.

    So you put the portable-Opera in its desired location. You 'load' the Opera-extras.sfs package. You fire the browser up, go to NetFlix/Spotify/Hulu/Amazon Prime/whatever, annnd.....

    .....everything just 'works'. Issue solved, and the 'portable' package remains 'portable', even if it IS now ever so slightly 'clunky' in nature.


    Mike. 😁

  • @l33t4opera I confirm that widevine is fixed in Opera 67.0.3575.115 (working on Ubuntu 18.04 LTS) but in version downloaded from website as deb package (not through snap - opera installed with snap do not play spotify web)