mirror of
https://github.com/LukeHagar/omarchy.git
synced 2025-12-07 20:47:49 +00:00
macbook 12' fixes on login keyboard & suspend wake up (#1959)
* macbook 12' fixes on login keyboard & suspend wake up - apple spi keyboard production_name pattern fixed: Macbook 12' are MacBook8,1 9,1 and 10,1 for 2015, 2016 and 2017 models The MacBookPro12,1 is not a thing. ref: https://everymac.com/ultimate-mac-lookup/?identify=MacBook10%2C1 - add fix-apple-suspend-nvme.sh to fix MacBooks with NVMe cannot wake up ref: https://github.com/Dunedan/mbp-2016-linux?tab=readme-ov-file#suspend--hibernation * fix escapes in file path * add invocation in all.sh and migration script * Fix paths --------- Co-authored-by: David Heinemeier Hansson <david@hey.com>
This commit is contained in:
@@ -28,4 +28,5 @@ run_logged $OMARCHY_INSTALL/config/hardware/nvidia.sh
|
|||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm43xx.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm43xx.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
|
||||||
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-suspend-nvme.sh
|
||||||
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh
|
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh
|
||||||
|
|||||||
38
install/config/hardware/fix-apple-suspend-nvme.sh
Normal file
38
install/config/hardware/fix-apple-suspend-nvme.sh
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# Fix NVMe suspend issues on MacBook models
|
||||||
|
# This prevents NVMe drives from failing to wake from sleep properly
|
||||||
|
MACBOOK_MODEL=$(cat /sys/class/dmi/id/product_name 2>/dev/null || true)
|
||||||
|
|
||||||
|
if [[ "$MACBOOK_MODEL" =~ MacBook(8,1|9,1|10,1)|MacBookPro13,[123]|MacBookPro14,[123] ]]; then
|
||||||
|
echo "Detected MacBook model: $MACBOOK_MODEL"
|
||||||
|
echo "Applying NVMe suspend fix..."
|
||||||
|
|
||||||
|
# Check if the NVMe device exists at the expected PCI address
|
||||||
|
NVME_DEVICE="/sys/bus/pci/devices/0000:01:00.0/d3cold_allowed"
|
||||||
|
|
||||||
|
if [[ -f "$NVME_DEVICE" ]]; then
|
||||||
|
# Apply the fix immediately to prevent d3cold power state issues
|
||||||
|
echo 0 | sudo tee "$NVME_DEVICE" >/dev/null || true
|
||||||
|
|
||||||
|
# Create systemd service to ensure fix persists across reboots
|
||||||
|
# The service runs after multi-user.target to ensure the device is available
|
||||||
|
cat <<EOF | sudo tee /etc/systemd/system/omarchy-nvme-suspend-fix.service >/dev/null
|
||||||
|
[Unit]
|
||||||
|
Description=Omarchy NVMe Suspend Fix for MacBook
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/bin/bash -c 'echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed'
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Enable the service to run on boot
|
||||||
|
sudo systemctl enable omarchy-nvme-suspend-fix.service
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
|
||||||
|
echo "NVMe suspend fix applied and systemd service enabled"
|
||||||
|
else
|
||||||
|
echo "Warning: NVMe device not found at expected PCI address (0000:01:00.0)"
|
||||||
|
echo "This fix may not be needed for this MacBook model"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
3
migrations/1759913695.sh
Normal file
3
migrations/1759913695.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
echo "Fix NVMe suspend issues on MacBook models"
|
||||||
|
|
||||||
|
bash $OMARCHY_PATH/install/config/hardware/fix-apple-suspend-nvme.sh
|
||||||
Reference in New Issue
Block a user