Jump to content

7 posts in this topic

Recommended Posts

SleepOnLowBattery (“SOLB”)
by BugsB, based on a script by Toggi3 * + more code snippets from the www

 

For those of us whose HackBook (or even real MacBook) doesn't automatically and properly go into power saving mode on very low battery but just powers down coldly, crashing macOS: “SOLB”, a small and RAM/ CPU wise very low footprint AppleScript based utility that checks the battery level every 2 minutes, running via daemon in the background.

 

You can choose between two versions, either with or without sound. Both display a notification in the top right of your screen.

 

Between ≤10 and >8% battery charge:

GmZS1aW.jpg

 

Between ≤8 and >5% battery charge:

IWZefgN.jpg

 

On ≤ 5% battery charge you will see a 10 seconds countdown dialog box in 1 second intervals:

qEQgOYT.jpg

 

sNPAmze.jpg

 

which you can cancel, or have your your *ac*Book be sent to sleep when down to 0.

 

The version with sound uses the pleasant macOS US female voice Allison. If the lady is not installed, you can download "her" via System Preferences, Accessibility, Speech (pane tab should get opened by the install script), click onto the two arrows to the right of System Voice, Customize, English (Unites States) -- Female, activate Allison, OK (macOS downloads voices to /System/Library/Speech/Voices - Allison consumes 120 MB).

 

If you want to see/ see and listen first, disconnect your Mac from its power supply and double click the “run Demo” file in either folder, with or without sound.

 

The launcher is installed per user, so one user can use the script with and another user the script without sound.

 

Run your desired install.command, with or without sound. The script should be active right away without restart.

 

Regarding the sound version, you can also:
- download any other English voice of your liking and edit the name inside the script at the very top
- download any language voice and translate the text inside the script

Edit with Apple Script Editor, save, install, reboot.

 

Tested working in macOS High Sierra 10.13.6, Mojave 10.14.6 and Catalina 10.15.2.

Please feedback if this utility also works for you.

 

If you have ideas, experience bugs, etc., please contribute as precise, succinct, productive and friendly as possible. In case of a bug, always include your version of macOS for me or others to try and help. Thank you.

 

ENJOY :)

 

VERSION HISTORY:

2019-12-29 v. 1.2
    •    IMPROVEMENT: Script is now compatible with both, ACPIBatteryManager.kext and SMCBatteryManager.kext

2019-11-15 v. 1.1

    •    BUG FIX: changed all occurrences of ExternalChargeCapable to ExternalConnected in all Apple Script .scpt files (SleepOnLowBattery.scpt, SleepOnLowBatterySound.scpt, demo.scpt) to restore functionality

    •    IMPROVEMENT: made queries of MaxCapacity and CurrentCapacity more compatible to work with hopefully any system

    •    NEW: added Catalina compatibility to install scripts; verified Mojave compatibility

    •    NEW: Sound script uses voice Allison if installed, otherwise automatically defaults back to another English standard voice (Daniel, Alex or Fred)

2018-11-10 v.1.0

    •    initial version

 

IDEAS TO IMPLEMENT IN FUTURE RELEASES:

  1. Have the sound version install script check if Allison is installed, and if not, offer to download and install it.
  2. Purely cosmetic: find a way to have the display notification in the top right of the screen not display the Script Editor icon but the one of the utility without turning the utility into an app but by maintaining a script to keep the load footprint low. This is currently neither possible with an Apple Script nor with an Apple Script Bundle file, only with the script compiled into an app. One possibility might be a Perl approach, if someone volunteers.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Thanks to Toggi3 for the base script:
https://hints.macworld.com/article.php?story=20110219013713667

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

THE CODE (of the version with sound):

install.command:

 

#!/bin/bash
clear
Plist="Library/LaunchAgents/SleepOnLowBattery.plist"
SoundPlist="Library/LaunchAgents/SleepOnLowBatterySound.plist"
Script="/etc/SleepOnLowBattery.scpt"
SoundScript="/etc/SleepOnLowBatterySound.scpt"

#===============================================================================##
## USER ABORTS SCRIPT #
##==============================================================================##
function _clean_up() {
  printf "User aborted!"
  clear
}

#===============================================================================##
## START #
##==============================================================================##
function main()
{
if test -e $Plist; then launchctl stop SleepOnLowBattery && launchctl unload $Plist && rm -R $Plist; fi
if test -e $SoundPlist; then launchctl stop SleepOnLowBatterySound && launchctl unload $SoundPlist && rm -R $SoundPlist; fi
cd "$(dirname "$0")"
echo "Installing.."
sudo cp -R InstallerData/SleepOnLowBatterySound.scpt /etc
if test ! -d ~/Library/LaunchAgents; then mkdir ~/Library/LaunchAgents; fi
cp -R InstallerData/SleepOnLowBatterySound.plist ~/Library/LaunchAgents
sudo chmod +rx /etc/SleepOnLowBatterySound.scpt
chown -R $(whoami) ~/Library/LaunchAgents/
chmod 755 ~/Library/LaunchAgents/SleepOnLowBatterySound.plist
#chmod 604 ~/Library/LaunchAgents/SleepOnLowBatterySound.plist
launchctl load ~/Library/LaunchAgents/SleepOnLowBatterySound.plist
launchctl start SleepOnLowBatterySound
echo
echo "..done!"
echo
echo "Now I recommend you download the pleasant Allision onto your Mac :)"
echo
read -r -p "Continuing in 3 seconds..." -t 3 -n 1 -s
echo
echo
osascript "Extras/download new voice(s).scpt"
echo
}

trap '{ _clean_up; exit 1; }' INT

if [[ `id -u` -ne 0 ]];
  then
    echo "This script must be run as ROOT!"
    sudo "$0"
  else
    main
fi

#===============================================================================##
## EOF #
##==============================================================================##

 

 

LaunchAgent SleepOnLowBatterySound.plist:

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>KeepAlive</key>
	<false/>
	<key>Label</key>
	<string>SleepOnLowBatterySound</string>
	<key>LowPriorityIO</key>
	<true/>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/bin/osascript</string>
		<string>/etc/SleepOnLowBatterySound.scpt</string>
</array>
	<key>RunAtLoad</key>
	<true/>
	<key>ServiceDescription</key>
	<string>SleepOnLowBatterySound</string>
	<key>StartInterval</key>
	<integer>120</integer>
</dict>
</plist>

 

 

Script SleepOnLowBatterySound.scpt:

Spoiler

# find and set good English voice from installed voices
tell application "Finder"
	
	set targetFolder to POSIX file "/System/Library/Speech/Voices/Allison.SpeechVoice"
	if exists targetFolder then
		set voicename to "allison"
	else
		set targetFolder to POSIX file "/System/Library/Speech/Voices/Alex.SpeechVoice"
		if exists targetFolder then
			set voicename to "alex"
		else
			set targetFolder to POSIX file "/System/Library/Speech/Voices/AlexCompact.SpeechVoice"
			if exists targetFolder then
				set voicename to "alex"
			else
				set targetFolder to POSIX file "/System/Library/Speech/Voices/Daniel.SpeechVoice"
				if exists targetFolder then
					set voicename to "daniel"
				else
					set targetFolder to POSIX file "/System/Library/Speech/Voices/DanielCompact.SpeechVoice"
					if exists targetFolder then
						set voicename to "daniel"
					else
						set targetFolder to POSIX file "/System/Library/Speech/Voices/AllisonCompact.SpeechVoice"
						if exists targetFolder then
							set voicename to "allison"
						else
							set targetFolder to POSIX file "/System/Library/Speech/Voices/AlexCompact.SpeechVoice"
							if exists targetFolder then
								set voicename to "alex"
							else
								set targetFolder to POSIX file "/System/Library/Speech/Voices/FredCompact.SpeechVoice"
								if exists targetFolder then
									set voicename to "fred"
								end if
							end if
						end if
					end if
				end if
			end if
		end if
	end if
	
end tell

set currentOutputVolume to output volume of (get volume settings)

set Cap to (do shell script "ioreg -w0 -l | grep ExternalConnected")
tell Cap to set {wallPower} to {last word}
if wallPower = "Yes" then
	-- display dialog "Connected to Power Supply!" buttons {"OK"} default button 1 giving up after 10
	return 0
else
	-- display dialog "Running on Battery!" buttons {"OK"} default button 1 giving up after 10
	set Cap to (do shell script "ioreg -wO -l | grep MaxCapacity")
	tell Cap to set {Max} to {last word}
	
	set Cap to (do shell script "ioreg -wO -l | grep CurrentCapacity")
	tell Cap to set {Current} to {last word}
	
	set Pct to round (100 * Current / Max)
	
	if Pct  10 and Pct > 8 then
		display notification "Your Mac will sleep soon unless plugged into a power outlet!" with title "LOW BATTERY!"
		set volume alert volume 80
		set volume 4
		beep 1
		say "LOW BATTERY" using voicename
		#do shell script "say -v " & voicename & " \"LOW BATTERY\" "
		set volume output volume currentOutputVolume
		display notification "Your Mac will sleep soon unless plugged into a power outlet!" with title "LOW BATTERY!"
		
	else if Pct  8 and Pct > 5 then
		display notification "Your Mac will sleep very soon unless plugged into a power outlet!" with title "VERY LOW BATTERY!"
		set volume alert volume 80
		set volume 4
		beep 2
		say "VERY LOW BATTERY" using voicename
		#do shell script "say -v " & voicename & " \"VERY LOW BATTERY\" "
		set volume output volume currentOutputVolume
		
	else if Pct  5 then
		set volume alert volume 80
		set volume 5
		beep 4
		say "BATTERY LEVEL TOO LOW - GOING TO SLEEP IN 10 SECONDS" using voicename
		#do shell script "say -v " & voicename & " \"BATTERY LEVEL TOO LOW - GOING TO SLEEP IN 10 SECONDS\""
		set volume output volume currentOutputVolume
		
		set theCounter to 10
		set theInterval to 1
		repeat until theCounter is 0
			display dialog "Sending computer to sleep in " & theCounter & " seconds" as text buttons {"Cancel"} giving up after theInterval
			set theCounter to theCounter - theInterval
		end repeat
		do shell script "pmset sleepnow"
	end if
end if

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

SleepOnLowBattery (SOLB) by BugsB v.1.2 (2019-12-29).zip

Edited by BuXb
Update to v.1.2 (2019-12-29)

Share this post


Link to post
Share on other sites
Advertisement

oh, something changed: in all Apple Script .scpt files (SleepOnLowBattery.scpt, SleepOnLowBatterySound.scpt, demo.scpt), ExternalChargeCapable needs to be changed to ExternalConnected

 

That makes more sense anyway. I took that over from the original script. Maybe in OS X back then there wasn't even a parameter or property ExternalConnected

 

I'll post an updated release as soon as possible (too late & tired now already).

 

 

Share this post


Link to post
Share on other sites

MAJOR update:

 

2019-11-15 v. 1.1

    •    BUG FIX: changed all occurrences of ExternalChargeCapable to ExternalConnected in all Apple Script .scpt files (SleepOnLowBattery.scpt, SleepOnLowBatterySound.scpt, demo.scpt) to restore functionality

    •    IMPROVEMENT: made queries of MaxCapacity and CurrentCapacity more compatible to work with hopefully any system

    •    NEW: added Catalina compatibility to install scripts; verified Mojave compatibility

    •    NEW: Sound script uses voice Allison if installed, otherwise automatically defaults back to another English standard voice (Daniel, Alex or Fred)

 

SleepOnLowBattery (SOLB) by BugsB v.1.1 (2019-11-15).zip

 

@Allan @onemanOSX  @TombaFI

Edited by BuXb

Share this post


Link to post
Share on other sites
On 11/15/2019 at 3:47 AM, BuXb said:

MAJOR update:

 

2019-11-15 v. 1.1

    •    BUG FIX: changed all occurrences of ExternalChargeCapable to ExternalConnected in all Apple Script .scpt files (SleepOnLowBattery.scpt, SleepOnLowBatterySound.scpt, demo.scpt) to restore functionality

    •    IMPROVEMENT: made queries of MaxCapacity and CurrentCapacity more compatible to work with hopefully any system

    •    NEW: added Catalina compatibility to install scripts; verified Mojave compatibility

    •    NEW: Sound script uses voice Allison if installed, otherwise automatically defaults back to another English standard voice (Daniel, Alex or Fred)

 

SleepOnLowBattery (SOLB) by BugsB v.1.1 (2019-11-15).zip

 

@Allan @onemanOSX  @TombaFI

 

Thank you. How can I modify it to go to hibernate or sleep if it’s idle for a long time or the battery is at a higher level, for example 50%?

Share this post


Link to post
Share on other sites

@boris1

modify it to go to hibernate or sleep if it’s idle for a long time:

hmm, I'm really neither a bash nor an Applescript Pro, much rather an apprentice in maybe his 2nd year, so I can't answer if or how this is possible in either of the two script languages. You would need to websearch that. I do know however that that is possible with Bernhard Baehr's sleepwatcher command-line binary which you can download on his minimalist homepage. The downside is that it's badly documented, and you'd probably encounter a rather steep learning curve.

 

or the battery is at a higher level, for example 50%?:

SleepOnLowBatterySound.scpt:

edit

if Pct  10 and Pct > 8 then

into

if Pct  50 and Pct > 8 then

save

 

PS: congrats on joining T*nyM*c today, making one vulgar but true post, and getting suspended right away. Good some mod there must obviously have read your candid and courageous assessment. The more people speak out the truth the better.

 

Edited by BuXb

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

  • Similar Content

    • By AudioGod
      I have put together this simple little guide for anybody wanting to use a Patched DSDT EFI with the same configuration as me.
      This is also a thread to discuss everything Z390 Pro and try and help where we can and maybe make things a little better for you. 
       
      A huge massive thank you to @glasgood @MaLd0n @larabee These three guys have helped me and talked me so much and are as helpful as you could ever get, Without them I wouldn't have a perfect working build like I do or be putting up this Guide & Discussion Thread sharing the hard work and countless hours that we have all put in to this.   
       
       
      This EFI and Patched DSDT have been created to work with a Gigabyte Aorus Z390 Pro, 9900k with a Vega 56 but has also been tested and verified fully working with the following Hardware using Catalina 10.15.4
       
      CPU's
      8600K, 8700, 8700K, 9400K, 9600K, 9700K, 9900K, 9900KS (All KF Models work but use SMBios iMacPro1,1 instead)
       
      GPU's
      RX 560, 570, 580, 590, Vega 56, Vega 64, Radion VII, RX 5500, 5500 XT, 5600, 5600 XT, 5700, 5700 XT
      (If you have success with any different CPU or GPU's then please do let me know)
       
       
       @glasgood Has kindly put together a new simple Catalina install guide so Just Follow He's Guide For a Perfect Install.
       
       
      HARDWARE USED
      • Intel I9 9900k 
      • Gigabyte AORUS Z390 PRO
      • Sapphire Nitro+ SE Vega56 (connected to monitor with DisplayPort)
      • Corsair Vengeance Pro RGB 16GB @3200mhz (2 x 8GB)
      • Corsair RM850x 80 Plus Gold Power Supply Unit. 
      • CoolerMaster MASTERLIQUID ML360R RGB CPU Cooler
      • Samsung 970 EVO 1TB NVMe SSD macOS Catalina 10.15.3
      • Samsung 860 EVO 1TB SSD (2.5) Windows 10 Pro
      • ABWB BCM94360CS2 802.11AC WI-FI With Bluetooth 4.0 PCI-Express (PCI-E)   
      • Lian Li PC-O11DW Dynamic ATX Case
       

       

       

       

       
       
      WORKING
      • Sound 
      • Ethernet Port
      • WiFi
      • SSD Trim
      • USB 3.0 & 2.0 (All ports Open Natively)
      • AirDrop
      • iCloud
      • Hardware Acceleration
      • iMessages
      • Facetime
      • Sleep & Wake
      • Sleep and Shutdown via the Power Button
      • Handoff
      • Netflix on Safari browser
      • Continuity
      • Sidecar
       
       
      CLOVER & OPENCORE EFIs 
      Current EFIs Updated 04/08/2020
       
       
      Clover EFI Update - 04/08/2020 - Use with Bios revision F12d Only or Replace with the older F11 DSDT if you don't want to update the bios
       
      Clover Z390 Pro Navi Vega EFI 040820.zip - Vega, Navi (5700, 5700XT etc), Radeon VII DSDT EFI
      Clover Z390 Pro Polaris EFI 040820.zip - RX500 Polaris Series (RX590, 580, 570 etc) DSDT EFI
       
      Note - If your not using a 5700 XT or any other Navi GPU then remove agdpmod=pikera from the boot arguments.
       
      Please Note - I have now set KernelPM to No as standard so if you don’t have a unlocked MSR or not using my MSR Unlocked Bios Profile then go into the Clover Config.plist and set KernelPM to Yes or you won’t be able to boot up. An even better fix would be to unlock your MSR using my profile method.
       
      OpenCore EFI Update - 04/08/2020
      Myself and @texem have now created a OpenCore EFI done the way the OpenCore Devs intended it to be made, There is no DSDT in use so you can use this EFI on any supported GPU and the SSDTs have been made so they will not be used in any other Operating System apart from MacOS.
       
      OpenCore 060 Z390 Pro 19,1 030820.zip - OpenCore v0.6.0, SMBios iMac19,1
      OpenCore 060 Z390 Pro 1,1 030820.zip - OpenCore v0.6.0, SMBios iMacPro1,1 (IGPU Disabled)
       
      Note - If your not using a 5700 XT or any other Navi GPU then remove agdpmod=pikera from the boot arguments.
      Note 2 - Do not try to carry across your old OpenCore Config.plist to the new EFI as to many changes have occurred in 0.6.0. Use the new Config.plist instead.
       
      PlistEdit Pro.zip - PlistEdit Pro (use to edit OpenCore)
       
      For OpenCore Using PlistEdit Pro add your details by modifying the following 

       
      PLEASE NOTE - These EFIs are setup to be used with your msr Unlocked so make sure you use the F11c Unlocked Profile but if for any reason you can not unlock MSR then just modify following in the OpenCore config.plist :
      
       
       
       
      PLEASE NOTE - Please flash your motherboard bios to revision F12d to use my current Clover EFI. It’s a major rework of the bios and vital changes have been made to the layout and power tables. New DSDTs have been created and installed into the new EFI’s but will not work correctly with any other bios revision.
       
      Latest Gigabyte Z390 PRO BIOS (F12d)
      mb_bios_z390-aorus-pro_f12d.zip
       
       
      CFG Unlock (MSR) F12d (F12c Pro WIFI) BIOS Profile - The Easy Way 
      Highly recommended if your using a Vega 56/64, Radeon VII or Navi GPU
       
       
      DSDT's FOR CLOVER ONLY (A big thanks to @MaLd0n for compiling these DSDT's)
       
       
      To Create Your Own Patched DSDT Message @MaLd0n using the link bellow
      https://www.olarila.com/forum/17-dsdt-patch-requests/
      (If you want a perfect setup then getting your own patched DSDT made would be the best thing to do, Mine will work perfectly fine but different hardware no matter how small a change it is can tend to have some sort of effect on the DSDT and your setup)
       
       
      If Your Not Using File Vault Then Please Disable Hibernate
      disablehibernate.command
       
       
      ADDITONAL DOWNLOADS
      Clover
      Clover Configurator
      Kext Updater
       
       
      OPTIONAL DOWNLOADS
      BroadcomFix.zip   (Use these kexts if your Broadcom bluetooth/Wifi isn't working properly)
      FakeSMC    (Can be used instead of VirtualSMC)
      Hackintool
      IORegistryExplorer
      Native Display Brightness with MonitorControl
       
       
      BIOS SETTINGS (Bios Revision F12d)
      • Enter BIOS → Press F12 → Enter Setup
      • Save & Exit → Load Optimized Defaults
       
      • Boot -> Windows 8/10 Features -> Win 8/10WHQL
      • Boot -> CSM Support -> Disabled (Can be set to Enabled if need be but try to have it set to Disabled first)
      • Favourites -> Extreme Memory Profile (X.M.P.) -> Profile1
      • Favourites -> VT-d -> Disabled (Can be set to Enabled or Disabled, Your choice)
      • Settings -> IO Ports -> Internal Display Output -> PCIe 1 Slot
      • Settings -> IO Ports -> Internal Graphics -> Enabled (Set to Disabled if using SMBios iMacPro1,1)
      • Settings -> IO Ports -> DVMT Pre-Allocated -> 64M
      • Settings -> IO Ports -> DVMT Total GFX0-Allocated -> 256M
      • Settings -> IO Ports -> Aperture Size -> 256MB
      • Settings -> IO Ports -> Audio Controller -> Enabled
      • Settings -> IO Ports -> Above 4G Decoding -> Enabled
      • Settings -> IO Ports -> USB Configuration -> Legacy USB Support -> Auto
      • Settings -> IO Ports -> USB Configuration ->  XHCI Hand-off -> Enabled
      • Settings -> Miscellaneous -> Software Guard Extensions (SGX) -> Disabled
      • Settings -> Platform Power -> Platform Power Management -> Enabled
      • Settings -> Platform Power -> ErP -> Enabled
      • Settings -> Platform Power -> RC6(Render Standby) -> Enabled
       
      • Save & Exit → Save & Exit Setup 
       
       
      SCREENSHOTS

       

       

       

       

       

       

       

       

       

       

    • By AudioGod
      I have put together this simple little guide for anybody wanting to use a Patched DSDT EFI with the same configuration as me.
      This is also a thread to discuss everything Z390 Master and try and help where we can and maybe make things a little better for you. 
       
      A huge massive thank you to @glasgood @MaLd0n @larabee These three guys have helped me and talked me so much and are as helpful as you could ever get, Without them I wouldn't have a perfect working build like I do or be putting up this Guide & Discussion Thread sharing the hard work and countless hours that we have all put in to this.   
       
       
      This EFI and Patched DSDT have been created to work with a Gigabyte Aorus Z390 Master using bios revision F11c, 9900k with a 5700 XT but has also been tested and verified fully working with the following Hardware
       
      CPU's
      8600K, 8700, 8700K, 9400K, 9600K, 9700K, 9900K, 9900KS (All KF Models work but use SMBios iMacPro1,1 instead)
       
      GPU's
      RX 560, 570, 580, 590, Vega 56, Vega 64, Radion VII, RX 5500, 5500 XT, 5600, 5600 XT, 5700, 5700 XT
      (If you have success with any different CPU or GPU's then please do let me know)
       
       
       @glasgood Has kindly put together a new simple Catalina install guide so Just Follow He's Guide For a Perfect Install. (glasgood put the guide together for the Z390 Pro but the two boards are so alike that you can follow this guide with no problems at all using the Z390 Master)
       
       
      HARDWARE USED
      • Intel I9 9900k @5.2Ghz
      • Gigabyte AORUS Z390 MASTER
      • Sapphire Reference RX 5700 XT (connected to the monitor via the DisplayPort)
      • Corsair Vengeance Pro RGB 32GB @3600mhz (2 x 16GB)
      • Corsair RM850x 80 Plus Gold Power Supply Unit
      • EK Custom Liquid Cooling Loop
      • Samsung 970 EVO Plus 1TB NVMe SSD macOS Catalina 
      • Samsung 970 EVO 1TB NVMe SSD Windows 10 Pro
      • ABWB BCM94360CS2 802.11AC WI-FI With Bluetooth 4.0 PCI-Express (PCI-E)   
      • Lian Li PC-O11DW Dynamic ATX Case
       

       

       

       
      WORKING
      • Sound 
      • Ethernet Port
      • WiFi
      • SSD Trim
      • USB 3.0 & 2.0 (All ports Open Natively)
      • AirDrop
      • iCloud
      • Hardware Acceleration
      • iMessages
      • Facetime
      • Sleep & Wake
      • Sleep and Shutdown via the Power Button
      • Handoff
      • Netflix on Safari browser
      • Continuity
      • Sidecar (only works using the iMac19,1 EFI and with your igpu Enabled)

       
      EFI FOLDERS  
      please note - You must flash your Z390 MASTER bios to revision F11e or Higher to use any of these EFI's, The DSDT is not designed for any other Bios revision
      Z390AORUSMASTER.zip  - Aorus Z390 Master Bios Firmware F11e 
       
      CLOVER & OPENCORE EFIs 
      Current EFIs Updated 04/08/2020
       
       
      Clover EFI Update v5120 - 04/08/2020 - Use with Bios revision F11e or Higher Only or Replace with the older F11c/F10 DSDT if you don't want to update the bios
       
      EFI Clover VEGA Navi 030820.zip - Vega, Navi (5700, 5700XT etc), Radeon VII DSDT SMBios 19,1 EFI
      EFI Clover Polaris NVIDIA 030820.zip - RX500 Polaris Series (RX590, 580, 570 etc) SMBios 19,1 EFI
       
      Please Note - I have now set KernelPM to No as standard so if you don’t have a unlocked MSR or not using my MSR Unlocked Bios Profile then go into the Clover Config.plist and set KernelPM to Yes or you won’t be able to boot up. An even better fix would be to unlock your MSR using my profile method.
       
      Note - If your not using a 5700 XT or any other Navi GPU then remove agdpmod=pikera from the boot arguments.
       
       
      OpenCore EFI Update v0.6.0 - 04/08/2020
      Myself and @texem have now created a OpenCore EFI done the way the OpenCore Devs intended it to be made, There is no DSDT in use so you can use this EFI on any supported GPU and the SSDTs have been made so they will not be used in any other Operating System apart from MacOS.
       
      OpenCore 060 Z390 Master 19,1 030820.zip - OpenCore v0.6.0, SMBios iMac19,1
      OpenCore 060 Z390 Master 1,1 030820.zip - OpenCore v0.6.0, SMBios iMacPro1,1 (IGPU Disabled)
       
      Note - If your not using a 5700 XT or any other Navi GPU then remove agdpmod=pikera from the boot arguments.
      Note 2 - Do not try to carry across your old OpenCore Config.plist to the new EFI as to many changes have occurred in 0.6.0 so please use the new Config.plist instead.
       
       
      PlistEdit Pro.zip - PlistEdit Pro (use to edit OpenCore)
       
      Using PlistEdit Pro add your details by modifying the following 

       
      PLEASE NOTE - These EFIs are setup to be used with your msr Unlocked so make sure you use the F11e Unlocked Profile but if for any reason you can not unlock MSR then just modify following in the OpenCore config.plist :
      
       
       
       
      CFG Unlock (MSR) F11e BIOS Profile - The Easy Way 
      Highly recommended if your using a Vega 56/64, Radeon VII or Navi GPU
       
       
       
      To Create Your Own Patched DSDT Message @MaLd0n using the link bellow
      https://www.olarila.com/forum/17-dsdt-patch-requests/
      (If you want a perfect setup then getting your own patched DSDT made would be the best thing to do, Mine will work perfectly fine but different hardware no matter how small a change it is can tend to have some sort of effect on the DSDT and your setup)
       
       
      If Your Not Using File Vault Then Please Disable Hibernate
      disablehibernate.command
       
       
      ADDITONAL DOWNLOADS
      Z390AORUSMASTER.zip  - Aorus Z390 Master Bios Firmware F11e 
      Clover
      Clover Configurator
      Kext Updater
      RepairPermissions
       
       
      OPTIONAL DOWNLOADS
      BroadcomFix.zip   (Use these kexts if your Broadcom bluetooth/Wifi isn't working properly)
      Hackintool
      IORegistryExplorer
      Native Display Brightness with MonitorControl
       
       
      BIOS SETTINGS (Bios Revision F11e)
       
      • Enter BIOS → Press Delete → Enter Setup
      • Save & Exit → Load Optimized Defaults
       
      • Boot -> Windows 8/10 Features -> Win 8/10WHQL
      • Boot -> CSM Support -> Disabled (Can be set to Enabled if need be but try to have it set to Disabled first)
      • Favourites -> Extreme Memory Profile (X.M.P.) -> Profile1
      • Favourites -> VT-d -> Disabled (Can be set to Enabled or Disabled, Your choice)
      • Settings -> IO Ports -> Internal Display Output -> PCIe 1 Slot
      • Settings -> IO Ports -> Internal Graphics -> Enabled (Disabled If Using SMBios 1,1)
      • Settings -> IO Ports -> DVMT Pre-Allocated -> 64M
      • Settings -> IO Ports -> DVMT Total GFX0-Allocated -> 256M
      • Settings -> IO Ports -> Aperture Size -> 256MB
      • Settings -> IO Ports -> Wifi -> Disabled
      • Settings -> IO Ports -> Audio Controller -> Enabled
      • Settings -> IO Ports -> Above 4G Decoding -> Enabled
      • Settings -> IO Ports -> USB Configuration -> Legacy USB Support -> Auto
      • Settings -> IO Ports -> USB Configuration -> XHCI Hands-off -> Enabled
      • Settings -> Miscellaneous -> Software Guard Extensions (SGX) -> Disabled
      • Settings -> Platform Power -> Platform Power Management -> Enabled
      • Settings -> Platform Power -> ErP -> Enabled
      • Settings -> Platform Power -> RC6(Render Standby) -> Enabled
       
      • Save & Exit → Save & Exit Setup
       
       
      SCREENSHOTS

       

       

       

       

       

       

       

       
       
    • By ngochoaic3
      Hi everyone, 
      I hava a dell precision m4700 with option dgpu amd firepro m4000, The Intel HD4000 Graphic is disable, i can't enable it on to install Hackintosh
      I'd like to enable it on and ask you for setting custom connectors to get the internal display to work, and enable the iGPU in order to get things like AirPlay screen mirroring to work
      Could you help me?
    • By tonyx86
      **********************************************************************************
      In this thread, I have fully documented the installation of macOS Catalina on my HP EliteDesk 800 G4 Mini. It is a PERFECT HackMini8,1 and is running very well for me without any issues. I hope this documentation helps you to install macOS on your hack. Please leave feedback if you think there is anything I can improve and let me know if you have any questions.
      **********************************************************************************
       
      Background
      This is my first "modern" hack supporting UEFI and my first hack using Clover "on-the-fly" patches.  My previous hacks
      Laptop: Thinkpad T61 / Nvidia NVS 140m Laptop: Dell Latitude E6410 / Nvidia G3100m Desktop: Gigabyte G31 / GeForce 9600 Desktop: Biostar TH55HD / Sapphire Pulse RX580 (Google "Catalina Biostar TH55HD" and look for user name deeveedee)  
      are all perfectly running Catalina and I patched them all "manually" - all DSDT patches applied with MaciSL with virtually no Clover on-the-fly patching and all booted Legacy Clover.  This UEFI hack was MUCH easier and took about 20 hours vs. a combined hundreds of hours for the old hacks.  I wanted a hack that was a little more future proof and I think this is it.  I hope you enjoy this as much as I am enjoying it.  It is a perfect MacMini8,1.
       

       
      My system specs
      HP EliteDesk 800 G4 Mini (I7-8700T / UHD 630 / Q370 Chipset / 32GB DDR4 RAM) 3 x DP Ports (connected to monitors using DP -> DVI adapters) 6 x USB 3.1 1 x USB Type-C 3.1 2 x NVMe SSD (M.2 PCIe x4 2280/2230 combo ports) 1 x SATA6 SSD 1 x Intel Ethernet RJ-45 Conexant CX20632 Audio Codec Unsupported M.2 PCIe x1 2230 Intel Wi-Fi.  A possible solution is here, but I am NOT offering any support for this.  
      macOS Installation 
      Important: You MUST BE LOGGED-IN to download attachments from this forum
      See macOS installation steps here See Known Issues here for additional installation steps that may not yet be included in my attached config files See CLOVER (UEFI) installation later in this first post
      See BIOS configuration in attached BIOS configuration PDF document
      See EFI and /L/E kexts in attached EliteDesk.zip archive See how I developed my installation methodology here See references here See instructions here for installing two M.2 2280 NVMe SSDs and one SATA HD / SSD  
      What is not working
      Microphone port  
      What is not tested
      USB c 3.1 port (I have partially tested the USB 3 functionality of the port and it seems to be working fine with the SSDT-UIAC.aml in the attached EliteDesk800.zip archive) Wi-Fi / Bluetooth (intentional since I have not yet replaced my Intel card). A possible solution is here, but I am not offering any support for this.
       
      What is working
      Everything not mentioned above Sleep / Wake Multiple displays with IGPU graphics acceleration, hot pluggable display ports and DP->DVI adapters USB 3.1 ports Audio (internal speaker and headphone jack) Ethernet Auto-sensing headphone jack automatically switches to internal speaker when headphones removed  
      Known Issues and their solutions - see here
       
      BIOS Version / Configuration
      Version: 02.11.01 Rev.A See attached BIOS configuration in PDF document "HP EliteDesk 800 G4 Mini BIOS Configuration.pdf" Intel ME must be enabled for proper sleep / wake of UHD 630
       
      Clover Configuration
      Clover for UEFI booting only Install Clover in the ESP UEFI Drivers Recommended drivers DataHubDxe FSInject SMCHelper File System drivers ApfsDriverLoader VBoxHfs Memory fix drivers AptioMemoryFix Additional drivers NvmExpressDxe Install RC scripts on target volume Themes Choose your desired theme Install Clover Preference Pane (option not available when installing on USB thumb drive)  
      UHD 630 Framebuffer Patching
      See here and here to understand my graphics properties for use with WhateverGreen.kext Read this to see my attempt at graphics patching without WhateverGreen.kext (WEG) to get a better understanding of what WEG is doing
       
      Current Versions
      Catalina 10.15.6 Clover (UEFI) r5119 Lilu.kext 1.4.5 WhateverGreen.kext 1.4.0 AppleALC.kext 1.5.0 IntelMausi 1.0.3 (Not IntelMausiEthernet)  
      Credits To be provided
       
      ScreenShots
       
       
      HP EliteDesk 800 G4 Mini BIOS Configuration.pdf
       
      EliteDesk800 G4 Mini - Rev 1.0.zip
    • By ISmokeAir
      I am using opencore. I have an asrock z270 și killer and a core i7 7700k. I don't have a dgpu. I am using the integrated igpu(UHD 630). After booting up I get this kernel Panic.
       
×