Solved Widevine under ungoogled-chromium

tl;dr : I cannot make it work.

What I did:
  • install linux-c7;
  • sysrc linux_enable="YES";
  • start linux service;
  • install foreign-cdm;
  • build and install linux-widevine-cdm;
  • start the broweser and test a DRM enabled video.
What am I missing?

primevideo doesn't work too but I don't know if it's related.
 
primevideo doesn't work too but I don't know if it's related.
As far as I know Amazon Prime uses Widevine DRM too, just like Netflix, Hulu, Disney+ and a bunch of other streaming services.
 
That is expected, ungoogled-chromium and chromium does not share the same share directory.
linux-widevine-cdm installed the following directory /usr/local/share/chromium/WidevineCdm.
You will need to symlink it into the share directory of ungoogled-chromium.
 
That is expected, ungoogled-chromium and chromium does not share the same share directory.
linux-widevine-cdm installed the following directory /usr/local/share/chromium/WidevineCdm.
You will need to symlink it into the share directory of ungoogled-chromium.
Well, not exactly:
Code:
[19:11][fmc000@tu45b-freebsd][~]
 ⤷ $ pkg list linux-widevine-cdm
/usr/local/lib/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
/usr/local/lib/WidevineCdm/manifest.json
/usr/local/share/licenses/linux-widevine-cdm-4.10.2710.0/LICENSE
/usr/local/share/licenses/linux-widevine-cdm-4.10.2710.0/Proprietary
/usr/local/share/licenses/linux-widevine-cdm-4.10.2710.0/catalog.mk
[19:11][fmc000@tu45b-freebsd][~]
 ⤷ $
and I tried the symlink trick
Code:
[19:13][fmc000@tu45b-freebsd][~]
 ⤷ $ ls -l /usr/local/share/ungoogled-chromium/libwidevinecdm.so
lrwxr-xr-x  1 root wheel 73 Jul 31 12:12 /usr/local/share/ungoogled-chromium/libwidevinecdm.so -> /usr/local/lib/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
[19:13][fmc000@tu45b-freebsd][~]
 ⤷ $
but it still doesn't work.

Actually I noted this:

Code:
[19:19][fmc000@tu45b-freebsd][/usr/local/share/ungoogled-chromium]
 ⤷ $ file *so
libEGL.so:            ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, BuildID[sha1]=2a432a61bd22cadc0facb402e099c19b7b537360, stripped
libGLESv2.so:         ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, BuildID[sha1]=a0eca74e22d392b0ade4441ec0b374a8ae0c1b52, stripped
libVkICD_mock_icd.so: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, BuildID[sha1]=02bf9c720c457cc83d973d01694856d3605b604b, stripped
libvk_swiftshader.so: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, BuildID[sha1]=2d45f8b367b780d2a55945d38fd80be76919787a, stripped
libvulkan.so:         ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, BuildID[sha1]=d80db5bb9074571a289849cdfd1004b9bf66fc9b, stripped
libwidevinecdm.so:    symbolic link to /usr/local/lib/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
[19:19][fmc000@tu45b-freebsd][/usr/local/share/ungoogled-chromium]
 ⤷ $ file /usr/local/lib/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
/usr/local/lib/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5febf487d3c5f52f4db4764b983a88dbfbdc8804, stripped
[19:20][fmc000@tu45b-freebsd][/usr/local/share/ungoogled-chromium]
 ⤷ $

Can this be the problem? I admit that I'm still very new to FreeBSD...
 
OK, so I tried:

Code:
 ⤷ $ file /usr/local/share/ungoogled-chromium/WidevineCdm
/usr/local/share/ungoogled-chromium/WidevineCdm: symbolic link to ../chromium/WidevineCdm/
[19:38][fmc000@tu45b-freebsd][/usr/local/share/ungoogled-chromium]
 ⤷ $
and also:
Code:
 ⤷ $ file /usr/local/share/ungoogled-chromium/WidevineCdm
/usr/local/share/ungoogled-chromium/WidevineCdm: symbolic link to /usr/local/lib/WidevineCdm
[19:41][fmc000@tu45b-freebsd][~]
 ⤷ $

but it still doesn't work.

[BTW - many thanks for your help - much appreciated]
 
Have you enabled protected content ?
chrome://settings/content/protectedContent
and restarted multiple time ungoogled-chromium ?
Is there a WidevineCdm directory under $HOME/.config/ungoogled-chromium ?
What is the content of the file under it named latest-component-updated-widevine-cdm ?
 
Have you enabled protected content ?
chrome://settings/content/protectedContent
Yes
and restarted multiple time ungoogled-chromium ?
Yes (even logout and reboot)
Is there a WidevineCdm directory under $HOME/.config/ungoogled-chromium ?
Yes
What is the content of the file under it named latest-component-updated-widevine-cdm ?
Code:
{"Path":"/usr/local/share/chromium/WidevineCdm"}
 
when you try to launch a drm video, does running jls report something ?
Also what is the output of: ls -l /usr/local/libexec/fcdm-jail.
 
Well, well, well, look at that:

Screenshot_2024-07-31_21-21-03.png


And what did I do? Absolutely NOTHING! It started working by itself with no reason whatsoever :oops: And not only that:

Screenshot_2024-07-31_21-23-17.png


even Prime Video works now. I wish I could say it was I who fixed it.

Anyways, thanks to eveyone that helped me, much appreciated. I'm marking this thread as SOLVED.
 
Code:
Yes Master ? ls -l ~/.config/chromium/WidevineCdm
total 1
-rw-------  1 djwilcox djwilcox 48 31 Jul 19:42 latest-component-updated-widevine-cdm
[

Code:
{"Path":"/usr/local/share/chromium/WidevineCdm"}

when you play a drm video with chromium it creates these 2 directories
in the XDG_RUNTIME_DIR

Code:
Yes Master ? su
Password:
# ls -l /var/run/xdg/djwilcox/
total 7
dr-xr-xr-x  11 djwilcox djwilcox 704 31 Jul 20:24 .fcdm-jail
-r--r--r--   1 djwilcox djwilcox   0 31 Jul 19:07 .fcdm-lock

on Freebsd 14.1 the XDG_RUNTIME_DIR is created here

Code:
/var/run/xdg/username/

where username is your username
and the XDG_RUNTIME_DIR is exported so you dont exported in your shell config

Code:
printenv

Code:
XDG_RUNTIME_DIR=/var/run/xdg/djwilcox
 
Back
Top