TL; DR - meine Forschung legt nahe, dass es nicht im Beta-Image von 17.04 oder in der Veröffentlichung behoben ist, aber ich habe große Hoffnungen auf 17.10.
Diese Einfrierungen treten auf, wenn der Prozessor versucht, in einen Energiesparmodus (C-Status) zu wechseln, den der Kernel nicht unterstützt. Dieses Problem wurde von eingeführt
commit 8fb55197e64d5988ec57b54e973daeea72c3f2ff
Date: Tue Apr 7 16:20:28 2015 +0100
drm/i915: Aggressive downclocking on Baytrail
Dies wurde in Kernel 4.2 vorgelagert, und wir haben seitdem Probleme. Wie in der Antwort von heynnema (und in diesem Beitrag, in dem ich versucht habe, Informationen zu sammeln ) erläutert, gibt es eine einfache und effektive Problemumgehung, bei der ein Boot-Parameter übergeben wird, der die Zustände mit geringem Stromverbrauch deaktiviert.
Die derzeit verfügbare Beta-Version von 17.04 verwendet 4.9 (soweit ich weiß, basiert sie auf dem Upstream 4.9.6). Bis zur Veröffentlichung im April glaube ich, dass 4.10 verwendet wird . Das Problem besteht in diesen Kerneln immer noch, daher bin ich zu dem Schluss gekommen, dass es derzeit noch nicht behoben ist . Ich habe die Ubuntu-Kernel-Änderungsprotokolle überprüft und nichts gefunden, aber bitte korrigieren Sie mich, wenn ich falsch liege.
Ich habe den C-State-Fehler hier auf kernel.org schon lange verfolgt. Im Januar 2017 hat Mika Kuoppala diesen Patch zum Thread hinzugefügt . Anscheinend wird das frühere Commit zurückgesetzt, das das Problem verursacht hat. Der Patch heißt
drm/i915/byt: Avoid tweaking evaluation thresholds
Tests zeigen sehr gute Ergebnisse mit diesem Patch, der am 25. Januar den Besitzern des i915-Treibers übermittelt wurde. Wenn alles in Ordnung ist, kann es im 4.11-Fenster zusammengeführt werden. Der 4.11-Kernel wird möglicherweise Ende April veröffentlicht. Eine Version dieses Patches wurde im 4.11-Fenster zusammengeführt und Berichte zeigen an, dass der Fehler in 4.11 behoben ist.
Jeder der problematischen BayTrail-Prozessoren verhält sich mit jedem Kernel etwas anders. In 16.04 (4.4 Kernel) betrug meine Betriebszeit auf Atom Z3735F ohne den Parameter intel_idle ungefähr 15 Minuten vor dem Einfrieren. Ich habe die Beta-Version 17.04 ISO im Live-Modus getestet und in 90 Minuten kein Einfrieren erhalten. Es scheint also, als hätte ich Glück mit diesem Kernel. Sie können das Gleiche tun, um jedes Image auf Ihrem System zu testen. Erstellen Sie einfach einen bootfähigen USB-Stick und testen Sie Ubuntu ohne Installation und testen Sie es so lange wie möglich.
Als 17.04 herauskam, habe ich es installiert und in den ersten zwei Wochen ohne den intel_idle
Parameter ausgeführt. Ich hatte nur drei C-State-Freezes, was eine enorme Verbesserung gegenüber früheren Versionen darstellt.
Am sichersten ist es, den Boot-Parameter zu verwenden. Aufgrund meiner Recherchen erwarte ich, dass der Fehler in 17.10 (und in anderen Distribution-Releases später in diesem Jahr) behoben wird, wobei ein Kernel> = 4.11 verwendet wird, jedoch nicht in 17.04.
Es besteht jedoch immer die Möglichkeit, dass das Ubuntu-Kernel-Team es selbst patcht. Wenn Sie es tolerieren können, gelegentlich ein instabiles System auszuführen, können Sie den Fortschritt überwachen, indem Sie regelmäßige Updates ( sudo apt update && sudo apt full-upgrade
) ausführen und jeden neuen Kernel ohne den Boot-Parameter testen, wenn er eintrifft. Sie können die Änderungsprotokolle auch lesen , wenn neue Pakete installiert werden, oder (wenn Sie Instabilität tolerieren können) einen Mainline-Kernel installieren .
i915
wahrscheinlich durch denselben Patch behoben wird. Im Fehlerbericht geht es jedoch um Probleme, die durch den Parameter intel_idle behoben wurden. Wenn dies bei Ihnen nicht funktioniert, handelt es sich um einen anderen Fehler Kernel Leute. Können Sie bitte einen Fehlerbericht oder einen Forenthread bereitstellen (Sie sagen, andere teilen Ihr Problem), in dem ich mehr erfahren kann, damit ich Ihnen raten kann, was als nächstes zu tun ist? (Ich denke, Sie müssen möglicherweise eine neue Frage stellen)Eine Lösung hierfür finden Sie unter Festlegen von intel_idle.max_cstate = 1 .
Geben Sie
terminal
Folgendes ein:und ändern Sie diese Zeile:
um dies aufzunehmen:
dann mach:
Dies ist ein Intel-Problem, kein Ubuntu-Problem, aber Gott sei Dank, dass wir eine Lösung haben.
Niemand weiß, ob Ubuntu 17.04 dieses Update benötigt oder nicht.
quelle
Laut Kommentar Nr. 1013 im Fehlerbericht ist dies nun behoben:
Es hat ungefähr vier Jahre gedauert, um diesen Fehler zu beheben, der erstmals am 8. Dezember 2015 gemeldet wurde.
quelle