Zum Hauptinhalt Zur Navigation

eBPF: Kernel-VM soll Eingabegeräte in Linux verbessern

Die eBPF-Technik ermöglicht tiefe Einsichten in Linux-Kernel -Funktionen. Nun soll eBPF den Support für Eingabegeräte wie das Surface Dial verbessern.
/ Sebastian Grüner
Kommentare News folgen (öffnet im neuen Fenster)
Der Linux-Kernel soll dank eBPF besser moderne Eingabegeräte unterstützen. (Bild: Pixabay)
Der Linux-Kernel soll dank eBPF besser moderne Eingabegeräte unterstützen. Bild: Pixabay

Der Hauptbetreuer des Linux-Kernel-Subsystems für Eingabegeräte (HID), Jiří Kosina, hat die Unterstützung für eBPF in den HID-Entwicklungszweig aufgenommen(öffnet im neuen Fenster) . Der Code dürfte dementsprechend mit Linux 6.2, wahrscheinlich im Februar 2023, erscheinen.

Der Code stammt von HID-Co-Betreuer Benjamin Tissoires und soll die Unterstützung neuartiger Eingabegeräte oder auch einfache Fehlerbehebungen deutlich vereinfachen. Details dazu stellte der Entwickler auf der diesjährigen Linux Plumbers Conf vor(öffnet im neuen Fenster) .

In der Dokumentation der zuletzt eingereichten und nun eingepflegten Patches(öffnet im neuen Fenster) heißt es, dass einige Eingabegeräte spezifische Optimierungen bräuchten. Bisher sei dies über Kernel-Treiber umgesetzt worden. "Die Verwendung der eBPF-Fähigkeiten beschleunigt stattdessen die Entwicklung und fügt den bestehenden HID-Schnittstellen neue Fähigkeiten hinzu" , heißt es weiter.

Bei eBPF handelt es sich um eine mittlerweile fast universell einsetzbare virtuelle Maschine (VM) im Linux-Kernel, die aus dem Berkeley Packet Filter (BPF) hervorging. Meist wird sie für Tracing-Funktionen und tiefe Einblicke in den Kernel selbst genutzt. Inzwischen wird dies auch für Windows umgesetzt . Die Nutzung von eBPF ermöglicht dabei aber im Grunde das Ausführen kleinerer Programme im Linux-Kernel.

Bessere Unterstützung dank eBPF

Genau das nutzt Tissoires nun aus. So lassen sich neue APIs aus dem Userspace in den Kernel laden, etwa für "tote Zonen" an Joysticks. Auch könnte dies genutzt werden, um neue Funktionen zum Kernel hinzuzufügen, die eigentlich eine komplett neue Kernel-API benötigten. Ebenso reiche für minimale Fehlerbehebungen auch nur ein eBPF-Programm, das theoretisch schneller verteilt werden könnte, als einzelne Patches immer wieder in ein Kernel-Release einzupflegen.

Anzeige

Linux: Das umfassende Handbuch von Michael Kofler. Für alle aktuellen Distributionen (Desktop und Server) (Deutsch)

Jetzt bestellen bei Amazon (öffnet im neuen Fenster)

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Letztlich, so schreibt Tissoires in der Dokumentation, könnten dank eBPF bestehende Geräte auf Seiten des Kernels in andere umgewandelt werden. Bisher seien diese Zuweisungen sehr statisch. Eine Maus bleibt also immer eine Maus. Die Patches erlaubten aber eine dynamische Transformation, je nach Einsatzzweck.

Tissoires nennt als Beispiel das Surface Dial von Microsoft . Dieses lässt sich zwar auch dank Tissoires prinzipiell seit Jahren in Linux nutzen . Die bisherige statische Zuweisung sei jedoch unbrauchbar, um das Gerät wie vorgesehen verwenden zu können. Künftig könnte das Gerät aber wie eine Maus fungieren und das Drehen wie ein Mausrad interpretiert werden, gleichzeitig könnte das haptische Feedback je nach Kontext zur Laufzeit umgesetzt werden. Dafür steht bereits Beispielcode bereit, der dies mit eBPF realisiert.


Relevante Themen