pi-apps icon indicating copy to clipboard operation
pi-apps copied to clipboard

Better Chromium: install Raspberry Pi Foundation chromium on rpi Ubuntu

Open theofficialgman opened this issue 6 months ago • 3 comments

suggestion from https://github.com/Botspot/pi-apps/issues/2528 closes https://github.com/Botspot/pi-apps/issues/2528

see https://github.com/Pi-Apps-Coders/chromium-debs for the repo that re-hosts the rpi debs

theofficialgman avatar Jan 15 '24 23:01 theofficialgman

~~known issues: this triggers the frankendebian check~~ see latest commits

theofficialgman avatar Jan 16 '24 00:01 theofficialgman

Also I am fairly sure that for widevine to show up at all on ubuntu, this logic needs to be changed to display the widevine option for the chromium package.

#detect if Widevine is enabled
if [ -d /opt/WidevineCdm ];then
  widevine=TRUE
else
  widevine=FALSE
fi
#detect if Widevine can be enabled
if package_available libwidevinecdm0 && package_installed chromium-browser;then
  widevine_possible=TRUE
  widevine_message=(--field="Enable Widevine DRM (for Netflix, Spotify)":CHK "$widevine")
else
  widevine_possible=FALSE
  widevine_message=()
fi

Botspot avatar Jan 16 '24 06:01 Botspot

Also I am fairly sure that for widevine to show up at all on ubuntu, this logic needs to be changed to display the widevine option for the chromium package.

#detect if Widevine is enabled
if [ -d /opt/WidevineCdm ];then
  widevine=TRUE
else
  widevine=FALSE
fi
#detect if Widevine can be enabled
if package_available libwidevinecdm0 && package_installed chromium-browser;then
  widevine_possible=TRUE
  widevine_message=(--field="Enable Widevine DRM (for Netflix, Spotify)":CHK "$widevine")
else
  widevine_possible=FALSE
  widevine_message=()
fi

Nope. The logic is good and working since the piOS libwidevinecdm0 and chromium-browser packages are used. See the apt repo.

There is no such chromium package on any version of ubuntu. Only vanilla debian has a chromium package and there would likely never be a time when chromium-browser was unavailable and libwidevinecdm0 available. Additionally, vanilla chromium would not be able to benefit from libwidevinecdm0 since that package places widevine in a non-standard /opt folder that vanilla chromium does not look for when attempting to load widevine. The final nail in vanilla debian chromium is that it should not even attempt to look for widevine on arm64 at all (needs an additional patch), that is only added in piOS chromium-browser and ubuntu chromium-browser (snap and bionic deb) thanks to my request https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2008433

theofficialgman avatar Jan 16 '24 13:01 theofficialgman

Nope. The logic is good and working since the piOS libwidevinecdm0 and chromium-browser packages are used. See the apt repo.

It appeared to me that the chromium package was to be used on ubuntu, as seen in this code snippet:

# Ubuntu must be 22.10+ (GLIBC 2.36+) to be compatible with widevine
  if printf '%s\n' "22.10" "$__os_release" | sort -CV; then
    echo 'Package: chromium*
Pin: release o=Pi-Apps-Coders chromium-debs
Pin-Priority: 1000
Package: libwidevinecdm0
Pin: release o=Pi-Apps-Coders chromium-debs
Pin-Priority: 500
Package: chromium*
Pin: release o=Ubuntu*
Pin-Priority: -1' | sudo tee /etc/apt/preferences.d/chromium >/dev/null

But now I see your wildcard character * which explains everything. Is there a reason you did not specify chromium-browser* instead?

Botspot avatar Jan 16 '24 17:01 Botspot

But now I see your wildcard character * which explains everything. Is there a reason you did not specify chromium-browser* instead?

Yes. There are other packages that need to be included. Refer to the apt repo https://github.com/Pi-Apps-Coders/chromium-debs/releases/tag/apt-release

theofficialgman avatar Jan 16 '24 17:01 theofficialgman

chromium-* then?

Botspot avatar Jan 16 '24 17:01 Botspot

Also, surely you have ruled out the option for directly using the https://archive.raspberrypi.com/debian/ repo on ubuntu but restricting it to only offer the chromium packages, right?

Botspot avatar Jan 16 '24 17:01 Botspot

Also, surely you have ruled out the option for directly using the https://archive.raspberrypi.com/debian/ repo on ubuntu but restricting it to only offer the chromium packages, right?

@Botspot yes, that was previously done, see https://github.com/Botspot/pi-apps/pull/2529/commits/92a7aadeda55db505ac04c4ff999a6abb359b3d5 . I ruled it too dangerous if the user happened to remove the pin they could end up with a broken system. It also triggers the frankendebian check so that is another problem with using it.

theofficialgman avatar Jan 16 '24 20:01 theofficialgman

chromium-* then?

yeah that is fine as well. The pi-apps-coders chromium-debs apt repos contents are fixed so the exact pin format does not really matter. https://github.com/Pi-Apps-Coders/chromium-debs/blob/3845b4f2785e8058ea2e12f06f14e2bcb5f1ac9f/download-chromium.sh#L3-L11

theofficialgman avatar Jan 16 '24 20:01 theofficialgman

I have tested every iteration of this. I think it is all working as intended and suggested here https://github.com/Botspot/pi-apps/issues/2528#issuecomment-1894625374

theofficialgman avatar Jan 17 '24 00:01 theofficialgman

@Botspot is anything else needed here?

theofficialgman avatar Jan 19 '24 21:01 theofficialgman

Looks good. Merge at will.

Botspot avatar Jan 19 '24 21:01 Botspot