From e4a484c061351f84f223342c4888f38d5f27a271 Mon Sep 17 00:00:00 2001 From: theofficialgman <28281419+theofficialgman@users.noreply.github.com> Date: Sat, 18 Nov 2023 12:00:53 -0500 Subject: [PATCH] MuseScore: add pagesize check closes https://github.com/Botspot/pi-apps/issues/2480 --- apps/MuseScore/install | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/apps/MuseScore/install b/apps/MuseScore/install index 0053ffb041..68bf3e0917 100755 --- a/apps/MuseScore/install +++ b/apps/MuseScore/install @@ -8,6 +8,28 @@ else error "Failed to detect OS CPU architecture! Something is very wrong." fi +PAGE_SIZE="$(getconf PAGE_SIZE)" +if [[ "$PAGE_SIZE" == "16384" ]]; then + #switch to 4K pagesize kernel + if [ -f /boot/config.txt ]; then + text="Raspberry Pi 5 PiOS images ship by default with a 16K PageSize Linux Kernel. +This kernel causes incompatibilities with some software including MuseScore https://github.com/raspberrypi/bookworm-feedback/issues/107 + +Would you like to automatically switch to a 4K PageSize Linux Kernel?" + userinput_func "$text" "No, keep 16K PageSize Kernel and Exit" "Yes, switch to 4K PageSize Kernel" + if [ "$output" == "No, keep 16K PageSize Kernel and Exit" ]; then + error "User error: Your current running kernel is built with 16K PageSize and is incompatible with MuseScore. You must switch to a 4K PageSize kernel (and chose to not do so automatically) before installing MuseScore." + fi + echo "" | sudo tee --append /boot/config.txt >/dev/null + echo "[pi5]" | sudo tee --append /boot/config.txt >/dev/null + echo "kernel=kernel8.img" | sudo tee --append /boot/config.txt >/dev/null + echo -e "The 4K PageSize Kernel has been enabled by adding 'kernel=kernel8.img' to /boot/config.txt\nPlease reboot now and install the MuseScore app again." + sleep infinity + else + error "User error (reporting allowed): Your current running kernel is built with 16K PageSize and is incompatible with MuseScore. Changing kernels automatically cannot be done since no /boot/config.txt file was found." + fi +fi + if package_installed musescore ;then status "First removing musescore package with APT..." sudo apt purge musescore -y --autoremove || exit 1