Request to enable WidevineCDM checking on ARM64

Bug #2008433 reported by theofficialgman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
chromium-browser (Ubuntu)
Fix Released
Medium
Nathan Teodosio
Bionic
Fix Released
Undecided
Unassigned

Bug Description

If possible, could you please include a patch to enable widevinecdm checking on ARM64 linux? currently BUNDLE_WIDEVINE_CDM does not get set for arm64 linux (but does on amd64 linux) so chromium does not even check for widevine even if we have it available and placed in the directory manually.

I am currently using the attached patch of my making when testing locally to correct this issue.

Tags: patch
Revision history for this message
theofficialgman (theofficialgman) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "widevine-enable-all-architectures.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Thanks for submitting a report with your patch.

> currently BUNDLE_WIDEVINE_CDM does not get set for arm64 linux (but does on amd64 linux)

Do you have evidence for amd64 having it bundled? I don't think we bundle Widevine for any oarchitecture.

As such, I wonder whether the last two sections of the patch are necessary.

Revision history for this message
theofficialgman (theofficialgman) wrote (last edit ):

Widevine is not supplied with the chromium deb on linux amd64, that is correct.

If BUNDLE_WIDEVINE_CDM is not set, then chromium will not look for any local widevine lib at runtime.
https://source.chromium.org/chromium/chromium/src/+/main:chrome/common/media/cdm_registration.cc;l=207?q=%22Widevine%20enabled%20but%20no%20library%20found%22&ss=chromium
This error will be in the verbose log which is what is happening on non-amd64 right now:

[31833:31833:0216/204151.842227:VERBOSE1:cdm_registration.cc(189)] Widevine enabled but no library found

On linux amd64, windows x86/x64/arm64, macos x64/arm64, and cros arm/arm64/x64 the BUNDLE_WIDEVINE_CDM flag gets set during the build for chromium and chrome https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/widevine/cdm/widevine.gni#23

Maybe `|| target_cpu == "arm64"` could be added under the linux case at the spot referenced above and get the same result as my patch. What I did instead is similar to the piOS and fedora chromium-freeworld patches:
https://github.com/rpmfusion/chromium-freeworld/blob/d2165a468332661df1439208eb930661caaa9f1e/chromium-enable-widevine.patch#L7-L8
https://github.com/RPi-Distro/chromium-browser/blob/ecaf4660a61064c1c2338131d6a4f0807c424123/debian/patches/widevine-other-locations#L19-L43

Changed in chromium-browser (Ubuntu):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Nathan Teodosio (nteodosio)
importance: High → Medium
Revision history for this message
theofficialgman (theofficialgman) wrote :

just to note, this patch replaces the cdm_registration.cc changes from widevine-enable-version-string.patch but you still need the changes to widevine_cdm_version.h from that patch

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Indeed, and, if I'm reading it correctly, that's why widevine-enable-version-string.patch[1] has changes such as

  -#if BUILDFLAG(BUNDLE_WIDEVINE_CDM)
  +#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)

Since I don't see why Widevine shouldn't be enabled on Armhf too, I'm simply removing the 'target_cpu == "x64"' check.

Currently building on the edge channel.

[1] https://git.launchpad.net/~chromium-team/chromium-browser/+git/snap-from-source/tree/build/chromium-patches/widevine-enable-version-string.patch?h=dev

Changed in chromium-browser (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Can you please test the snap from the edge channel (snap refresh --channel edge chromium) and report whether it solves the issue?

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Marking as "fix committed" but before passing it on to the other channels I'd need confirmation.

Changed in chromium-browser (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
theofficialgman (theofficialgman) wrote (last edit ):

ae you able to put it in the ubuntu bionic beta chromium ppa? I can't really test the snap due to kernel incompatibility.

Revision history for this message
Nathan Teodosio (nteodosio) wrote : Re: [Bug 2008433] Re: Request to enable WidevineCDM checking on ARM64

Ah, didn't know you were in Bionic. I'll build it in a PPA.

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Can you please try ppa:canonical-chromium-builds/stage?

https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage

Changed in chromium-browser (Ubuntu Bionic):
status: New → Fix Committed
Revision history for this message
theofficialgman (theofficialgman) wrote :

I can confirm the be build from the ppa works on arm64. Thank you!

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Glad to hear that, and thanks for the cooperation!

Changed in chromium-browser (Ubuntu Bionic):
status: Fix Committed → Fix Released
Changed in chromium-browser (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.