Blob Blame History Raw
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)