Building and testing the libc6 package with the first patch is now complete.
Going to tackle the second patch now!
Unfortunately, Discourse doesn’t allow editing the above table any longer. So here’s my current status:
Update 2023-11-13
- SHT_RELR/DT_RELR patch: done
- TLS alignment patch: done
- Preliminary tests on Firefox: done
- Fix issues on Firefox: done
- arm/unsubmitted-ldconfig-cache-abi.diff rollback: done (rollback not needed)
- Final tests on Firefox: done
- Fix outstanding issues: done
- Create (non-free) Debian package
libwidevinecdm: pending - Confirm that apt still picks up incoming Byzantium security updates to glibc, auto-removing
libwidevinecdmif necessary: pending - Publish Debian packages for patched glibc: pending
- Publish (non-free) Debian package
libwidevinecdm: pending
Status of preliminary tests in Firefox (as of 2023-11-13)
Bitmovin DRM Stream Test
Passing ![]()
According to the test page, my browser supports Encrypted Media Extension (EME) with Widevine.
castLabs PRESTOplay Demo
Passing ![]()
Plays back the protected MPEG-DASH demo video (multi-key DRM) on castLabs flawlessly.
Spotify Web player
Passing ![]()
Notes:
-
I needed to set my
User-Agentto a known mobile browser, such as Safari on an iPhone. Failure to do so caused the web player to load its desktop view, causing infinite redirects. -
The mobile view of the web player has a notably minimal feature set.
Expect bullying nag screens blocking you from accessing your library (because you’re supposed to use the mobile app.)
To access e.g. my playlists, my workaround is to scroll down the start page until it shows me a couple of my playlists, then flick horizontally until I find the one I want.
DAZN
Passing ![]()
Note: To get past the bouncer, your User-Agent needs to resemble a recent desktop browser (not mobile). As of 2023-11, Byzantium’s firefox-esr version is passing that sniff test without needing any modifications.
Thanks to @Emma for the suggestion!
NOW (aka WOW in German-speaking countries)
Failing ![]()
The stream appears to be loading but then it bails with the error code:
VSF:SHAKA_ERROR__DRM6007.MAIN_CONTENT
This is the exact same error message that I’m getting without the plugin.
The Network view in Developer Tools shows a POST request to an https://p.sky.com/drm/widevine/acquirelicense endpoint which fails with status 400. The request payload appears to be some binary blob (possibly a Protocol Buffers payload?) coming from the Widevine CDM. The blob contains fragments like:
arm64next toarchitecture_nameGooglenext tocompany_nameChromeCDMnext tomodel_nameChromeOSnext toplatform_name- and
4.10.2557.02next towidevine_cdm_version.
The response payload alongside the 400 status reads:
{"errorCode":"OVP_00014","description":"Unsupported browser/client"}
Next step: Take another device that works well, inspect the request payload for the acquireLicense endpoint there, and compare it to the bad request payload. Try to figure out values that the endpoint likes to hear.