Tap to Play!

Back

Ergebnis der Recherchesession mit Claude:

Suspend/Resume-Fix: Ubuntu 25.10 auf MacBook Air 5,1 (2012)#

Problem#

Ubuntu 25.10 auf einem MacBook Air 5,1 (Mid 2012, Intel HD 4000, i915-Treiber) konnte nach dem Suspend nicht reaktiviert werden. Weder Display noch Tastaturbeleuchtung wurden wiederhergestellt. Ein Neustart war jedes Mal erforderlich.

Ursache#

Der Kernel verwendete standardmäßig S3-Tiefschlaf (deep), dessen ACPI-Resume-Pfad mit Apples EFI inkompatibel ist. Das Apple-EFI ignoriert bewusst _OSI(Linux) und ist nur auf macOS ausgelegt, was den Resume-Handshake blockiert. Zusätzlich war die GNOME-seitige Konfiguration für den Lid-Switch unvollständig.

Lösung#

1. GRUB-Konfiguration anpassen#

Datei bearbeiten:

sudo nano /etc/default/grub
bash

GRUB_CMDLINE_LINUX_DEFAULT um folgende Parameter ergänzen:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_sleep=nonvs mem_sleep_default=s2idle"
plaintext

Danach GRUB aktualisieren und neu starten:

sudo update-grub
sudo reboot
bash

Wirkung:

  • mem_sleep_default=s2idle wechselt vom fehlerhaften S3-Tiefschlaf auf Software-Sleep (s2idle), der die Hardware weniger aggressiv abschaltet und den problematischen ACPI-Resume-Pfad umgeht.
  • acpi_sleep=nonvs verhindert, dass der Kernel den ACPI NVS-Speicher beim Suspend sichert – ein bekannter Workaround für Apple-Hardware mit fehlerhaftem ACPI.

2. systemd-logind konfigurieren#

Datei bearbeiten:

sudo nano /etc/systemd/logind.conf
bash

Folgende Zeilen setzen (kein # davor):

HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend
HandleLidSwitchDocked=suspend
LidSwitchIgnoreInhibited=yes
ini

Dienst neu starten:

sudo systemctl restart systemd-logind
bash

3. GNOME Power Settings konfigurieren#

Da GNOME den systemd-logind-Suspend für den Lid-Switch überschreibt, muss es separat konfiguriert werden:

gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'suspend'
gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action 'suspend'
bash

Wirkt sofort, kein Neustart erforderlich.


Ergebnis#

FunktionStatus
Suspend per systemctl suspend✅ funktioniert
Suspend durch Zuklappen des Deckels✅ funktioniert
Aufwachen per Tastendruck✅ funktioniert
Aufwachen durch Öffnen des Deckels❌ nicht möglich

Bekannte Einschränkung#

Das Öffnen des Laptop-Deckels weckt das System nicht auf. Der Lid-Switch auf diesem MacBook läuft über einen proprietären EC-Kanal des Apple-EFI, der unter Linux mit s2idle keinen Wakeup-IRQ erzeugt. Eine Lösung auf Kernel- oder ACPI-Ebene konnte nicht gefunden werden. Aufwachen per Tastendruck funktioniert als Workaround zuverlässig.