fix(hardware): prevent ~130s sleep wake stall on MacBook Pro 2016-2017 - #9899
Open
tcholewa wants to merge 1 commit into
Open
fix(hardware): prevent ~130s sleep wake stall on MacBook Pro 2016-2017#9899tcholewa wants to merge 1 commit into
tcholewa wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes a ~130-second system freeze on wake from ACPI S3 (
deep) sleep on MacBook Pro 2016–2017 models (MacBookPro13,x and MacBookPro14,x).Root Cause
On MacBook Pro 2016–2017 models equipped with Intel Alpine Ridge Thunderbolt 3 controllers (
8086:15d2NHI /8086:15d4integrated xHCI), Apple firmware cuts power to the controller during S3 sleep. On wake,xhci_hcdpolls the unpowered PCIe device (0000:07:00.0), hitting exponential backoff timeouts (1023ms->2047ms-> ... ->65535ms) totalling ~130 seconds beforepciehpdrops the dead device.Solution
install/hardware/apple/fix-suspend-thunderbolt.shto remove unpowered8086:15d4PCIe devices prior to S3 sleep.thunderboltandfacetimehdbefore sleep to prevent kernel call traces and unneeded sensor power-on.hl.dsp.dpms({ action = "enable" })upon resume across active Hyprland user sessions so the display backlight lights up immediately.0000:00:1c.4) after resume.manual/44-mac-support.mdwith documentation.