Play MP3 with results
NOTE: i915 needs to be blacklisted to avoid a ~60 second delay
before the audio devices become available
This commit is contained in:
parent
522795c4c6
commit
2b2136f701
10 changed files with 24 additions and 3 deletions
|
|
@ -8,3 +8,7 @@ This will build a minimal environment that does the following:
|
||||||
|
|
||||||
* Checks if there are any gpu/gfx variables present and if so prompts a NVRAM reset.
|
* Checks if there are any gpu/gfx variables present and if so prompts a NVRAM reset.
|
||||||
* If those variables are not present then it adds one to disable the discrete GPU.
|
* If those variables are not present then it adds one to disable the discrete GPU.
|
||||||
|
|
||||||
|
## Credit ##
|
||||||
|
|
||||||
|
* Audio files were created using [Wideo Text-to-speech](https://wideo.co/text-to-speech/)
|
||||||
|
|
|
||||||
1
profile/airootfs/etc/modprobe.d/sound.conf
Normal file
1
profile/airootfs/etc/modprobe.d/sound.conf
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
options snd-hda-intel model=intel-mac-auto
|
||||||
|
|
@ -13,6 +13,15 @@ YELLOW='\033[33m'
|
||||||
ORANGE='\033[31;1m'
|
ORANGE='\033[31;1m'
|
||||||
BLUE='\033[34m'
|
BLUE='\033[34m'
|
||||||
|
|
||||||
|
# Play MP3
|
||||||
|
function play_mp3() {
|
||||||
|
mpg123 "mp3/$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set volume
|
||||||
|
amixer -q set Master 80% unmute >/dev/null 2>&1
|
||||||
|
amixer -q set PCM 80% unmute >/dev/null 2>&1
|
||||||
|
|
||||||
# Check for current variables
|
# Check for current variables
|
||||||
for prefix in gfx gpu; do
|
for prefix in gfx gpu; do
|
||||||
for var in /sys/firmware/efi/efivars/${prefix}*; do
|
for var in /sys/firmware/efi/efivars/${prefix}*; do
|
||||||
|
|
@ -27,23 +36,28 @@ done
|
||||||
echo ""
|
echo ""
|
||||||
if [[ ! -e "/sys/firmware/efi/efivars" ]]; then
|
if [[ ! -e "/sys/firmware/efi/efivars" ]]; then
|
||||||
# Probably booted legacy
|
# Probably booted legacy
|
||||||
|
play_mp3 "EFIVARS not found.mp3"
|
||||||
echo -e "${RED}ERROR:${CLEAR} EFIVARS not found"
|
echo -e "${RED}ERROR:${CLEAR} EFIVARS not found"
|
||||||
elif cmp "$SOURCE" "$DEST" >/dev/null 2>&1; then
|
elif cmp "$SOURCE" "$DEST" >/dev/null 2>&1; then
|
||||||
# EFI var matches desired state
|
# EFI var matches desired state
|
||||||
|
play_mp3 "Discrete GPU already disabled.mp3"
|
||||||
echo -e "${GREEN}Discrete GPU already disabled${CLEAR}"
|
echo -e "${GREEN}Discrete GPU already disabled${CLEAR}"
|
||||||
elif [[ "$needs_nvram_reset" == "yes" ]]; then
|
elif [[ "$needs_nvram_reset" == "yes" ]]; then
|
||||||
# One or more gfx/gpu EFI vars detected
|
# One or more gfx/gpu EFI vars detected
|
||||||
|
play_mp3 "Please reset the NVRAM.mp3"
|
||||||
echo -e "${RED}ERROR:${CLEAR} Detected the above EFIVARS"
|
echo -e "${RED}ERROR:${CLEAR} Detected the above EFIVARS"
|
||||||
echo -e "Please reboot and reset the NVRAM"
|
echo -e "Please reset the NVRAM"
|
||||||
else
|
else
|
||||||
# No gfx/gpu EFI vars detected so we can apply the fix
|
# No gfx/gpu EFI vars detected so we can apply the fix
|
||||||
cp "$SOURCE" "$DEST"
|
cp "$SOURCE" "$DEST"
|
||||||
chattr +i "$DEST"
|
chattr +i "$DEST"
|
||||||
sync
|
sync
|
||||||
umount /sys/firmware/efi/efivars
|
umount /sys/firmware/efi/efivars
|
||||||
echo -e "${GREEN}Discrete GPU successfully disabled${CLEAR}"
|
|
||||||
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
|
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
|
||||||
|
play_mp3 "Discrete GPU successfully disabled.mp3"
|
||||||
|
echo -e "${GREEN}Discrete GPU successfully disabled${CLEAR}"
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
|
play_mp3 "Press Enter to poweroff the system.mp3"
|
||||||
read -p "Press Enter to poweroff the system... " -r unusedvar
|
read -p "Press Enter to poweroff the system... " -r unusedvar
|
||||||
poweroff
|
poweroff
|
||||||
|
|
|
||||||
BIN
profile/airootfs/root/mp3/Discrete GPU already disabled.mp3
Normal file
BIN
profile/airootfs/root/mp3/Discrete GPU already disabled.mp3
Normal file
Binary file not shown.
BIN
profile/airootfs/root/mp3/Discrete GPU successfully disabled.mp3
Normal file
BIN
profile/airootfs/root/mp3/Discrete GPU successfully disabled.mp3
Normal file
Binary file not shown.
BIN
profile/airootfs/root/mp3/EFIVARS not found.mp3
Normal file
BIN
profile/airootfs/root/mp3/EFIVARS not found.mp3
Normal file
Binary file not shown.
BIN
profile/airootfs/root/mp3/Please reset the NVRAM.mp3
Normal file
BIN
profile/airootfs/root/mp3/Please reset the NVRAM.mp3
Normal file
Binary file not shown.
BIN
profile/airootfs/root/mp3/Press Enter to poweroff the system.mp3
Normal file
BIN
profile/airootfs/root/mp3/Press Enter to poweroff the system.mp3
Normal file
Binary file not shown.
|
|
@ -4,4 +4,4 @@
|
||||||
title Mac dGPU Disable Tool
|
title Mac dGPU Disable Tool
|
||||||
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
|
||||||
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
|
||||||
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% nomodeset
|
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% nomodeset module_blacklist=i915
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
|
alsa-utils
|
||||||
base
|
base
|
||||||
linux
|
linux
|
||||||
mkinitcpio
|
mkinitcpio
|
||||||
mkinitcpio-archiso
|
mkinitcpio-archiso
|
||||||
|
mpg123
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue