ungoogled-software / ungoogled-chromium

Google Chromium, sans integration with Google
BSD 3-Clause "New" or "Revised" License
20.8k stars 844 forks source link

Widevine no longer works #3080

Open RobusK opened 2 weeks ago

RobusK commented 2 weeks ago

OS/Platform

macOS

Installed

Other (please use 'Additional context' field below to mention how exactly)

Version

Version 130.0.6723.69 (Official Build, ungoogled-chromium) (arm64)

Have you tested that this is not an upstream issue or an issue with your configuration?

Description

Widevine streams no longer work

How to Reproduce?

  1. Install widevine:
    wget -c https://dl.google.com/chrome/mac/universal/stable/GGRO/googlechrome.dmg
    hdiutil mount googlechrome.dmg
    cp -R /Volumes/Google\ Chrome/Google\ Chrome.app/Contents/Frameworks/Google\ Chrome\ Framework.framework/Libraries/WidevineCdm /Applications/Chromium.app/Contents/Frameworks/Chromium\ Framework.framework/Libraries/WidevineCdm
    hdiutil unmount /Volumes/Google\ Chrome
    rm googlechrome.dmg
  2. Go to https://bitmovin.com/demos/drm

Actual behaviour

"The MediaKey object could not be created/initialized (DRM_MEDIA_KEY_INITIALIZATION_FAILED)"

Expected behaviour

Stream works

Relevant log output

[25849:259:1103/024844.951550:ERROR:cdm_module.cc(115)] Error: dlopen(/Applications/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Versions/130.0.6723.69/Libraries/WidevineCdm/_platform_specific/mac_arm64/libwidevinecdm.dylib, 0x0001): tried: '/Applications/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Versions/130.0.6723.69/Libraries/WidevineCdm/_platform_specific/mac_arm64/libwidevinecdm.dylib' (code signature in <4C4C44E5-5555-3144-A15E-9CF13BC16D64> '/Applications/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Versions/130.0.6723.69/Libraries/WidevineCdm/_platform_specific/mac_arm64/libwidevinecdm.dylib' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs), '/System/Volumes/Preboot/Cryptexes/OS/Applications/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Versions/130.0.6723.69/Libraries/WidevineCdm/_platform_specific/mac_arm64/libwidevinecdm.dylib' (no such file), '/Applications/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Versions/130.0.6723.69/Libraries/WidevineCdm/_platform_specific/mac_arm64/libwidevinecdm.dylib' (code signature in <4C4C44E5-5555-3144-A15E-9CF13BC16D64> '/Applications/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Versions/130.0.6723.69/Libraries/WidevineCdm/_platform_specific/mac_arm64/libwidevinecdm.dylib' not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs)

Additional context

installed via brew - https://formulae.brew.sh/cask/eloston-chromium#default

alienbob commented 1 week ago

For your information: Ungoogled Chromium 130.0.6723.91 with version 4.10.2830.0 of the Widevine plugin works for me. The aforementioned page states "Detected [chromium icon] , using widevine" and the video plays. This is on Slackware64-current (AMD64 platform) using the natively compiled package of chromium-ungoogled.

RobusK commented 1 week ago

As far as I can tell, the issue seems to be specific to the way MacOS apps are signed. Excerpt from the log:

not valid for use in process: mapping process and mapped file (non-platform) have different Team IDs)
RobusK commented 1 week ago

Meanwhile, a very non-ideal workaround:

wget -c https://dl.google.com/chrome/mac/universal/stable/GGRO/googlechrome.dmg -O /tmp/googlechrome.dmg
hdiutil mount /tmp/googlechrome.dmg
cp -R /Volumes/Google\ Chrome/Google\ Chrome.app/Contents/Frameworks/Google\ Chrome\ Framework.framework/Libraries/WidevineCdm /Applications/Chromium.app/Contents/Frameworks/Chromium\ Framework.framework/Libraries/WidevineCdm
hdiutil unmount /Volumes/Google\ Chrome
rm /tmp/googlechrome.dmg
xattr -cr /Applications/Chromium.app
codesign --force --deep -s - /Applications/Chromium.app
rmdhnreza commented 1 week ago

Meanwhile, a very non-ideal workaround:

wget -c https://dl.google.com/chrome/mac/universal/stable/GGRO/googlechrome.dmg -O /tmp/googlechrome.dmg
hdiutil mount /tmp/googlechrome.dmg
cp -R /Volumes/Google\ Chrome/Google\ Chrome.app/Contents/Frameworks/Google\ Chrome\ Framework.framework/Libraries/WidevineCdm /Applications/Chromium.app/Contents/Frameworks/Chromium\ Framework.framework/Libraries/WidevineCdm
hdiutil unmount /Volumes/Google\ Chrome
rm /tmp/googlechrome.dmg
xattr -cr /Applications/Chromium.app
codesign --force --deep -s - /Applications/Chromium.app

This command works on Bitmovin's DRM demo, but it still results in a license error on the Spotify web player.

Spotify web player
networkException commented 1 week ago

Spotify isn't expected to work, they have DRM requirements we cannot meet