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