banner



How To Repair Wallpaper Holes?trackid=sp-006

# Fixing Sleep

So to empathize how to fix sleep problems in macOS, we need to showtime expect at what contributes to sleep issues about of the time:

  • Incorrectly managed devices(most commonly PCIe based devices)

The reason for this is when devices become an S3 call(or S0 for wake), the driver needs to ability downwards the devices and put into a low state style(vice versa when waking). Bug arise when such devices don't cooperate with the drivers and the main offenders of these issues are:

  • USB Controllers and Devices
  • GPUs
  • Thunderbolt Controllers and Devices
  • NICs(Both Ethernet and Wifi)
  • NVMe Drives

And in that location are others that tin cause slumber issues that aren't directly(or obviously) related to PCI/eastward:

  • CPU Power Management
  • Displays
  • NVRAM
  • RTC/System Clocks
  • IRQ Conflicts
  • Sound
  • SMBus
  • TSC

And something many people forget are over and under-clocks:

  • CPUs
    • AVX oftentimes breaks iGPUs and hurt overall stability
  • Bad RAM(Both overclocks and mismatched RAM)
    • Even bad/mismatched timings can cause serious issues
  • Factory GPU Overclocks
    • OEMs ordinarily push button a carte du jour a bit also far with their custom VBIOS
    • Generally these cards will have a concrete switch, allowing you to choose a low power VBIOS

# Preparations

In macOS:

Earlier nosotros get in too deep, nosotros'll want to first ready our organization:

This will do 5 things for us:

  1. Disables autopoweroff: This is a course of hibernation
  2. Disables powernap: Used to periodically wake the machine for network, and updates(but non the display)
  3. Disables standby: Used as a time flow between sleep and going into hibernation
  4. Disables wake from iPhone/Watch: Specifically when your iPhone or Apple Sentry come about, the machine will wake
  5. Disables TCP Keep Alive mechanism to forestall wake ups every 2 hours

In your config.plist:

While minimal changes are needed, here are the ones we care almost:

  • Misc -> Boot -> HibernateMode -> None
    • We're gonna avoid the black magic that is S4 for this guide
  • NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> kicking-args
    • keepsyms=1 - Makes sure that if a kernel panic does happen during sleep, that we become all the of import bits from it
    • swd_panic=one - Avoids issue where going to sleep results in a reboot, this should instead give united states a kernel panic log

In your BIOS:

  • Disable:
    • Wake on LAN
    • Trusted Platform Module
      • Note that if you lot're using BitLocker in Windows, disabling this volition result in all your encryption keys being lost. If you're using BitLocker, either disable or note that it may be a cause for wake problems.
    • Wake on USB(Sure boards may actually require this on to wake, just near will go random wakeup calls with it)
  • Enable:
    • Wake on Bluetooth(If using a Bluetooth device for waking similar a keyboard, otherwise y'all can disable)

# Chief culprits

  • USB
  • GPUs
  • Thunderbolt
  • NICs
  • NVMe
  • CPU Ability Management

# Fixing USB

This is the #1 cause of sleep bug on hacks, mainly considering Apple tree's drivers are quite bad at guessing ports and the port limit patches have the ill-effect of creating instability.

  • USB Mapping

This guide also includes some other fixes than just mapping:

  • Fixing USB Ability
  • Fixing Shutdown/Restart
  • GPRW/UPRW/LANC Instant Wake Patch
  • Keyboard Wake Issues

USB maps with macOS Catalina(x.xv) and newer: You may detect that fifty-fifty with USB mapping, your sleep breaks. one possible solution is renaming the IOClass value from AppleUSBMergeNub to AppleUSBHostMergeProperties. Encounter here for more info: Changes in Catalina'south USB IOClass (opens new window)

  • Notation: Some USB devices that practise not have proper drivers in macOS can unfortunately result in sleep issues. For example, Corsair water coolers with USB addressable control can preclude the machine from sleeping correctly. For these situations, we recommend users disconnect these troublesome devices when debugging sleep issues.

# Fixing GPUs

With GPUs, it's fairly easy to know what might exist causing bug. This being unsupported GPUs in macOS. By default, any GPU that doesn't have drivers already provided in the Bone volition run off very basic drivers known every bit VESA drivers. These provide minimal display output but likewise cause a large issue in that macOS doesn't actually know how to properly interact with these devices. To fix this, well need to either play a trick on macOS into thinking information technology's a generic PCIe device(which information technology can better handle, ideal for desktops) or completely power off the card(on laptops, desktop dGPUs take issues powering down)

  • Come across hither for more info:
    • Disabling desktop dGPUs (opens new window)
    • Disabling laptop dGPUs (opens new window)

Special notes for iGPU users on 10.fifteen.4 and newer:

  • iGPU wake is partially broken due to numerous hacks apple uses in AppleGraphicsPowerManagement.kext with real Macs, to get around this you'll likely need igfxonln=1 to force all displays online. Obviously test first to make sure you have this issue.
  • AAPL,ig-platform-id 07009B3E may fail for desktop Coffee Lake (UHD 630) users, you tin can try 00009B3E instead. 0300923E is also known to work sometimes.

Other iGPU notes:

  • Some systems with iGPUs (due east.g. Kaby Lake and Coffee Lake) may cause system instability in lower power states, and tin sometimes manifest as NVMe kernel panics. To resolve, you tin can add forceRenderStandby=0 to your kicking-args to disable RC6 Render Standby. Run across here for more info: IGP causes NVMe Kernel Panic CSTS=0xffffffff #1193 (opens new window)
  • Sure Ice Lake laptops may also kernel panic on Cannot allow DC9 without disallowing DC6 due to bug with transitioning states. A work around for this is using either -noDC9 or -nodisplaysleepDC6 in your boot-args

Special note for 4k Displays with AMD dGPUs:

  • Some displays may fail to wake randomly, mainly acquired by AGDC preferences. To gear up, apply this to your dGPU in DeviceProperties:
    • CFG,CFG_USE_AGDC | Data | 00
    • You can detect the PciRoot of your GPU with gfxutil (opens new window)
      • /path/to/gfxutil -f GFX0

# Fixing Thunderbolt

Thunderbolt is a very tricky topic in the community, mainly due to the complication of the situation. You really have just 2 paths to get down if you want Thunderbolt and slumber to work simultaneously:

  • Disable Thunderbolt 3 in the BIOS
  • Attempt to patch Thunderbolt 3:
    • Thunderbolt 3 Fix (opens new window)
    • ThunderboltReset (opens new window)
    • ThunderboltPkg (opens new window)

Note: Thunderbolt tin can be enabled without actress piece of work if you're ok without sleep, and vice versa.

# Fixing NICs

NICs(network Interface Controllers) are fairly easy to fix with sleep, it'south mainly the post-obit:

  • Disable WakeOnLAN in the BIOS
    • Near systems will enter a sleep/wake loop with this enabled
  • Disable Wake for network admission in macOS(SystemPreferences -> Power)
    • Seems to pause on a lot of hacks

# Fixing NVMe

So macOS can be quite picky when information technology comes to NVMe drives, and in that location's also the issue that Apple's ability management drivers are express to Apple branded drives merely. So the main things to practice are:

  • Make sure the NVMe is on the latest firmware(particularly of import for 970 Evo Plus drives (opens new window) )
  • Employ NVMeFix.kext (opens new window) to let for proper NVMe power management

And avoid problematic drives, the main culprits:

  • Samsung'southward PM981 and PM991 SSDs
  • Micron's 2200S

If you even so practice have these drives in your arrangement, it's best to disable them via an SSDT: Disabling desktop dGPUs (opens new window) . This guide is primarily for dGPU merely works the exact aforementioned way with NVMe drives(equally they're both but PCIe devices)

# Fixing CPU Power Management

For Intel:

To verify you accept working CPU Power Management, see the Fixing Power Management folio. And if not, and so patch accordingly.

Also note that incorrect frequency vectors tin result in wake problems, and so either verify y'all're using the right SMBIOS or adjust the frequency vectors of your current SMBIOS with CPUFriend. Tools like one-key-cpufriend (opens new window) are known for creating bad frequency vectors so be careful with tools not used past Dortania.

A mutual kernel panic from wake would exist:

For AMD:

Fret not, for their is still hope for you as well! AMDRyzenCPUPowerManagement.kext (opens new window) tin add ability direction to Ryzen based CPUs. Installation and usage is explained on the repo's README.md

# Other Culprits

  • Displays
  • NVRAM
  • RTC
  • IRQ Conflicts
  • Audio
  • SMBus
  • TSC

# Displays

Then display issues are mainly for laptop lid detection, specifically:

  • Incorrectly made SSDT-PNLF
  • Os vs firmware lid wake
  • Keyboard spams from lid waking information technology(On PS2 based keyboards)

The one-time is quite easy to fix, see hither: Backlight PNLF (opens new window)

For the middle, macOS's hat wake detection tin flake a chip broken and you may need to outright disable it:

And set lidwake 1 to re-enable it.

The latter requires a bit more than work. What we'll be doing is trying to nullify semi random central spams that happen on Skylake and newer based HPs though pop upwardly in other OEMs as well. This will also assume that your keyboard is PS2 based and are running VoodooPS2 (opens new window) .

To fix this, grab SSDT-HP-FixLidSleep.dsl (opens new window) and adapt the ACPI pathing to your keyboard(_CID value existence PNP0303). Once this is done, compile and drop into both EFI/OC/ACPI and under config.plist -> ACPI -> Add.

For 99% of HP users, this will fix the random key spam. If not, see below threads:

  • RehabMan'southward effulgence key guide (opens new window)

# NVRAM

To verify yous have working NVRAM, see the Emulated NVRAM page to verify y'all accept working NVRAM. And if non, then patch accordingly.

# RTC

This is mainly relevant for Intel 300 series motherboards(Z3xx), specifically that at that place'due south two issues:

  • Be default the RTC is disabled(instead using AWAC)
  • The RTC is usually not compatible with macOS

To get around the first effect, encounter here: Fixing AWAC (opens new window)

For the second one, it's quite piece of cake to tell you take RTC problems when yous either shutdown or restart. Specifically y'all'll be greeted with a "BIOS Restarted in Safemode" error. To prepare this, we'll need to prevent macOS from writing to the RTC regions causing these issues. There are a couple fixes:

  • DisableRtcChecksum: Prevent writing to primary checksum (0x58-0x59), works with most boards
  • UEFI -> ProtoclOverride -> AppleRtcRam + NVRAM -> Add -> rtc-blacklist
    • Blacklists sure regions at the firmware level, see Configuration.pdf (opens new window) for more info on how to set up this upward
  • RTCMemoryFixup (opens new window) + rtcfx_exclude=
    • Blacklists certain regions at the kernel level, come across README for more info on how to setup

With some legacy boards, you may actually need to patch your RTC: Z68 RTC (opens new window)

# IRQ Conflicts

IRQ issues ordinarily occur during bootups but some may observe that IRQ calls can break with slumber, this gear up is fairly easy:

  • SSDTTime (opens new window)
    • First dump your DSDT in Linux/Windows
    • and so select FixHPET option

This will provide you with both SSDT-HPET.aml and patches_OC.plist, You will want to add the SSDT to EFI/OC/ACPI and add the ACPI patches into your config.plist from the patches_OC.plist

# Sound

Unmanaged or incorrectly managed audio devices tin also crusade problems, either disable unused sound devices in your BIOS or verify they're working correctly here:

  • Fixing Audio

# SMBus

Main reason you'd care about SMBus is AppleSMBus can assistance properly manage both SMBus and PCI devices like with power states. Trouble is the kext commonly won't load by itself, so y'all'll need to really create the SSDT-SMBS-MCHC.

See here on more info on how to brand it: Fixing SMBus support (opens new window)

# TSC

The TSC(Time Postage stamp Counter) is responsible for making sure you're hardware is running at the correct speed, problem is some firmware(mainly HEDT/Server and Asus Laptops) will non write the TSC to all cores causing issues. To get around this, we have three options:

  • CpuTscSync (opens new window)
    • For troublesome laptops
  • VoodooTSCSync (opens new window)
    • For most HEDT hardware
  • TSCAdjustReset (opens new window)
    • For Skylake X/W/SP and Cascade Lake X/W/SP hardware

The onetime two are plug n play, while the latter will need some customizations:

  • Open upwardly the kext(ShowPackageContents in finder, Contents -> Info.plist) and change the Info.plist -> IOKitPersonalities -> IOPropertyMatch -> IOCPUNumber to the number of CPU threads yous have starting from 0(i9 7980xe eighteen core would be 35 as it has 36 threads total)
  • Compiled version can be found hither: TSCAdjustReset.kext (opens new window)

The most common mode to see the TSC issue:

Instance ane Instance ii

Source: https://dortania.github.io/OpenCore-Post-Install/universal/sleep.html

Posted by: langdreak1947.blogspot.com

0 Response to "How To Repair Wallpaper Holes?trackid=sp-006"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel