From 8a86dc834d05df83c756a61268d29d4e9c789520 Mon Sep 17 00:00:00 2001 From: TheBitStick Date: Sun, 4 Aug 2019 21:47:39 -0500 Subject: [PATCH 1/4] Non-Ubuntu Distro Accessibility and Formatting - Fixes for #251 not working on distro without update-rc.d (non-Ubuntu) - Newline formatting is not default on Fedora/RHEL, so adding `-e` beautifies output - Checks for Ubuntu before even asking user to install Ubuntu packages --- setup.sh | 133 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 72 insertions(+), 61 deletions(-) diff --git a/setup.sh b/setup.sh index b4ddfe72d208..d3bb5ba70930 100644 --- a/setup.sh +++ b/setup.sh @@ -25,157 +25,159 @@ fi SUR_MODEL="$(dmidecode | grep "Product Name" -m 1 | xargs | sed -e 's/Product Name: //g')" SUR_SKU="$(dmidecode | grep "SKU Number" -m 1 | xargs | sed -e 's/SKU Number: //g')" -echo "\nRunning $LX_BASE version $LX_VERSION on a $SUR_MODEL.\n" +echo -e "\nRunning $LX_BASE version $LX_VERSION on a $SUR_MODEL.\n" read -rp "Press enter if this is correct, or CTRL-C to cancel." cont;echo -echo "\nContinuing setup...\n" +echo -e "\nContinuing setup...\n" -echo "Copying the config files under root to where they belong...\n" +echo -e "Copying the config files under root to where they belong...\n" for dir in $(ls root/); do cp -Rb root/$dir/* /$dir/; done -echo "Making /lib/systemd/system-sleep/sleep executable...\n" +echo -e "Making /lib/systemd/system-sleep/sleep executable...\n" chmod a+x /lib/systemd/system-sleep/sleep -echo "Suspend is recommended over hibernate. If you chose to use hibernate, please make sure you've setup your swap file per the instructions in the README.\n" +echo -e "Suspend is recommended over hibernate. If you chose to use hibernate, please make sure you've setup your swap file per the instructions in the README.\n" read -rp "Do you want to replace suspend with hibernate? (type yes or no) " usehibernate;echo if [ "$usehibernate" = "yes" ]; then if [ "$LX_BASE" = "ubuntu" ] && [ 1 -eq "$(echo "${LX_VERSION} >= 17.10" | bc)" ]; then - echo "Using Hibernate instead of Suspend...\n" + echo -e "Using Hibernate instead of Suspend...\n" ln -sfb /lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target && sudo ln -sfb /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service else - echo "Using Hibernate instead of Suspend...\n" + echo -e "Using Hibernate instead of Suspend...\n" ln -sfb /usr/lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target && sudo ln -sfb /usr/lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service fi else - echo "Not touching Suspend\n" + echo -e "Not touching Suspend\n" fi -echo "Patched libwacom packages are available to better support the pen. If you intend to use the pen, it's recommended that you install them!\n" +if [ "$LX_BASE" = "ubuntu" ]; then + echo -e "Patched libwacom packages are available to better support the pen. If you intend to use the pen, it's recommended that you install them!\n" -read -rp "Do you want to install the patched libwacom packages? (type yes or no) " uselibwacom;echo + read -rp "Do you want to install the patched libwacom packages? (type yes or no) " uselibwacom;echo -if [ "$uselibwacom" = "yes" ]; then - echo "Installing patched libwacom packages..." - dpkg -i packages/libwacom/*.deb - apt-mark hold libwacom -else - echo "Not touching libwacom" + if [ "$uselibwacom" = "yes" ]; then + echo -e "Installing patched libwacom packages..." + dpkg -i packages/libwacom/*.deb + apt-mark hold libwacom + else + echo -e "Not touching libwacom" + fi fi -echo "This repo comes with example xorg and pulse audio configs. If you chose to keep them, be sure to rename them and uncomment out what you'd like to keep!\n" +echo -e "This repo comes with example xorg and pulse audio configs. If you chose to keep them, be sure to rename them and uncomment out what you'd like to keep!\n" read -rp "Do you want to remove the example intel xorg config? (type yes or no) " removexorg;echo if [ "$removexorg" = "yes" ]; then - echo "Removing the example intel xorg config..." + echo -e "Removing the example intel xorg config..." rm /etc/X11/xorg.conf.d/20-intel_example.conf else - echo "Not touching example intel xorg config (/etc/X11/xorg.conf.d/20-intel_example.conf)" + echo -e "Not touching example intel xorg config (/etc/X11/xorg.conf.d/20-intel_example.conf)" fi read -rp "Do you want to remove the example pulse audio config files? (type yes or no) " removepulse;echo if [ "$removepulse" = "yes" ]; then - echo "Removing the example pulse audio config files..." + echo -e "Removing the example pulse audio config files..." rm /etc/pulse/daemon_example.conf rm /etc/pulse/default_example.pa else - echo "Not touching example pulse audio config files (/etc/pulse/*_example.*)" + echo -e "Not touching example pulse audio config files (/etc/pulse/*_example.*)" fi if [ "$SUR_MODEL" = "Surface Pro 3" ]; then - echo "\nInstalling i915 firmware for Surface Pro 3...\n" + echo -e "\nInstalling i915 firmware for Surface Pro 3...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_bxt.zip -d /lib/firmware/i915/ - echo "\nRemove unneeded udev rules for Surface Pro 3...\n" + echo -e "\nRemove unneeded udev rules for Surface Pro 3...\n" rm /etc/udev/rules.d/98-keyboardscovers.rules fi if [ "$SUR_MODEL" = "Surface Pro" ]; then - echo "\nInstalling IPTS firmware for Surface Pro 2017...\n" + echo -e "\nInstalling IPTS firmware for Surface Pro 2017...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v102.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Pro 2017...\n" + echo -e "\nInstalling i915 firmware for Surface Pro 2017...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_kbl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Pro 4" ]; then - echo "\nInstalling IPTS firmware for Surface Pro 4...\n" + echo -e "\nInstalling IPTS firmware for Surface Pro 4...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v78.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Pro 4...\n" + echo -e "\nInstalling i915 firmware for Surface Pro 4...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_skl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Pro 2017" ]; then - echo "\nInstalling IPTS firmware for Surface Pro 2017...\n" + echo -e "\nInstalling IPTS firmware for Surface Pro 2017...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v102.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Pro 2017...\n" + echo -e "\nInstalling i915 firmware for Surface Pro 2017...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_kbl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Pro 6" ]; then - echo "\nInstalling IPTS firmware for Surface Pro 6...\n" + echo -e "\nInstalling IPTS firmware for Surface Pro 6...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v102.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Pro 6...\n" + echo -e "\nInstalling i915 firmware for Surface Pro 6...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_kbl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Studio" ]; then - echo "\nInstalling IPTS firmware for Surface Studio...\n" + echo -e "\nInstalling IPTS firmware for Surface Studio...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v76.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Studio...\n" + echo -e "\nInstalling i915 firmware for Surface Studio...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_skl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Laptop" ]; then - echo "\nInstalling IPTS firmware for Surface Laptop...\n" + echo -e "\nInstalling IPTS firmware for Surface Laptop...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v79.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Laptop...\n" + echo -e "\nInstalling i915 firmware for Surface Laptop...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_kbl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Laptop 2" ]; then - echo "\nInstalling IPTS firmware for Surface Laptop 2...\n" + echo -e "\nInstalling IPTS firmware for Surface Laptop 2...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v79.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Laptop 2...\n" + echo -e "\nInstalling i915 firmware for Surface Laptop 2...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_kbl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Book" ]; then - echo "\nInstalling IPTS firmware for Surface Book...\n" + echo -e "\nInstalling IPTS firmware for Surface Book...\n" mkdir -p /lib/firmware/intel/ipts unzip -o firmware/ipts_firmware_v76.zip -d /lib/firmware/intel/ipts/ - echo "\nInstalling i915 firmware for Surface Book...\n" + echo -e "\nInstalling i915 firmware for Surface Book...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_skl.zip -d /lib/firmware/i915/ fi if [ "$SUR_MODEL" = "Surface Book 2" ]; then - echo "\nInstalling IPTS firmware for Surface Book 2...\n" + echo -e "\nInstalling IPTS firmware for Surface Book 2...\n" mkdir -p /lib/firmware/intel/ipts if [ "$SUR_SKU" = "Surface_Book_1793" ]; then unzip -o firmware/ipts_firmware_v101.zip -d /lib/firmware/intel/ipts/ @@ -183,11 +185,11 @@ if [ "$SUR_MODEL" = "Surface Book 2" ]; then unzip -o firmware/ipts_firmware_v137.zip -d /lib/firmware/intel/ipts/ fi - echo "\nInstalling i915 firmware for Surface Book 2...\n" + echo -e "\nInstalling i915 firmware for Surface Book 2...\n" mkdir -p /lib/firmware/i915 unzip -o firmware/i915_firmware_kbl.zip -d /lib/firmware/i915/ - echo "\nInstalling nvidia firmware for Surface Book 2...\n" + echo -e "\nInstalling nvidia firmware for Surface Book 2...\n" mkdir -p /lib/firmware/nvidia/gp108 unzip -o firmware/nvidia_firmware_gp108.zip -d /lib/firmware/nvidia/gp108/ mkdir -p /lib/firmware/nvidia/gv100 @@ -195,52 +197,61 @@ if [ "$SUR_MODEL" = "Surface Book 2" ]; then fi if [ "$SUR_MODEL" = "Surface Go" ]; then - echo "\nInstalling ath10k firmware for Surface Go...\n" + echo -e "\nInstalling ath10k firmware for Surface Go...\n" mkdir -p /lib/firmware/ath10k unzip -o firmware/ath10k_firmware.zip -d /lib/firmware/ath10k/ if [ ! -f "/etc/init.d/surfacego-touchscreen" ]; then - echo "\nPatching power control for Surface Go touchscreen...\n" - echo "echo \"on\" > /sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/power/control" > /etc/init.d/surfacego-touchscreen + echo -e "\nPatching power control for Surface Go touchscreen...\n" + echo -e "#!/bin/sh" >> /etc/init.d/surfacego-touchscreen + echo -e "\n# chkconfig: 345 99 01" >> /etc/init.d/surfacego-touchscreen + echo -e "\n# description: Surface Go Touchscreen Fix" >> /etc/init.d/surfacego-touchscreen + echo -e "\necho \"on\" > /sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/power/control" >> /etc/init.d/surfacego-touchscreen chmod 755 /etc/init.d/surfacego-touchscreen - update-rc.d surfacego-touchscreen defaults + if [ "$LX_BASE" = "ubuntu" ]; then + update-rc.d surfacego-touchscreen defaults + else + systemctl enable surfacego-touchscreen + fi fi fi -echo "Installing marvell firmware...\n" +echo -e "Installing marvell firmware...\n" mkdir -p /lib/firmware/mrvl/ unzip -o firmware/mrvl_firmware.zip -d /lib/firmware/mrvl/ -echo "Installing mwlwifi firmware...\n" +echo -e "Installing mwlwifi firmware...\n" mkdir -p /lib/firmware/mwlwifi/ unzip -o firmware/mwlwifi_firmware.zip -d /lib/firmware/mwlwifi/ read -rp "Do you want to set your clock to local time instead of UTC? This fixes issues when dual booting with Windows. (type yes or no) " uselocaltime;echo if [ "$uselocaltime" = "yes" ]; then - echo "Setting clock to local time...\n" + echo -e "Setting clock to local time...\n" timedatectl set-local-rtc 1 hwclock --systohc --localtime else - echo "Not setting clock" + echo -e "Not setting clock" fi -read -rp "Do you want this script to download and install the latest kernel for you? (type yes or no) " autoinstallkernel;echo +if [ "$LX_BASE" = "ubuntu" ]; then + read -rp "Do you want this script to download and install the latest kernel for you? (type yes or no) " autoinstallkernel;echo -if [ "$autoinstallkernel" = "yes" ]; then - echo "Downloading latest kernel...\n" + if [ "$autoinstallkernel" = "yes" ]; then + echo -e "Downloading latest kernel...\n" - urls=$(curl --silent "https://api.github.com/repos/jakeday/linux-surface/releases/latest" | tr ',' '\n' | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/') + urls=$(curl --silent "https://api.github.com/repos/jakeday/linux-surface/releases/latest" | tr ',' '\n' | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/') - resp=$(wget -P tmp $urls) + resp=$(wget -P tmp $urls) - echo "Installing latest kernel...\n" + echo -e "Installing latest kernel...\n" - dpkg -i tmp/*.deb - rm -rf tmp -else - echo "Not downloading latest kernel" + dpkg -i tmp/*.deb + rm -rf tmp + else + echo -e "Not downloading latest kernel" + fi fi -echo "\nAll done! Please reboot." +echo -e "\nAll done! Please reboot." From 0f8e2a092e79f59e6f09302ec01a909d4d46abf6 Mon Sep 17 00:00:00 2001 From: TheBitStick Date: Wed, 7 Aug 2019 02:24:04 -0500 Subject: [PATCH 2/4] Incorporated #538 and Fixed Formatting Even More --- setup.sh | 68 +++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 52 insertions(+), 16 deletions(-) diff --git a/setup.sh b/setup.sh index d3bb5ba70930..e80c885d5952 100644 --- a/setup.sh +++ b/setup.sh @@ -25,16 +25,16 @@ fi SUR_MODEL="$(dmidecode | grep "Product Name" -m 1 | xargs | sed -e 's/Product Name: //g')" SUR_SKU="$(dmidecode | grep "SKU Number" -m 1 | xargs | sed -e 's/SKU Number: //g')" -echo -e "\nRunning $LX_BASE version $LX_VERSION on a $SUR_MODEL.\n" +echo -e "\nRunning ${LX_BASE^} version $LX_VERSION on a $SUR_MODEL." -read -rp "Press enter if this is correct, or CTRL-C to cancel." cont;echo +read -rp "Press enter if this is correct, or CTRL-C to cancel. " cont;echo -echo -e "\nContinuing setup...\n" +echo -e "Continuing setup...\n" -echo -e "Copying the config files under root to where they belong...\n" +echo -e "Copying the config files under root to where they belong..." for dir in $(ls root/); do cp -Rb root/$dir/* /$dir/; done -echo -e "Making /lib/systemd/system-sleep/sleep executable...\n" +echo -e "\nMaking /lib/systemd/system-sleep/sleep executable...\n" chmod a+x /lib/systemd/system-sleep/sleep echo -e "Suspend is recommended over hibernate. If you chose to use hibernate, please make sure you've setup your swap file per the instructions in the README.\n" @@ -52,31 +52,52 @@ else echo -e "Not touching Suspend\n" fi -if [ "$LX_BASE" = "ubuntu" ]; then - echo -e "Patched libwacom packages are available to better support the pen. If you intend to use the pen, it's recommended that you install them!\n" +if [ -x "$(command -v dpkg)" ]; then + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!\n" - read -rp "Do you want to install the patched libwacom packages? (type yes or no) " uselibwacom;echo + read -rp "Do you want to install the patched libwacom packages through dpkg? (type yes or no) " uselibwacom;echo if [ "$uselibwacom" = "yes" ]; then echo -e "Installing patched libwacom packages..." dpkg -i packages/libwacom/*.deb apt-mark hold libwacom else - echo -e "Not touching libwacom" + echo -e "Not touching libwacom\n" fi +elif [ -x "$(command -v pacman)" ]; then + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!" + + echo -e "You can install them through this AUR package: https://aur.archlinux.org/packages/libwacom-surface\n" +elif [ -x "$(command -v yum)" ]; then + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!" + + echo -e "You can install them through this Fedora repository: https://github.com/StollD/fedora-linux-surface\n" +else + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!" + + echo -e "You can install them through this Git repository: https://github.com/qzed/libwacom-surface\n" fi -echo -e "This repo comes with example xorg and pulse audio configs. If you chose to keep them, be sure to rename them and uncomment out what you'd like to keep!\n" +echo -e "This repo comes with an example xorg config. If you chose to keep it, be sure to rename it and uncomment out what you'd like to keep!\n" read -rp "Do you want to remove the example intel xorg config? (type yes or no) " removexorg;echo if [ "$removexorg" = "yes" ]; then - echo -e "Removing the example intel xorg config..." + echo -e "Removing the example intel xorg config...\n" rm /etc/X11/xorg.conf.d/20-intel_example.conf else - echo -e "Not touching example intel xorg config (/etc/X11/xorg.conf.d/20-intel_example.conf)" + echo -e "Not touching example intel xorg config (/etc/X11/xorg.conf.d/20-intel_example.conf)\n" fi +echo -e "This repo comes with an example pulse audio config. If you chose to keep it, be sure to rename it and uncomment out what you'd like to keep!\n" read -rp "Do you want to remove the example pulse audio config files? (type yes or no) " removepulse;echo if [ "$removepulse" = "yes" ]; then @@ -216,14 +237,15 @@ if [ "$SUR_MODEL" = "Surface Go" ]; then fi fi -echo -e "Installing marvell firmware...\n" +echo -e "\nInstalling marvell firmware...\n" mkdir -p /lib/firmware/mrvl/ unzip -o firmware/mrvl_firmware.zip -d /lib/firmware/mrvl/ -echo -e "Installing mwlwifi firmware...\n" +echo -e "\nInstalling mwlwifi firmware...\n" mkdir -p /lib/firmware/mwlwifi/ unzip -o firmware/mwlwifi_firmware.zip -d /lib/firmware/mwlwifi/ +echo -e "" read -rp "Do you want to set your clock to local time instead of UTC? This fixes issues when dual booting with Windows. (type yes or no) " uselocaltime;echo if [ "$uselocaltime" = "yes" ]; then @@ -232,10 +254,10 @@ if [ "$uselocaltime" = "yes" ]; then timedatectl set-local-rtc 1 hwclock --systohc --localtime else - echo -e "Not setting clock" + echo -e "Not setting clock\n" fi -if [ "$LX_BASE" = "ubuntu" ]; then +if [ -x "$(command -v dpkg)" ]; then read -rp "Do you want this script to download and install the latest kernel for you? (type yes or no) " autoinstallkernel;echo if [ "$autoinstallkernel" = "yes" ]; then @@ -252,6 +274,20 @@ if [ "$LX_BASE" = "ubuntu" ]; then else echo -e "Not downloading latest kernel" fi +elif [ -x "$(command -v pacman)" ]; then + echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" + + echo -e "For Arch-based distributions, the compiled versions can be found here: https://github.com/dmhacker/arch-linux-surface" +elif [ -x "$(command -v yum)" ]; then + echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" + + echo -e "For Fedora, the compiled versions can be found here: https://github.com/StollD/fedora-linux-surface" +else + echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" + + echo -e "However, there doesn't seem to be a known repository with prebuilt kernels for your distribution." + + echo -e "For instructions on how to compile from source, please refer to the README.md file." fi echo -e "\nAll done! Please reboot." From 7331b4b788f041ea255e3f60a3ce4f27a71a2932 Mon Sep 17 00:00:00 2001 From: thebitstick Date: Mon, 14 Oct 2019 23:37:21 -0500 Subject: [PATCH 3/4] F for yum --- setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.sh b/setup.sh index e80c885d5952..cebeecb76488 100644 --- a/setup.sh +++ b/setup.sh @@ -72,7 +72,7 @@ elif [ -x "$(command -v pacman)" ]; then echo -e "If you intend to use the pen, it's recommended that you install them!" echo -e "You can install them through this AUR package: https://aur.archlinux.org/packages/libwacom-surface\n" -elif [ -x "$(command -v yum)" ]; then +elif [ -x "$(command -v dnf)" ]; then echo -e "Patched libwacom packages are available to better support the pen." echo -e "If you intend to use the pen, it's recommended that you install them!" @@ -278,7 +278,7 @@ elif [ -x "$(command -v pacman)" ]; then echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" echo -e "For Arch-based distributions, the compiled versions can be found here: https://github.com/dmhacker/arch-linux-surface" -elif [ -x "$(command -v yum)" ]; then +elif [ -x "$(command -v dnf)" ]; then echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" echo -e "For Fedora, the compiled versions can be found here: https://github.com/StollD/fedora-linux-surface" From 15eddd641e8308610458d7e5ee8c7ac10d95bb5c Mon Sep 17 00:00:00 2001 From: thebitstick Date: Mon, 14 Oct 2019 23:42:36 -0500 Subject: [PATCH 4/4] Consolidation of dpkg/pacman/dnf checks For libwacom and kernel installation --- setup.sh | 75 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/setup.sh b/setup.sh index cebeecb76488..ccfb31d10ba4 100644 --- a/setup.sh +++ b/setup.sh @@ -52,40 +52,6 @@ else echo -e "Not touching Suspend\n" fi -if [ -x "$(command -v dpkg)" ]; then - echo -e "Patched libwacom packages are available to better support the pen." - - echo -e "If you intend to use the pen, it's recommended that you install them!\n" - - read -rp "Do you want to install the patched libwacom packages through dpkg? (type yes or no) " uselibwacom;echo - - if [ "$uselibwacom" = "yes" ]; then - echo -e "Installing patched libwacom packages..." - dpkg -i packages/libwacom/*.deb - apt-mark hold libwacom - else - echo -e "Not touching libwacom\n" - fi -elif [ -x "$(command -v pacman)" ]; then - echo -e "Patched libwacom packages are available to better support the pen." - - echo -e "If you intend to use the pen, it's recommended that you install them!" - - echo -e "You can install them through this AUR package: https://aur.archlinux.org/packages/libwacom-surface\n" -elif [ -x "$(command -v dnf)" ]; then - echo -e "Patched libwacom packages are available to better support the pen." - - echo -e "If you intend to use the pen, it's recommended that you install them!" - - echo -e "You can install them through this Fedora repository: https://github.com/StollD/fedora-linux-surface\n" -else - echo -e "Patched libwacom packages are available to better support the pen." - - echo -e "If you intend to use the pen, it's recommended that you install them!" - - echo -e "You can install them through this Git repository: https://github.com/qzed/libwacom-surface\n" -fi - echo -e "This repo comes with an example xorg config. If you chose to keep it, be sure to rename it and uncomment out what you'd like to keep!\n" read -rp "Do you want to remove the example intel xorg config? (type yes or no) " removexorg;echo @@ -258,6 +224,23 @@ else fi if [ -x "$(command -v dpkg)" ]; then + # libwacom + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!\n" + + read -rp "Do you want to install the patched libwacom packages through dpkg? (type yes or no) " uselibwacom;echo + + if [ "$uselibwacom" = "yes" ]; then + echo -e "Installing patched libwacom packages..." + dpkg -i packages/libwacom/*.deb + apt-mark hold libwacom + else + echo -e "Not touching libwacom\n" + fi + + # kernel + read -rp "Do you want this script to download and install the latest kernel for you? (type yes or no) " autoinstallkernel;echo if [ "$autoinstallkernel" = "yes" ]; then @@ -275,14 +258,38 @@ if [ -x "$(command -v dpkg)" ]; then echo -e "Not downloading latest kernel" fi elif [ -x "$(command -v pacman)" ]; then + # libwacom + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!" + + echo -e "You can install them through this AUR package: https://aur.archlinux.org/packages/libwacom-surface\n" + + # kernel echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" echo -e "For Arch-based distributions, the compiled versions can be found here: https://github.com/dmhacker/arch-linux-surface" elif [ -x "$(command -v dnf)" ]; then + # libwacom + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!" + + echo -e "You can install them through this Fedora repository: https://github.com/StollD/fedora-linux-surface\n" + + # kernel echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" echo -e "For Fedora, the compiled versions can be found here: https://github.com/StollD/fedora-linux-surface" else + # libwacom + echo -e "Patched libwacom packages are available to better support the pen." + + echo -e "If you intend to use the pen, it's recommended that you install them!" + + echo -e "You can install them through this Git repository: https://github.com/qzed/libwacom-surface\n" + + # kernel echo -e "To make features like the touchscreen or battery stats work correctly, you have to install a patched kernel!" echo -e "However, there doesn't seem to be a known repository with prebuilt kernels for your distribution."