diff -up chromium-89.0.4389.72/chrome/common/chrome_paths.cc.widevine-other-locations chromium-89.0.4389.72/chrome/common/chrome_paths.cc --- chromium-89.0.4389.72/chrome/common/chrome_paths.cc.widevine-other-locations 2021-03-04 12:04:50.005010200 -0500 +++ chromium-89.0.4389.72/chrome/common/chrome_paths.cc 2021-03-04 12:38:54.650855614 -0500 @@ -339,6 +339,16 @@ bool PathProvider(int key, base::FilePat #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ BUILDFLAG(BUNDLE_WIDEVINE_CDM) case chrome::DIR_BUNDLED_WIDEVINE_CDM: + base::PathService::Get(base::DIR_HOME, &cur); + cur = cur.Append(FILE_PATH_LITERAL(".local/lib/libwidevinecdm.so")); + if (base::PathExists(cur)) { + break; + } + // Yes, this has an arch hardcoded in the path, but at this time, it is the only place to find libwidevinecdm.so + if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))) { + cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")); + break; + } if (!GetComponentDirectory(&cur)) return false; #if !BUILDFLAG(IS_CHROMEOS_ASH)