Actually I'm trying to not use anything blindly like playing o roulette. There is always a reason for every issue and it's important to know exact reason. if we are sick, it's smart to figure how what's the real illness, instead of trying every medicine that comes in our mind or is available at home. Such behaviour can lead into bigger troubles or just hide some symptoms but the cause is not fixed.
For example the
300-Series RTC patch is originally
AsRock Z390 BIOS DSDT Device(RTC) bug fix, which helps when on AsRock 300 series motherboards an initial boot fails or stuck after loading the APFS driver etc.
The patch changes the following query in the _STA method of RTC from
if (STAS == 1) too
if (0xFF or 0xFF) // Always 1
Do you have more detailed explanation about this patch available?
EmuVariableUefi.efi is for emulated NVRAM on case the native NVRAM is not available (or isn't stable for some reasons). According to my knowledge there are conflicting statements about z390 native NVRAM, some claim that if properly patched DSDT is used, native NVRAM should work. Anyway I'm using EmuVariableUefi.efi.
If there is no some serious bug reported, I'm using always the latest hack kexts. It's very easy to check it with Hackintool.
For example, if I let computer to sleep for 5 minutes, it wakes fine. No issues. Something happens on long sleep. Seems that when comp wakes by-self, it but gets stuck on going back to proper sleep or doesn't wake properly on case self initialised wake.
So sleep works until I don't leave comp for overnight sleep. For example I have left my Z170 comp for day's to sleep (going to travel) and when I come back, it wakes fine.
I don't use darkwake flag on boot but
@CaseySJ, your suggestions guide doesn't mention darkwake flag at all. But in your initial post you wrote:
I supposed you have to update you sleep suggestions guide, as this doesn't mention the quite important aspect.
The DarkWake feature in Mac OS X Lion or newer that allows to wake up certain parts of your Mac from sleep, while leaving other parts in sleep mode.
Whatever suggestions users may have, I suppose that there are only these flags available now accordion to xnu-4903.241.1/iokit/Kernel/IOPMrootDomain.cpp:
Code:
// gDarkWakeFlags
enum {
kDarkWakeFlagHIDTickleEarly = 0x01, // hid tickle before gfx suppression
kDarkWakeFlagHIDTickleLate = 0x02, // hid tickle after gfx suppression
kDarkWakeFlagHIDTickleNone = 0x03, // hid tickle is not posted
kDarkWakeFlagHIDTickleMask = 0x03,
kDarkWakeFlagAlarmIsDark = 0x0100,
kDarkWakeFlagGraphicsPowerState1 = 0x0200,
kDarkWakeFlagAudioNotSuppressed = 0x0400
};
If we translate hex values into decimals we get this table:
- kDarkWakeFlagHIDTickleEarly = 1
- kDarkWakeFlagHIDTickleLate = 2
- kDarkWakeFlagHIDTickleNone = 3
- kDarkWakeFlagHIDTickleMask = 3
- kDarkWakeFlagAlarmIsDark = 256,
- kDarkWakeFlagGraphicsPowerState1 = 512,
- kDarkWakeFlagAudioNotSuppressed = 1024
Seems that these flags are not used anymore:
Code:
kDarkWakeFlagIgnoreDiskIOInDark = 0x04, // ignore disk idle in DW
kDarkWakeFlagIgnoreDiskIOAlways = 0x08, // always ignore disk idle
kDarkWakeFlagIgnoreDiskIOMask = 0x0C
So, for example boot flag darkwake=8 and darkwake=10 are obsolete now as there is no kDarkWakeFlagIgnoreDiskIOAlways defined anymore. Which leads us to next possible combinations:
darkwake=0
darkwake=1
darkwake=2
darkwake=3
darkwake=256
darkwake=257
...
So, as flags are used for
bitwise operations, then for example darkwake=10 equals actually to combination darkwake=2 now, which is
kDarkWakeFlagHIDTickleLate = hid tickle after gfx suppression.
Catalina 10.15.1 uses xnu-6153.41.3 and Catalina 10.15.2 uses xnu-6153.61.1. The latest xnu source available online is 4903.241.1. If someone can find 6153.41.3, this will be great, so we can dig what Apple has defined for gDarkWakeFlags in this version.
Code:
uname -av
Darwin videoStudio.local 19.2.0 Darwin Kernel Version 19.2.0: Sat Nov 9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64 x86_64
So I'm going to test various darkwake options now to see the impact. Anyway,
@CaseySJ this would be great if you get a chance to test overnight sleep on your comp.