AMD hat einen offiziellen Treiber zur Prüfung eingereicht, um unter Linux mehrere Leistungs- und Stromgrenzen der Ryzen-Prozessoren anzupassen. Das Projekt trägt den Namen AOD, Abkürzung für AMD Overclocking Driver, und nutzt eine Firmware-Schnittstelle der Plattform, um diese Kontrollen im Betriebssystem offenzulegen.
Die vorgeschlagene Lösung ist noch kein Teil des Kernels. Die Änderungen wurden am 10. Oktober an die Entwicklerliste gesendet und am 21. Oktober breiter bekannt gemacht. Derzeit gibt es außerdem noch keine grafische Anwendung von AMD, um sie zu nutzen: Der erste Patch zielt darauf ab, eine Schnittstelle über sysfs bereitzustellen.
Drei Grenzwerte, die unter Linux konfiguriert werden können
Der Treiber ermöglicht das Schreiben der Werte PPT, TDC und EDC. PPT legt die Leistungsgrenze fest, die der Prozessor verbrauchen darf; TDC und EDC beziehen sich auf Stromgrenzen bei andauernder Belastung bzw. Kurzzeitspitzen. Der Patch erlaubt es, den unterstützten Bereich und die verfügbaren Schritte vor dem Schreiben eines Wertes abzufragen.
Es ist eine praktische Unterscheidung für diejenigen, die ihr System unter Linux anpassen. Bisher hingen diese Optionen überwiegend von der UEFI-Konfiguration oder von Tools Dritter ab. Mit AOD würde der Zugriff über eine Kernel-Schnittstelle erfolgen, die vom Hersteller gepflegt wird, vorausgesetzt, die Plattform verfügt über die notwendige Firmware-Unterstützung und dass die Patches am Ende integriert werden.
Die Existenz dieser Schnittstelle garantiert jedoch nicht, dass jeder Ryzen alle Kontrollen unterstützt. Die Verfügbarkeit hängt vom Prozessor, vom Mainboard und davon ab, wie die Firmware die Funktionen bereitstellt. Das bedeutet auch nicht, dass das Ändern dieser Grenzwerte automatisch zu mehr Leistung führt: Das Endergebnis bleibt durch Kühlung und Systemrestriktionen begrenzt.
Die Leistungsänderungen erfordern einen Neustart
Eine wichtige Einschränkung dieser ersten Version besteht darin, dass die neuen Werte von PPT, TDC und EDC im Firmware-Speicher hinterlegt werden und erst nach einem Neustart des Computers wirksam werden. Sie sind nicht unmittelbar während einer Test- oder Spielsitzung anzuwenden.
Das Firmware meldet dem Treiber auch nicht, welche Grenzwerte aktuell aktiv sind. Daher dienen die entsprechenden Attribute dazu, eine Konfiguration zu schreiben, aber nicht dazu, den tatsächlichen Wert auszulesen. Es ist jedoch möglich, die zulässigen Intervalle abzurufen. Diese Trennung sollte beim Vergleich des Patches mit anderen Wegen zur Änderung der Grenzwerte eines Ryzen berücksichtigt werden.
In der Dokumentation wird AOD von HSMP unterschieden, einer weiteren Verwaltungsoberfläche, die auf bestimmten AMD-Plattformen vorhanden ist. AOD ändert eine persistente Firmware-Einstellung, die mit dem PPT-Limit von Precision Boost Overdrive verbunden ist. HSMP kann ein Limit zur Laufzeit ändern, aber diese Änderung geht beim Neustart verloren. Es handelt sich um unterschiedliche Mechanismen und der neue Treiber ersetzt nicht alle Möglichkeiten von HSMP.
Auch die SMT-Steuerung ist vorgesehen
Die Patchs enthalten einen Schalter zum Aktivieren bzw. Deaktivieren von SMT auf Plattformebene. SMT ermöglicht es einem physischen Kern, mehr als einen logischen Thread auszuführen. Linux verfügt bereits über Möglichkeiten, diese Threads zu deaktivieren, aber die im AOD-Ansatz vorgesehene Funktion arbeitet über die Firmware, statt sie nur im Kernel abzuschalten.
Ein weiterer angezeigter Wert ist die aktuelle Speichergeschwindigkeit, obwohl dieser hier nur gelesen werden kann. Die erste Version beschränkt sich daher auf einige wenige konkrete Parameter. Die Firmware erkennt zwar weitere Befehle, und der Treiber könnte seine Funktionen in zukünftigen Revisionen erweitern, aber man sollte heute keine Optionen unterstellen, die noch nicht implementiert sind.
Der Vorschlag reserviert auch einen Debugging-Pfad, um auf WMI-Methoden der Firmware zuzugreifen. Dieser Pfad wird nicht als stabile Schnittstelle für Anwendungen präsentiert, sodass Programme für Benutzerfreundlichkeit auf die dokumentierten Sysfs-Kontrollen angewiesen sein sollten, falls der Code angenommen wird.
Ryzen Master kommt mit diesen Patches nicht nach Linux
AMD hat keine Version von Ryzen Master für Linux zusammen mit diesen Patchs vorgestellt. AOD ist ein Kernel-Treiber, ohne Fenster, ohne grafische Profile und ohne offiziell angekündigtes Desktop-Tool. Eine zukünftige Anwendung könnte seine Kontrollen nutzen, aber derzeit wäre es eine Entwicklungsmöglichkeit, kein verfügbares Feature.
Die Serie besteht aus drei Patchs, die vom AMD-Ingenieur Shyam Sundar S K signiert wurden. Zusätzlich zum Treiber selbst ordnet er im Kernel-X86-Baum die WMI-Treiber des Unternehmens ein. Der Code unterliegt einer öffentlichen Überprüfung, ein Prozess, in dem Schnittstelle, Funktionen oder Implementierungsdetails vor einer möglichen Annahme geändert werden können.
AMD hat auch nicht bekannt gegeben, in welcher Linux-Version es erscheinen könnte. Folglich können Benutzer heute kein stabiles Kernel-Update installieren und erwarten, dass diese Kontrollen offiziell funktionieren. Die Nachricht ist die Vorstellung eines technischen Vorschlags, der diese Möglichkeit eröffnet, mit klar definierten Grenzen und noch ausstehender Integration.