Der OneXPlayer-Linux-Treiber wird mit dem Windows-Treiber für diese Handhelds gleichgeschaltet
OneXPlayer unterhält eine Reihe von Handheld-Gaming-Konsolen, die an den Erfolg von Valve's Steam Deck, Lenovo Legion Go und ASUS ROG Ally anknüpfen. Diese OneXPlayer-Geräte werden standardmäßig mit Microsoft Windows ausgeliefert, aber die Linux-Unterstützung hat sich verbessert.
Eine Übersetzung von 🇬🇧 phoronix.com
In den letzten zwei Jahren wurde neben anderen Open-Source-Treibern ein OneXPlayer-Treiber zur Sensorüberwachung und -steuerung entwickelt, um die Unterstützung für diese AMD-betriebenen Gaming-Handhelds zu verbessern. Der OneXPlayer-Hardwareüberwachungstreiber hat seit seiner Einführung in Linux 6.2 zahlreiche Verbesserungen erfahren. Eine Reihe neuer Patches, die am Donnerstag veröffentlicht wurden, bringen diesen OneXPlayer-Treiber näher an die Unterstützung für diese Geräte unter Microsoft Windows.
Die neuen Patches fügen Unterstützung für die neueren OneXPlayer-Handheld-Konsolen des Modells "2024" sowie Unterstützung für die Akkuladungsbegrenzung und die Turbo-LED hinzu. Antheas Kapenekakis, der den Satz von 10 Patches veröffentlicht hat, erklärt:
"Diese dreiteilige Serie aktualisiert das oxpsensors-Modul, um es mit seinem Windows OneXPlayer-Pendant in Einklang zu bringen. Zunächst werden alle 2024 OneXPlayer-Handhelds und ihre speziellen Varianten unterstützt.
Dann werden die neuen Funktionen zur Ladungsbegrenzung und zum Bypass hinzugefügt, die erstmals im X1 eingeführt wurden und für ältere OneXFly-Varianten sowie zur Steuerung der Turbo-LED in den X1-Modellen nachgerüstet werden können. Für Bypass gibt es eine neue Bypass-Variante BypassS0, die nur aktiv ist, wenn sich das Gerät im S0-Zustand befindet."
Aber der dritte und wahrscheinlich umstrittenere Teil ist ein User-Space-ABI-Break... Einige Brüche sind für den Upstream-Linux-Kernel normalerweise nicht erlaubt. Die Änderung betrifft die sysfs-Schnittstelle für User-Space-Software, die die Lüftergeschwindigkeit für diese Geräte steuern möchte. Es gibt eine Umbenennung von "oxpec" in "oxp_ec", so dass bestehende User-Space-Software einfach aufhört zu funktionieren, bis sie aktualisiert wird. Aber wir werden sehen, ob dieser Bruch von den HWMON-Maintainern und letztendlich von Torvalds selbst gebilligt wird. Kapenekakis erklärte den Bruch:
"Er führt ein kleines Refactoring durch, indem er switch-Anweisungen in ihre eigenen Funktionen verschiebt, um die Fixierung der pwm1_enable ABI im endgültigen Patch zu ermöglichen. Derzeit setzt pwm1_enable den Lüfter mit dem Wert 0 auf auto und erlaubt die manuelle Steuerung mit dem Wert 1. Mit diesem Patch wird der Lüfter bei 0 auf volle Geschwindigkeit, bei 1 auf manuelle Steuerung und bei 2 auf Auto gesetzt. Dies erfordert sowohl das Setzen von enable als auch der Lüftergeschwindigkeit, wenn das enable sysfs auf 0 geschrieben wird, daher die Umstrukturierung.
Da dies eine ABI-Änderung ist und es User-Space-Software gibt, die sich auf dieses frühere Verhalten verlässt, ändert der letzte Patch auch den /name des hwmon-Endpunkts auf "oxp_ec" von "oxpec" (was die WMI-Modulkonventionen widerspiegelt), so dass User-Space-Software, die sich auf das frühere Verhalten verlässt, auf den neuen Kernel umgerüstet werden kann, während die korrekte Funktionalität auf alten und neuen Kerneln ermöglicht wird. Andernfalls wird Software, die nicht aktualisiert wird, einfach aufhören, die Lüfter zu steuern, so dass ein bösartiges Verhalten ausgeschlossen ist.
Diejenigen, die OneXPlayer-Handhelds besitzen, können die neuen Patches auf der Linux-Energieverwaltungsliste finden.
Ein Service von s3n🧩net
Comments