Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-2967GitHub issuePublicReceived

GPU Switcher for T2 Macbooks with Intel iGPU and AMD dGPU

Reported by ngodn · filed Sep 21, 2025Closed upstream on 2026-02-01. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.

Received and recorded verbatim. Nothing has been checked yet.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
Not yet mapped to any requirement or component.
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

GPU Switcher for T2 Macbooks with Intel iGPU and AMD dGPUrevision 1 · captured 2026-10-04 11:35 UTC via poll

What do you need?

T2 Linux GPU Switcher
Usage: sudo ./gpu-switcher.sh [OPTION]

Options:
  intel-only    Configure Intel GPU only (power saving)
  amd-only      Configure AMD GPU only (performance)
  hybrid        Configure both GPUs (hybrid mode)
  restore       Restore previous configuration
  status        Show current GPU status
  amd-dpm-low   Set AMD DPM to low power (thermal management)
  amd-dpm-high  Set AMD DPM to high performance (gaming/rendering)
  help          Show this help message

Note: This script requires root privileges and will:
- Modify /etc/modprobe.d/ configurations
- Update GRUB configuration
- Configure AMD DPM via udev rules
- Regenerate initramfs
- Require a reboot to take effect (except DPM changes)

Script

#!/bin/bash

# T2 Linux GPU Switcher Script
# Manages Intel iGPU and AMD dGPU configuration

set -e

APPLE_GMUX_CONF="/etc/modprobe.d/apple-gmux.conf"
BLACKLIST_CONF="/etc/modprobe.d/gpu-blacklist.conf"
GRUB_CONFIG="/etc/default/grub"
AMDGPU_DPM_RULES="/etc/udev/rules.d/30-amdgpu-pm.rules"
BACKUP_DIR="/home/eins0fx/.gpu-switcher-backup"

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

print_status() {
    echo -e "${BLUE}[INFO]${NC} $1"
}

print_success() {
    echo -e "${GREEN}[SUCCESS]${NC} $1"
}

print_warning() {
    echo -e "${YELLOW}[WARNING]${NC} $1"
}

print_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

check_root() {
    if [[ $EUID -ne 0 ]]; then
        print_error "This script must be run as root (use sudo)"
        exit 1
    fi
}

create_backup() {
    print_status "Creating backup of current configuration..."
    mkdir -p "$BACKUP_DIR"

    # Backup current configs
    [[ -f "$APPLE_GMUX_CONF" ]] && cp "$APPLE_GMUX_CONF" "$BACKUP_DIR/apple-gmux.conf.bak"
    [[ -f "$BLACKLIST_CONF" ]] && cp "$BLACKLIST_CONF" "$BACKUP_DIR/gpu-blacklist.conf.bak"
    [[ -f "$GRUB_CONFIG" ]] && cp "$GRUB_CONFIG" "$BACKUP_DIR/grub.bak"
    [[ -f "$AMDGPU_DPM_RULES" ]] && cp "$AMDGPU_DPM_RULES" "$BACKUP_DIR/30-amdgpu-pm.rules.bak"

    # Save current kernel cmdline
    cat /proc/cmdline > "$BACKUP_DIR/cmdline.bak"

    print_success "Backup created in $BACKUP_DIR"
}

restore_backup() {
    print_status "Restoring previous configuration..."

    if [[ ! -d "$BACKUP_DIR" ]]; then
        print_error "No backup found in $BACKUP_DIR"
        exit 1
    fi

    # Restore configs
    [[ -f "$BACKUP_DIR/apple-gmux.conf.bak" ]] && cp "$BACKUP_DIR/apple-gmux.conf.bak" "$APPLE_GMUX_CONF"
    [[ -f "$BACKUP_DIR/grub.bak" ]] && cp "$BACKUP_DIR/grub.bak" "$GRUB_CONFIG"
    [[ -f "$BACKUP_DIR/30-amdgpu-pm.rules.bak" ]] && cp "$BACKUP_DIR/30-amdgpu-pm.rules.bak" "$AMDGPU_DPM_RULES"

    # Remove files if they were created by this script
    [[ -f "$BLACKLIST_CONF" ]] && rm -f "$BLACKLIST_CONF"
    [[ -f "$AMDGPU_DPM_RULES" ]] && [[ ! -f "$BACKUP_DIR/30-amdgpu-pm.rules.bak" ]] && rm -f "$AMDGPU_DPM_RULES"

    update_system
    print_success "Configuration restored from backup"
}

configure_intel_only() {
    print_status "Configuring Intel GPU only..."

    # Enable iGPU in apple-gmux
    echo "# Enable the iGPU by default if present" > "$APPLE_GMUX_CONF"
    echo "options apple-gmux force_igd=y" >> "$APPLE_GMUX_CONF"

    # Blacklist AMD GPU
    echo "# Blacklist AMD GPU for Intel-only mode" > "$BLACKLIST_CONF"
    echo "blacklist amdgpu" >> "$BLACKLIST_CONF"
    echo "blacklist radeon" >> "$BLACKLIST_CONF"

    # Remove AMD DPM rules since AMD GPU is blacklisted
    [[ -f "$AMDGPU_DPM_RULES" ]] && rm -f "$AMDGPU_DPM_RULES"

    # Ensure Intel GUC is enabled
    if ! grep -q "i915.enable_guc=2" "$GRUB_CONFIG"; then
        sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&i915.enable_guc=2 /' "$GRUB_CONFIG"
    fi

    print_success "Intel GPU only configuration applied"
}

configure_amd_only() {
    print_status "Configuring AMD GPU only..."

    # Disable iGPU in apple-gmux
    echo "# Disable the iGPU to use dGPU" > "$APPLE_GMUX_CONF"
    echo "options apple-gmux force_igd=n" >> "$APPLE_GMUX_CONF"

    # Blacklist Intel GPU
    echo "# Blacklist Intel GPU for AMD-only mode" > "$BLACKLIST_CONF"
    echo "blacklist i915" >> "$BLACKLIST_CONF"

    # Configure AMD GPU DPM for low power (default for better thermal management)
    echo "# Set AMD GPU to low power mode by default" > "$AMDGPU_DPM_RULES"
    echo "SUBSYSTEM==\"drm\", DRIVERS==\"amdgpu\", ATTR{device/power_dpm_force_performance_level}=\"low\"" >> "$AMDGPU_DPM_RULES"

    # Remove Intel GUC parameter
    sed -i 's/ i915.enable_guc=[0-9]//g' "$GRUB_CONFIG"

    print_success "AMD GPU only configuration applied"
}

configure_hybrid() {
    print_status "Configuring hybrid graphics (both GPUs available)..."

    # Allow both GPUs, but prefer dGPU
    echo "# Allow both GPUs - hybrid mode" > "$APPLE_GMUX_CONF"
    echo "options apple-gmux force_igd=n" >> "$APPLE_GMUX_CONF"

    # Remove any GPU blacklists
    [[ -f "$BLACKLIST_CONF" ]] && rm -f "$BLACKLIST_CONF"

    # Configure AMD GPU DPM for low power (default for better thermal management)
    echo "# Set AMD GPU to low power mode by default in hybrid mode" > "$AMDGPU_DPM_RULES"
    echo "SUBSYSTEM==\"drm\", DRIVERS==\"amdgpu\", ATTR{device/power_dpm_force_performance_level}=\"low\"" >> "$AMDGPU_DPM_RULES"

    # Keep Intel GUC for better performance
    if ! grep -q "i915.enable_guc=2" "$GRUB_CONFIG"; then
        sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&i915.enable_guc=2 /' "$GRUB_CONFIG"
    fi

    print_success "Hybrid graphics configuration applied"
}

update_system() {
    print_status "Updating system configuration..."

    # Update GRUB
    grub-mkconfig -o /boot/grub/grub.cfg

    # Regenerate initramfs
    mkinitcpio -P

    # Reload udev rules
    udevadm control --reload-rules
    udevadm trigger

    print_success "System configuration updated"
}

show_current_status() {
    echo -e "\n${BLUE}=== Current GPU Status ===${NC}"

    echo -e "\n${YELLOW}Loaded GPU drivers:${NC}"
    lsmod | grep -E "(i915|amdgpu)" || echo "No GPU drivers loaded"

    echo -e "\n${YELLOW}Active GPU (OpenGL):${NC}"
    if command -v glxinfo >/dev/null 2>&1; then
        glxinfo | grep -E "(OpenGL vendor|OpenGL renderer)" || echo "Unable to detect"
    else
        echo "glxinfo not available (install mesa-utils)"
    fi

    echo -e "\n${YELLOW}Apple GMux config:${NC}"
    [[ -f "$APPLE_GMUX_CONF" ]] && cat "$APPLE_GMUX_CONF" || echo "Not configured"

    echo -e "\n${YELLOW}GPU blacklist:${NC}"
    [[ -f "$BLACKLIST_CONF" ]] && cat "$BLACKLIST_CONF" || echo "No blacklists"

    echo -e "\n${YELLOW}AMD DPM configuration:${NC}"
    [[ -f "$AMDGPU_DPM_RULES" ]] && cat "$AMDGPU_DPM_RULES" || echo "No DPM rules configured"

    echo -e "\n${YELLOW}Current AMD DPM level:${NC}"
    if [[ -f /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level ]]; then
        cat /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level 2>/dev/null || echo "AMD GPU not active or accessible"
    else
        echo "AMD GPU not found or not loaded"
    fi

    echo -e "\n${YELLOW}Kernel parameters:${NC}"
    cat /proc/cmdline | grep -o 'i915[^ ]*' || echo "No i915 parameters"
}

set_amd_dpm() {
    local mode="$1"
    if [[ "$mode" != "low" && "$mode" != "high" ]]; then
        print_error "Invalid DPM mode. Use 'low' or 'high'"
        return 1
    fi

    print_status "Setting AMD DPM to $mode performance level..."

    # Update udev rules
    if [[ -f "$AMDGPU_DPM_RULES" ]]; then
        sed -i "s/=\"low\"/=\"$mode\"/g; s/=\"high\"/=\"$mode\"/g" "$AMDGPU_DPM_RULES"
        print_success "AMD DPM udev rule updated to $mode"
    else
        print_warning "No AMD DPM rules found. Run amd-only or hybrid mode first."
        return 1
    fi

    # Apply immediately if AMD GPU is loaded
    if [[ -f /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level ]]; then
        echo "$mode" | tee /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level >/dev/null 2>&1
        print_success "AMD DPM immediately set to $mode"
    else
        print_warning "AMD GPU not currently loaded. Changes will take effect after reboot."
    fi

    # Reload udev rules
    udevadm control --reload-rules
    udevadm trigger
}

show_help() {
    echo "T2 Linux GPU Switcher"
    echo "Usage: sudo $0 [OPTION]"
    echo ""
    echo "Options:"
    echo "  intel-only    Configure Intel GPU only (power saving)"
    echo "  amd-only      Configure AMD GPU only (performance)"
    echo "  hybrid        Configure both GPUs (hybrid mode)"
    echo "  restore       Restore previous configuration"
    echo "  status        Show current GPU status"
    echo "  amd-dpm-low   Set AMD DPM to low power (thermal management)"
    echo "  amd-dpm-high  Set AMD DPM to high performance (gaming/rendering)"
    echo "  help          Show this help message"
    echo ""
    echo "Note: This script requires root privileges and will:"
    echo "- Modify /etc/modprobe.d/ configurations"
    echo "- Update GRUB configuration"
    echo "- Configure AMD DPM via udev rules"
    echo "- Regenerate initramfs"
    echo "- Require a reboot to take effect (except DPM changes)"
}

main() {
    case "${1:-}" in
        "intel-only")
            check_root
            create_backup
            configure_intel_only
            update_system
            print_warning "Reboot required for changes to take effect"
            ;;
        "amd-only")
            check_root
            create_backup
            configure_amd_only
            update_system
            print_warning "Reboot required for changes to take effect"
            ;;
        "hybrid")
            check_root
            create_backup
            configure_hybrid
            update_system
            print_warning "Reboot required for changes to take effect"
            ;;
        "restore")
            check_root
            restore_backup
            print_warning "Reboot required for changes to take effect"
            ;;
        "status")
            show_current_status
            ;;
        "amd-dpm-low")
            check_root
            set_amd_dpm "low"
            ;;
        "amd-dpm-high")
            check_root
            set_amd_dpm "high"
            ;;
        "help"|"--help"|"-h")
            show_help
            ;;
        *)
            show_help
            exit 1
            ;;
    esac
}

main "$@"
View raw text
### What do you need?

```
T2 Linux GPU Switcher
Usage: sudo ./gpu-switcher.sh [OPTION]

Options:
  intel-only    Configure Intel GPU only (power saving)
  amd-only      Configure AMD GPU only (performance)
  hybrid        Configure both GPUs (hybrid mode)
  restore       Restore previous configuration
  status        Show current GPU status
  amd-dpm-low   Set AMD DPM to low power (thermal management)
  amd-dpm-high  Set AMD DPM to high performance (gaming/rendering)
  help          Show this help message

Note: This script requires root privileges and will:
- Modify /etc/modprobe.d/ configurations
- Update GRUB configuration
- Configure AMD DPM via udev rules
- Regenerate initramfs
- Require a reboot to take effect (except DPM changes)
```

## Script

```bash
#!/bin/bash

# T2 Linux GPU Switcher Script
# Manages Intel iGPU and AMD dGPU configuration

set -e

APPLE_GMUX_CONF="/etc/modprobe.d/apple-gmux.conf"
BLACKLIST_CONF="/etc/modprobe.d/gpu-blacklist.conf"
GRUB_CONFIG="/etc/default/grub"
AMDGPU_DPM_RULES="/etc/udev/rules.d/30-amdgpu-pm.rules"
BACKUP_DIR="/home/eins0fx/.gpu-switcher-backup"

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

print_status() {
    echo -e "${BLUE}[INFO]${NC} $1"
}

print_success() {
    echo -e "${GREEN}[SUCCESS]${NC} $1"
}

print_warning() {
    echo -e "${YELLOW}[WARNING]${NC} $1"
}

print_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

check_root() {
    if [[ $EUID -ne 0 ]]; then
        print_error "This script must be run as root (use sudo)"
        exit 1
    fi
}

create_backup() {
    print_status "Creating backup of current configuration..."
    mkdir -p "$BACKUP_DIR"

    # Backup current configs
    [[ -f "$APPLE_GMUX_CONF" ]] && cp "$APPLE_GMUX_CONF" "$BACKUP_DIR/apple-gmux.conf.bak"
    [[ -f "$BLACKLIST_CONF" ]] && cp "$BLACKLIST_CONF" "$BACKUP_DIR/gpu-blacklist.conf.bak"
    [[ -f "$GRUB_CONFIG" ]] && cp "$GRUB_CONFIG" "$BACKUP_DIR/grub.bak"
    [[ -f "$AMDGPU_DPM_RULES" ]] && cp "$AMDGPU_DPM_RULES" "$BACKUP_DIR/30-amdgpu-pm.rules.bak"

    # Save current kernel cmdline
    cat /proc/cmdline > "$BACKUP_DIR/cmdline.bak"

    print_success "Backup created in $BACKUP_DIR"
}

restore_backup() {
    print_status "Restoring previous configuration..."

    if [[ ! -d "$BACKUP_DIR" ]]; then
        print_error "No backup found in $BACKUP_DIR"
        exit 1
    fi

    # Restore configs
    [[ -f "$BACKUP_DIR/apple-gmux.conf.bak" ]] && cp "$BACKUP_DIR/apple-gmux.conf.bak" "$APPLE_GMUX_CONF"
    [[ -f "$BACKUP_DIR/grub.bak" ]] && cp "$BACKUP_DIR/grub.bak" "$GRUB_CONFIG"
    [[ -f "$BACKUP_DIR/30-amdgpu-pm.rules.bak" ]] && cp "$BACKUP_DIR/30-amdgpu-pm.rules.bak" "$AMDGPU_DPM_RULES"

    # Remove files if they were created by this script
    [[ -f "$BLACKLIST_CONF" ]] && rm -f "$BLACKLIST_CONF"
    [[ -f "$AMDGPU_DPM_RULES" ]] && [[ ! -f "$BACKUP_DIR/30-amdgpu-pm.rules.bak" ]] && rm -f "$AMDGPU_DPM_RULES"

    update_system
    print_success "Configuration restored from backup"
}

configure_intel_only() {
    print_status "Configuring Intel GPU only..."

    # Enable iGPU in apple-gmux
    echo "# Enable the iGPU by default if present" > "$APPLE_GMUX_CONF"
    echo "options apple-gmux force_igd=y" >> "$APPLE_GMUX_CONF"

    # Blacklist AMD GPU
    echo "# Blacklist AMD GPU for Intel-only mode" > "$BLACKLIST_CONF"
    echo "blacklist amdgpu" >> "$BLACKLIST_CONF"
    echo "blacklist radeon" >> "$BLACKLIST_CONF"

    # Remove AMD DPM rules since AMD GPU is blacklisted
    [[ -f "$AMDGPU_DPM_RULES" ]] && rm -f "$AMDGPU_DPM_RULES"

    # Ensure Intel GUC is enabled
    if ! grep -q "i915.enable_guc=2" "$GRUB_CONFIG"; then
        sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&i915.enable_guc=2 /' "$GRUB_CONFIG"
    fi

    print_success "Intel GPU only configuration applied"
}

configure_amd_only() {
    print_status "Configuring AMD GPU only..."

    # Disable iGPU in apple-gmux
    echo "# Disable the iGPU to use dGPU" > "$APPLE_GMUX_CONF"
    echo "options apple-gmux force_igd=n" >> "$APPLE_GMUX_CONF"

    # Blacklist Intel GPU
    echo "# Blacklist Intel GPU for AMD-only mode" > "$BLACKLIST_CONF"
    echo "blacklist i915" >> "$BLACKLIST_CONF"

    # Configure AMD GPU DPM for low power (default for better thermal management)
    echo "# Set AMD GPU to low power mode by default" > "$AMDGPU_DPM_RULES"
    echo "SUBSYSTEM==\"drm\", DRIVERS==\"amdgpu\", ATTR{device/power_dpm_force_performance_level}=\"low\"" >> "$AMDGPU_DPM_RULES"

    # Remove Intel GUC parameter
    sed -i 's/ i915.enable_guc=[0-9]//g' "$GRUB_CONFIG"

    print_success "AMD GPU only configuration applied"
}

configure_hybrid() {
    print_status "Configuring hybrid graphics (both GPUs available)..."

    # Allow both GPUs, but prefer dGPU
    echo "# Allow both GPUs - hybrid mode" > "$APPLE_GMUX_CONF"
    echo "options apple-gmux force_igd=n" >> "$APPLE_GMUX_CONF"

    # Remove any GPU blacklists
    [[ -f "$BLACKLIST_CONF" ]] && rm -f "$BLACKLIST_CONF"

    # Configure AMD GPU DPM for low power (default for better thermal management)
    echo "# Set AMD GPU to low power mode by default in hybrid mode" > "$AMDGPU_DPM_RULES"
    echo "SUBSYSTEM==\"drm\", DRIVERS==\"amdgpu\", ATTR{device/power_dpm_force_performance_level}=\"low\"" >> "$AMDGPU_DPM_RULES"

    # Keep Intel GUC for better performance
    if ! grep -q "i915.enable_guc=2" "$GRUB_CONFIG"; then
        sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&i915.enable_guc=2 /' "$GRUB_CONFIG"
    fi

    print_success "Hybrid graphics configuration applied"
}

update_system() {
    print_status "Updating system configuration..."

    # Update GRUB
    grub-mkconfig -o /boot/grub/grub.cfg

    # Regenerate initramfs
    mkinitcpio -P

    # Reload udev rules
    udevadm control --reload-rules
    udevadm trigger

    print_success "System configuration updated"
}

show_current_status() {
    echo -e "\n${BLUE}=== Current GPU Status ===${NC}"

    echo -e "\n${YELLOW}Loaded GPU drivers:${NC}"
    lsmod | grep -E "(i915|amdgpu)" || echo "No GPU drivers loaded"

    echo -e "\n${YELLOW}Active GPU (OpenGL):${NC}"
    if command -v glxinfo >/dev/null 2>&1; then
        glxinfo | grep -E "(OpenGL vendor|OpenGL renderer)" || echo "Unable to detect"
    else
        echo "glxinfo not available (install mesa-utils)"
    fi

    echo -e "\n${YELLOW}Apple GMux config:${NC}"
    [[ -f "$APPLE_GMUX_CONF" ]] && cat "$APPLE_GMUX_CONF" || echo "Not configured"

    echo -e "\n${YELLOW}GPU blacklist:${NC}"
    [[ -f "$BLACKLIST_CONF" ]] && cat "$BLACKLIST_CONF" || echo "No blacklists"

    echo -e "\n${YELLOW}AMD DPM configuration:${NC}"
    [[ -f "$AMDGPU_DPM_RULES" ]] && cat "$AMDGPU_DPM_RULES" || echo "No DPM rules configured"

    echo -e "\n${YELLOW}Current AMD DPM level:${NC}"
    if [[ -f /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level ]]; then
        cat /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level 2>/dev/null || echo "AMD GPU not active or accessible"
    else
        echo "AMD GPU not found or not loaded"
    fi

    echo -e "\n${YELLOW}Kernel parameters:${NC}"
    cat /proc/cmdline | grep -o 'i915[^ ]*' || echo "No i915 parameters"
}

set_amd_dpm() {
    local mode="$1"
    if [[ "$mode" != "low" && "$mode" != "high" ]]; then
        print_error "Invalid DPM mode. Use 'low' or 'high'"
        return 1
    fi

    print_status "Setting AMD DPM to $mode performance level..."

    # Update udev rules
    if [[ -f "$AMDGPU_DPM_RULES" ]]; then
        sed -i "s/=\"low\"/=\"$mode\"/g; s/=\"high\"/=\"$mode\"/g" "$AMDGPU_DPM_RULES"
        print_success "AMD DPM udev rule updated to $mode"
    else
        print_warning "No AMD DPM rules found. Run amd-only or hybrid mode first."
        return 1
    fi

    # Apply immediately if AMD GPU is loaded
    if [[ -f /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level ]]; then
        echo "$mode" | tee /sys/bus/pci/drivers/amdgpu/*/power_dpm_force_performance_level >/dev/null 2>&1
        print_success "AMD DPM immediately set to $mode"
    else
        print_warning "AMD GPU not currently loaded. Changes will take effect after reboot."
    fi

    # Reload udev rules
    udevadm control --reload-rules
    udevadm trigger
}

show_help() {
    echo "T2 Linux GPU Switcher"
    echo "Usage: sudo $0 [OPTION]"
    echo ""
    echo "Options:"
    echo "  intel-only    Configure Intel GPU only (power saving)"
    echo "  amd-only      Configure AMD GPU only (performance)"
    echo "  hybrid        Configure both GPUs (hybrid mode)"
    echo "  restore       Restore previous configuration"
    echo "  status        Show current GPU status"
    echo "  amd-dpm-low   Set AMD DPM to low power (thermal management)"
    echo "  amd-dpm-high  Set AMD DPM to high performance (gaming/rendering)"
    echo "  help          Show this help message"
    echo ""
    echo "Note: This script requires root privileges and will:"
    echo "- Modify /etc/modprobe.d/ configurations"
    echo "- Update GRUB configuration"
    echo "- Configure AMD DPM via udev rules"
    echo "- Regenerate initramfs"
    echo "- Require a reboot to take effect (except DPM changes)"
}

main() {
    case "${1:-}" in
        "intel-only")
            check_root
            create_backup
            configure_intel_only
            update_system
            print_warning "Reboot required for changes to take effect"
            ;;
        "amd-only")
            check_root
            create_backup
            configure_amd_only
            update_system
            print_warning "Reboot required for changes to take effect"
            ;;
        "hybrid")
            check_root
            create_backup
            configure_hybrid
            update_system
            print_warning "Reboot required for changes to take effect"
            ;;
        "restore")
            check_root
            restore_backup
            print_warning "Reboot required for changes to take effect"
            ;;
        "status")
            show_current_status
            ;;
        "amd-dpm-low")
            check_root
            set_amd_dpm "low"
            ;;
        "amd-dpm-high")
            check_root
            set_amd_dpm "high"
            ;;
        "help"|"--help"|"-h")
            show_help
            ;;
        *)
            show_help
            exit 1
            ;;
    esac
}

main "$@"
```

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

Not linked to any known issue, other report or change yet.

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

No decision has been recorded yet.