RobRich999 / Chromium_Clang

Chromium browser compiled with the Clang/LLVM compiler.
157 stars 10 forks source link

Widevine Fix! #24

Closed Alex313031 closed 2 years ago

Alex313031 commented 2 years ago

As you have opted for widevine gladly so, and it says so on your Github and chromium.woolyss.com, but it does not work!! I am building almost identical to you except without polly and with H.265 support for both windows and linux! Make sure these are in your args.gn >

enable_media_drm_storage = true enable_widevine = true bundle_widevine_cdm = false

The first allows certain sites like amazon prime that also use DRM storage with widevine, the second line I assume you're already using, but the last line is the critical one. This defaults to true and tries to bake in a signed widevine as a shared library (linux) or hard set version in WidevineCDM in the windows install dir. This will fail for both. Setting it to false enables it as a component (you can view this by going to chrome://components, where widevine would be [it's not on your builds]). When enabled as a component it is instead downloaded to the user profile directory and uses unsigned tip-o-tree widevine binaries. An added benefit is that it can be updated with all the other stateful user profile components i.e. Zxcvbn, Origin Trials, FLOC, etc.

Widevine didn't work for me until I ran args.gn --list and searched for anything with the term media,drm,widevine, read their descriptions, and viola this is how you get Widvine working reliably on linux and windows. There was also a ticket a lil while ago in chromium source code to default bundle_widevine_cdm to false except in the case of is_chrome_branded = true (google chrome). Hope this helps and I hope it works for your workflow (there shouldn't be any problems)

As a side note (and on linux builds only), you might also want to set > enable_ffmpeg_video_decoders = true This allows a fallback path for hardware acceleration for H.264 in the case that VAAPI can't work (i.e. nvidia proprietary drivers; there is a VAAPI to VDPAU translation driver that worked until chromium 89, but now VAAPI accel seems impossible to run on linux with the proprietary nvidia drivers installed. AMDGPU, i915, i965, and nouveau work fine and chromium will use VAAPI for all supported media codecs, this is just a fallback that I find useful on my nvidia/debian 10 machine, and a sizable portion of your user base may as well.

RobRich999 commented 2 years ago

I will check and update my args. I do not use Widevine in Chromium, especially on Linux, so I rarely keep tabs on it. The only reason any Widevine flags are set in my builds is because I get tired of people asking about adding it. ;)

Thanks!

Alex313031 commented 2 years ago

Updated comment I meant that the ticket proposed defaulting it to FALSE for anything besides actual google chrome. Also I threw a paper wad across the classroom and it landed in your issues; hope it's not annoying cuz part of it's off topic but