Alex Cheema 4 months ago
parent
commit
a932afc01c
1 changed files with 147 additions and 0 deletions
  1. 147 0
      .github/bootstrap.sh

+ 147 - 0
.github/bootstrap.sh

@@ -169,6 +169,85 @@ log "Configuring runner with labels: $CUSTOM_LABELS"
 # Set optimal performance settings
 # Set optimal performance settings
 log "Configuring system for optimal performance..."
 log "Configuring system for optimal performance..."
 
 
+# Force high power mode using system preferences
+log "Setting power mode to high performance..."
+
+# Set power mode using defaults for all locations
+sudo defaults write /Library/Preferences/.GlobalPreferences.plist com.apple.PowerManagement.PowerMode -int 2
+sudo defaults write /Library/Preferences/com.apple.PowerManagement PowerMode -int 2
+sudo defaults write -g PowerMode -int 2
+
+# Create power mode override file
+sudo mkdir -p /Library/Preferences/SystemConfiguration/
+sudo tee /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist << EOF
+<?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>ActivePowerProfiles</key>
+    <dict>
+        <key>AC Power</key>
+        <dict>
+            <key>PowerMode</key>
+            <integer>2</integer>
+            <key>ForcedPowerMode</key>
+            <integer>2</integer>
+            <key>LowPowerModeEnabled</key>
+            <false/>
+            <key>AutoPowerModeEnabled</key>
+            <false/>
+            <key>HighPowerMode</key>
+            <true/>
+            <key>ReduceBrightness</key>
+            <false/>
+            <key>DynamicPowerStep</key>
+            <false/>
+            <key>GPUSwitch</key>
+            <integer>2</integer>
+        </dict>
+        <key>Battery Power</key>
+        <dict>
+            <key>PowerMode</key>
+            <integer>2</integer>
+            <key>ForcedPowerMode</key>
+            <integer>2</integer>
+            <key>LowPowerModeEnabled</key>
+            <false/>
+            <key>AutoPowerModeEnabled</key>
+            <false/>
+            <key>HighPowerMode</key>
+            <true/>
+            <key>ReduceBrightness</key>
+            <false/>
+            <key>DynamicPowerStep</key>
+            <false/>
+            <key>GPUSwitch</key>
+            <integer>2</integer>
+        </dict>
+    </dict>
+    <key>SystemPowerProfileOverride</key>
+    <integer>2</integer>
+    <key>Custom Profile</key>
+    <dict>
+        <key>AC Power</key>
+        <dict>
+            <key>PowerMode</key>
+            <integer>2</integer>
+            <key>ForcedPowerMode</key>
+            <integer>2</integer>
+        </dict>
+        <key>Battery Power</key>
+        <dict>
+            <key>PowerMode</key>
+            <integer>2</integer>
+            <key>ForcedPowerMode</key>
+            <integer>2</integer>
+        </dict>
+    </dict>
+</dict>
+</plist>
+EOF
+
 # Configure power management settings for maximum performance
 # Configure power management settings for maximum performance
 log "Setting power management options..."
 log "Setting power management options..."
 sudo pmset -a displaysleep 0
 sudo pmset -a displaysleep 0
@@ -183,6 +262,67 @@ sudo pmset -a acwake 0
 sudo pmset -a lidwake 0
 sudo pmset -a lidwake 0
 sudo pmset -a lessbright 0
 sudo pmset -a lessbright 0
 sudo pmset -a halfdim 0
 sudo pmset -a halfdim 0
+sudo pmset -a autopoweroff 0
+sudo pmset -a standby 0
+
+# Create a script to continuously enforce high power mode
+sudo tee /usr/local/bin/enforce_high_power.sh << 'EOF'
+#!/bin/bash
+
+while true; do
+    # Set power mode using defaults
+    defaults write com.apple.systempreferences PowerMode -int 2
+    defaults write -g PowerMode -int 2
+    
+    # Check current power mode
+    current_mode=$(pmset -g | grep powermode | awk '{print $2}')
+    if [ "$current_mode" != "2" ]; then
+        # Force high power mode using additional methods
+        sudo pmset -a lessbright 0
+        sudo pmset -a halfdim 0
+        sudo defaults write /Library/Preferences/com.apple.PowerManagement PowerMode -int 2
+    fi
+    
+    sleep 60
+done
+EOF
+
+sudo chmod +x /usr/local/bin/enforce_high_power.sh
+
+# Create LaunchDaemon to run the enforcement script
+sudo tee /Library/LaunchDaemons/com.local.powermode.plist << EOF
+<?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>Label</key>
+    <string>com.local.powermode</string>
+    <key>ProgramArguments</key>
+    <array>
+        <string>/usr/local/bin/enforce_high_power.sh</string>
+    </array>
+    <key>RunAtLoad</key>
+    <true/>
+    <key>KeepAlive</key>
+    <true/>
+    <key>ThrottleInterval</key>
+    <integer>0</integer>
+    <key>ProcessType</key>
+    <string>Interactive</string>
+    <key>Nice</key>
+    <integer>-20</integer>
+</dict>
+</plist>
+EOF
+
+sudo chmod 644 /Library/LaunchDaemons/com.local.powermode.plist
+sudo chown root:wheel /Library/LaunchDaemons/com.local.powermode.plist
+sudo launchctl load -w /Library/LaunchDaemons/com.local.powermode.plist
+
+# Verify power settings
+log "Verifying power settings..."
+pmset -g
+system_profiler SPPowerDataType
 
 
 # Create performance mode configuration with supported settings
 # Create performance mode configuration with supported settings
 sudo tee /Library/Preferences/com.apple.perfmode.plist << EOF
 sudo tee /Library/Preferences/com.apple.perfmode.plist << EOF
@@ -194,10 +334,17 @@ sudo tee /Library/Preferences/com.apple.perfmode.plist << EOF
     <string>Performance</string>
     <string>Performance</string>
     <key>PowerMode</key>
     <key>PowerMode</key>
     <integer>2</integer>
     <integer>2</integer>
+    <key>LowPowerModeEnabled</key>
+    <false/>
+    <key>ForcedPowerMode</key>
+    <integer>2</integer>
 </dict>
 </dict>
 </plist>
 </plist>
 EOF
 EOF
 
 
+# Force high performance mode using powermetrics
+sudo powermetrics --show-process-energy --samplers cpu_power -i 1000 -n 1 2>/dev/null || true
+
 # Enhanced Metal and GPU settings using defaults
 # Enhanced Metal and GPU settings using defaults
 defaults write com.apple.CoreML MPSEnableGPUValidation -bool false
 defaults write com.apple.CoreML MPSEnableGPUValidation -bool false
 defaults write com.apple.CoreML MPSEnableMetalValidation -bool false
 defaults write com.apple.CoreML MPSEnableMetalValidation -bool false